返回市场
通行证-mcp

通行证-mcp

作者:JoshMayerr37 星标更新:2025-02-01

项目介绍

PassportMCP

PassportMCP(ppmcp)允许您为任何给定网站构建MCP服务器,并自动同步浏览器认证。每个网站都在适用范围内。它封装了FastMCP,并自动添加必要的认证头和来自浏览器的cookie到出站请求中。只要您通过浏览器登录,就可以立即使用。通常比购买开发者API(例如:twitter/X)更简单,可以避免速率限制、等待审批,或者对于没有API的站点来说非常有用。

不构建MCP服务器?您可以使用超轻量级的BrowserPassport HTTP客户端!向下滚动

功能

  • 🔐 自动浏览器认证同步
  • 🛠️ 正常的MCP工具创建
  • 🌐 可以与任何网站配合使用
  • 🔄 始终使用最新的认证状态
  • 🍪 处理cookie和头部信息
  • 🔒 所有凭证都保留在您的机器上

快速开始

  1. 安装包
pip install ppmcp
  1. 设置本地消息传递和认证同步
ppmcp setup  # 使用Chrome Web Store扩展进行设置
  1. 启用请求监控

    • 点击Chrome中的PassportMCP扩展图标
    • 开启“监控请求”
    • 访问并登录目标网站
  2. 创建您的第一个MCP工具

from passportmcp import PassportMCP

# 创建一个MCP实例
mcp = PassportMCP("example", "example.com")

# 定义一个工具
@mcp.tool()
async def get_data():
    response = mcp.client.get("https://example.com/api/data")
    return response.json()

安装选项

选项1:Chrome Web Store扩展(推荐)

pip install ppmcp
ppmcp setup

选项2:本地开发

  1. 构建扩展
git clone https://github.com/joshmayerr/passport-mcp.git
cd extension
npm install
npm run build  # 或者使用npm run dev进入监听模式
  1. 在Chrome中加载

    • 打开Chrome并前往chrome://extensions
    • 在右上角启用“开发者模式”
    • 点击“加载已解压的扩展程序”并选择extension/dist目录
    • 注意Chrome中显示的扩展ID(位于扩展名称下方)
  2. 设置本地消息传递

ppmcp setup --local --extension-id=your_extension_id
# 或者
ppmcp setup --local  # 您会被提示输入ID

CLI命令

  • ppmcp setup - 设置本地消息传递
  • ppmcp doctor - 检查安装状态
  • ppmcp uninstall - 卸载PassportMCP

工作原理

PassportMCP主要由三个组件构成:

  1. Chrome扩展

    • 监控网络请求
    • 捕获认证状态
    • 发送到本地主机
  2. 本地主机

    • 接收扩展的数据
    • 存储认证状态
    • 向SDK提供数据
  3. SDK

    • PassportMCP:高级MCP工具创建
    • BrowserPassport:低级认证处理

高级示例:LinkedIn API

from passportmcp import PassportMCP

mcp = PassportMCP("linkedin", "linkedin.com")

@mcp.tool()
async def search_linkedin(query: str):
    response = mcp.client.get(
        "https://www.linkedin.com/voyager/api/graphql",
        params={
            "includeWebMetadata": "true",
            "variables": "()",
            "queryId": "voyagerDashMySettings.7ea6de345b41dfb57b660a9a4bebe1b8"
        }
    )
    return response.json()

BrowserPassport HTTP客户端

对于不需要MCP工具的简单用例,可以直接使用轻量级的BrowserPassport HTTP客户端:

from passportmcp import BrowserPassport

# 初始化客户端
client = BrowserPassport()

# 发送认证请求
response = client.get("https://api.example.com/data")
data = response.json()

功能

  • 🔄 自动从浏览器注入凭证
  • 🌳 基于路径的凭证继承
  • 🛠️ 支持所有HTTP方法(GET, POST, PUT, DELETE)
  • 🔒 本地存储凭证
  • 🚀 基于httpx实现现代HTTP功能

高级用法

# 自定义配置
client = BrowserPassport(
    storage_path="~/custom/path/creds.json",
    timeout=6.0,
    verify=True  # SSL验证
)

# 自定义头部/cookie(覆盖存储的)
response = client.post(
    "https://api.example.com/data",
    headers={"Custom-Header": "value"},
    cookies={"custom_cookie": "value"},
    json={"key": "value"}
)

安全性

  • ✅ 凭证永远不会离开您的机器
  • ✅ 没有云存储或传输
  • ✅ 仅限授权域
  • ✅ LLMs不会看到您的凭证

与Anon和Rabbit等服务不同,这些服务会将账户自动化到云端,而PassportMCP则保持一切本地化和安全。

开发

对于SDK开发:

cd sdks/python
pip install -e .

项目结构

passport-mcp/
├── extension/            # Chrome扩展
├── sdks/
│   ├── python/          # Python SDK
│   └── typescript/      # TypeScript SDK(即将推出)
└── shared/
    └── native-host/     # 本地消息传递主机

路线图

  • TypeScript SDK
  • Firefox扩展
  • Safari扩展
  • 认证状态共享
  • 企业特性
  • 更多语言的SDK

许可证

MIT许可证 - 详情见LICENSE