护照MCP
PassportMCP(ppmcp)允许您为任何给定的网站构建MCP服务器,并自动进行浏览器身份验证同步。每个网站都是公平的游戏。它封装了FastMCP,并自动从浏览器向出站请求添加必要的身份验证标头和Cookie。只要您通过浏览器登录,就可以使用它。通常比为开发人员API(例如:twitter/X)付费更容易,避免费率限制,等待批准,或者非常适合没有API的网站。
不构建MCP服务器?你可以使用超轻的 BrowserPassport 改为http客户端! 向下滚动
特性
- 🔐 自动浏览器身份验证同步
- 🛠️ 正常MCP工具创建
- 🌐 适用于任何网站
- 🔄 始终使用最新的身份验证状态
- 🍪 处理Cookie和标头
- 🔒 所有凭据都保留在您的计算机上
快速开始
- 安装软件包
pip install ppmcp- 设置本机消息和身份验证同步
ppmcp setup # Sets up with Chrome Web Store extension- 启用请求监控
- 在Chrome中单击PassportMCP扩展程序图标 - 打开“监视器请求” - 访问并登录您的目标网站
- 创建您的第一个MCP工具
from passportmcp import PassportMCP
# Create an MCP instance
mcp = PassportMCP("example", "example.com")
# Define a tool
@mcp.tool()
async def get_data():
response = mcp.client.get("https://example.com/api/data")
return response.json()安装选项
选项1:Chrome网上商店扩展程序(推荐)
pip install ppmcp
ppmcp setup方案2:地方发展
- 构建扩展
git clone https://github.com/joshmayerr/passport-mcp.git
cd extension
npm install
npm run build # or npm run dev for watch mode- 在Chrome中加载
- 打开Chrome浏览器并转到 chrome://extensions - 启用右上角的“开发人员模式” - 点击“加载解包”并选择 extension/dist 目录 - 注意Chrome中的扩展程序ID(显示在扩展程序名称下)
- 设置本机消息
ppmcp setup --local --extension-id=your_extension_id
# OR
ppmcp setup --local # You'll be prompted for the IDCLI命令
ppmcp setup-设置本地消息传递ppmcp doctor-检查安装状态ppmcp uninstall-删除PassportMCP
运作原理
PassportMCP由三个主要组件组成:
- Chrome 扩展
- 监视web请求 - 捕获身份验证状态 - 发送到本机主机
- 本地主机
- 从扩展接收数据 - 存储身份验证状态 - 向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
# Initialize the client
client = BrowserPassport()
# Make authenticated requests
response = client.get("https://api.example.com/data")
data = response.json()特性
- 🔄 从浏览器自动注入凭据
- 🌳 基于路径的凭证继承
- 🛠️ 完全支持HTTP方法(GET、POST、PUT、DELETE)
- 🔒 本地凭据存储
- 🚀 建立在
httpx用于现代HTTP功能
高级用法
# Custom configuration
client = BrowserPassport(
storage_path="~/custom/path/creds.json",
timeout=60.0,
verify=True # SSL verification
)
# Custom headers/cookies (override stored ones)
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 extension
├── sdks/
│ ├── python/ # Python SDK
│ └── typescript/ # TypeScript SDK (coming soon)
└── shared/
└── native-host/ # Native messaging host路线图
- \[\]TypeScript SDK
- \[\]Firefox扩展
- \[\]Safari扩展程序
- \[\]身份验证状态共享
- \[\]企业功能
- \[\]更多语言SDK
许可证
MIT许可证-请参阅 许可证 详见
