浏览器2mcp
将任何网站转换为MCP服务器。浏览一个站点,浏览2mcp记录API流量,并为它看到的每个端点生成一个完全工作的MCP服务器和工具。
运作原理
- 记录 -打开浏览器,正常使用网站,它会捕获所有API请求
- 生成 --分析捕获的流量,并为每个端点生成一个带有一个工具的TypeScript MCP服务器
- 使用 -将生成的服务器连接到Claude Desktop(或任何MCP客户端),并通过自然语言与API交互
browse2mcp处理REST和GraphQL,检测身份验证模式,烘焙捕获的令牌以实现零配置使用,并包含 login 工具,这样您就可以刷新过期的令牌而无需重新记录。
安装
git clone https://github.com/danielthedm/browse2mcp.git
cd browse2mcp
npm install
npx playwright install chromium快速开始
1.录制会话
npx tsx bin/browse2mcp.ts record https://app.example.com -o my-session.json浏览器打开。使用该网站——点击、加载数据、与功能交互。完成后,关闭浏览器。所有API流量都保存到会话文件中。
选项:
| 标志 | 描述 |
|---|---|
| `-o, --output | |
| ` | 输出会话文件(默认值: session.json) |
-p, --profile | 持久浏览器配置文件——在会话之间保存登录信息 |
| `-c, --connect | |
| ` | 连接到此调试端口上正在运行的Chrome实例 |
-v, --verbose | 详细日志记录 |
2.生成MCP服务器
npx tsx bin/browse2mcp.ts generate my-session.json -o my-mcp --name my-server --full这会分析记录的流量,生成一个TypeScript MCP服务器,安装依赖项,构建它,并提示您将其添加到Claude Desktop配置中。
选项:
| 标志 | 描述 |
|---|---|
| `-o, --output | |
| ` | 输出目录(带 --full)或文件路径(默认值: mcp-server.ts) |
--full | 生成一个完整的项目 package.json, tsconfig.json等等。 |
--name | 服务器名称(默认值: my-mcp-server) |
--refine | 强制LLM细化工具描述(需要 ANTHROPIC_API_KEY) |
--no-refine | 跳过LLM细化 |
-v, --verbose | 详细日志记录 |
3.使用它
生成后,该工具会自动将服务器添加到您的Claude Desktop配置中。重新启动Claude Desktop,工具立即可用。
生成什么
- 每个端点一个工具 --REST端点获取
list_users,get_user,create_post等等。GraphQL操作使用操作名(get_users,create_user) - 身份验证处理 --检测到的身份验证令牌已内置。A
login该工具允许您打开浏览器并在令牌过期时重新进行身份验证 - 令牌持久性 --来自
login工具保存到~/.browse2mcp/tokens/并自动使用 - 零配置 --生成的服务器可以开箱即用,不需要环境变量
身份验证令牌优先级
检测到身份验证时,生成的服务器将按以下顺序解析令牌:
- 持久令牌文件(
~/.browse2mcp/tokens/.json)--由login工具 - 环境变量(例如。
API_TOKEN) - 录制过程中捕获的烘烤令牌
例子
从任何web应用程序记录和生成
# Record
npx tsx bin/browse2mcp.ts record https://app.example.com -o my-session.json -p my-app
# Generate
npx tsx bin/browse2mcp.ts generate my-session.json -o my-mcp --name my-app --full使用持久浏览器配置文件
npx tsx bin/browse2mcp.ts record https://app.example.com -p my-profile这 -p 标志将浏览器状态(Cookie、本地存储)保存到 ~/.browse2mcp/profiles/my-profile/。下次使用相同的配置文件录制时,您已经登录。
连接到现有的Chrome
# Start Chrome with remote debugging
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
# Connect browse2mcp to it
npx tsx bin/browse2mcp.ts record https://app.example.com -c 9222发展
npm test # Run tests
npm run test:watch # Watch mode
npm run build # Compile TypeScript许可证
麻省理工学院
