浏览器会话转MCP工具

AutoMCP 2.0 是一款将浏览器会话转换为生产就绪的MCP工具的工具,无需API文档或SDK。

  • by Space-Paragon1
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Space-Paragon1/AutoMCP

使用说明

自动MCP 2.0

自动MCP 2.0 将浏览器会话转化为MCP工具。在任何web应用程序上录制会话,让Claude分析流量,查看生成的规格,并将其作为生产就绪 MCP(模型上下文协议) 工具-无需API文档,无需SDK。


运作原理

automcp record  →  automcp analyze  →  automcp review  →  automcp generate  →  automcp serve
     │                   │                   │                   │                   │
  Playwright          Claude API         Approve /           Jinja2 →           FastMCP
  captures            produces           rename /            .py files           SSE server
  traffic             ToolSpec JSON      skip each           (AST validated)     on :8000
                      (not raw code)     spec

所有状态都保存到本地SQLite数据库。除Anthropic API调用外,在 analyze.


安装

pip install -e .
playwright install chromium
cp .env.example .env
# Edit .env — set AUTOMCP_ANTHROPIC_API_KEY=sk-ant-...

完整命令参考

record --捕获浏览器流量

automcp record https://app.example.com
automcp record https://app.example.com --project myapp
automcp record https://app.example.com --headless

Chromium窗口打开。登录,点击,执行您想要自动化的操作。完成后关闭浏览器窗口。AutoMCP将每个HTTP请求/响应以及Cookie和DOM快照保存到SQLite。

录制后打印会话ID。在所有后续命令中使用前8个字符作为速记。


sessions --列出录制的会话

automcp sessions

analyze --使用Claude生成工具规格

automcp analyze <session_id>
automcp analyze <session_id> --min-confidence 0.7
automcp analyze <session_id> --output my_specs.json

过滤掉噪声(分析、重定向、错误),按URL模式对端点进行聚类,然后调用Claude生成结构化 ToolSpec 每个端点都是JSON,而不是原始代码。规格保存到 generated/specs/ 以及数据库。


review --交互式批准规格

automcp review <session_id>

逐一浏览每个规范。对于每一个,您可以:

  • approve --将其包含在下一次生成运行中
  • rename --更改工具名称和用途
  • readonly --将其标记为只读工具
  • skip --排除它

只有经过批准的规格才会生成到工具中。


generate --渲染Python工具文件

automcp generate <session_id>
automcp generate <session_id> --output-dir ./my_tools

为每个批准的规范呈现Jinja2模板,在中生成一个独立的异步Python文件 generated/tools/每个文件都经过AST分析验证(否 exec()).


serve --启动MCP服务器

automcp serve
automcp serve --port 9000

通过加载所有已验证的工具文件 importlib 并将其注册到FastMCP服务器。MCP终点为:

http://127.0.0.1:8000/sse

连接克劳德桌面: 将此添加到 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "automcp": {
      "url": "http://127.0.0.1:8000/sse"
    }
  }
}

编辑配置后重新启动Claude Desktop。保持 automcp serve 在终端中运行。


test --以交互方式运行工具

automcp test <tool_name>

提示输入,使用记录的身份验证Cookie对实时网站执行工具,并打印响应。执行记录到数据库中。


ui --Web仪表板

automcp ui
automcp ui --port 7860

在以下位置打开深色主题仪表板 http://127.0.0.1:7860 与:

  • 会话浏览器
  • 带内联批准/只读切换的规格表
  • 带有语法高亮显示源代码的工具查看器
  • 包含成功率和持续时间统计信息的执行日志
  • 项目概览

project-create --按项目组织会议

automcp project-create myapp --description "My app automation"
automcp record https://myapp.com --project myapp

secret-set / secret-get / secret-list --加密保管库

automcp secret-set MY_API_KEY sk-...
automcp secret-get MY_API_KEY
automcp secret-list

秘密使用Fernet对称加密进行加密。关键在于 .vault.key 商店在 .vault.json --两个git都忽略了。


logs --执行历史

automcp logs
automcp logs --tool get_current_member --limit 50

认证管理

检查凭据是否仍然有效

automcp auth-check <session_id>
automcp auth-check <session_id> --probe https://trello.com/1/members/me

刷新过期的凭据

automcp auth-refresh <session_id>

重新打开浏览器,以便您可以再次登录。更新存储的Cookie,而不会丢失生成的工具。

检查API漂移

automcp drift-check <session_id>

向每个记录的GET端点发出实时请求,并将响应模式与记录的模式进行比较。标记API已更改的任何终结点。

多型号支持

automcp analyze <session_id>                          # default: Anthropic
automcp analyze <session_id> --provider openai        # requires AUTOMCP_OPENAI_API_KEY
automcp analyze <session_id> --provider gemini        # requires AUTOMCP_GEMINI_API_KEY

建筑

core/
  recorder/       Playwright session, network capture, DOM snapshot, action mapper
  analyzer/       Event classifier, endpoint clusterer, LLM spec builder
  auth/           Cookies, CSRF, headers, localStorage/sessionStorage, vault
  codegen/        Jinja2 generator, AST validator, templates/
  runtime/        importlib tool loader, registry, FastMCP server
  storage/        Pydantic v2 models, aiosqlite database

apps/
  cli/            Typer CLI (record, analyze, review, generate, serve, test, ui, ...)
  web/            FastAPI dashboard + Jinja2 templates

generated/
  specs/          JSON tool spec files (intermediate representation)
  tools/          Generated Python MCP tool files

关键设计决策:

  • Claude只生成结构化的JSON规范,从不生成原始代码
  • 代码由Jinja2模板确定性生成
  • 不 exec() --工具装载通道 importlib.util
  • Auth是一个可插入的策略引擎(Cookie、承载、API密钥、CSRF)
  • 工具质量评分:有用性×稳定性×副作用风险

环境变量

变量 默认值 描述
AUTOMCP_ANTHROPIC_API_KEY (必填) 无烟煤API键
AUTOMCP_LLM_MODEL claude-opus-4-5 克劳德分析模型
AUTOMCP_DB_PATH automcp.db SQLite数据库路径
AUTOMCP_SERVER_HOST 127.0.0.1 MCP服务器主机
AUTOMCP_SERVER_PORT 8000 MCP服务器端口
AUTOMCP_MIN_CONFIDENCE_THRESHOLD 0.5 最低规格置信度
AUTOMCP_LOG_LEVEL INFO 日志冗长