返回 MCP 目录
public公开dns本地运行

octo-mcp

Octo Browser的MCP服务器,允许AI助手通过自然语言控制Octo Browser配置文件,提供浏览器自动化、多账户管理和配置文件操作功能。

article

README

🚀 Octo Browser MCP 服务器

Octo Browser MCP 服务器是为 Octo Browser (一款用于多账户操作的反检测浏览器)打造的 MCP(模型上下文协议)服务器。该服务器能让像 Claude 这样的 AI 助手通过自然语言控制 Octo Browser 配置文件。

🚀 快速开始

要使用 Octo Browser MCP 服务器,你需要先完成安装和配置,然后添加 MCP 服务器并重启 Claude Code 以加载新工具。

✨ 主要特性

  • 配置文件管理:启动、停止和列出 Octo Browser 配置文件。
  • 按名称搜索:使用云 API 按名称查找配置文件(需要 API 令牌)。
  • 一次性配置文件:创建使用后即删除的临时配置文件。
  • 浏览器自动化:通过 CDP 实现基于 Playwright 的完整浏览器控制。
  • 截图捕获:对页面或元素进行截图。
  • 多标签支持:管理多个浏览器标签。
  • Docker 兼容:可与在 Docker 或远程主机上运行的 Octo Browser 配合使用。

📦 安装指南

从 PyPI 安装

pip install octo-mcp

从源代码安装

git clone https://github.com/anthropics/octo-mcp.git
cd octo-mcp
pip install -e .

安装 Playwright

playwright install chromium

🛠️ 配置说明

环境变量

| 变量 | 描述 | 是否必需 | 默认值 | |------|------|----------|---------| | OCTO_HOST | Octo Browser 主机 | 否 | localhost | | OCTO_PORT | 本地 API 端口 | 否 | 58888 | | OCTO_USERNAME | Octo 账户邮箱(用于自动登录) | 否 | - | | OCTO_PASSWORD | Octo 账户密码 | 否 | - | | OCTO_API_TOKEN | 云 API 令牌(用于按名称搜索配置文件) | 否 | - |

获取 API 令牌

  1. 打开 Octo Browser。
  2. 转到 设置API
  3. 复制你的 API 令牌。

仅在按名称搜索配置文件时需要 API 令牌,基本的配置文件操作无需此令牌。

💻 使用示例

添加 MCP 服务器

# 基本设置(仅本地 API)
claude mcp add octo-mcp -- python -m octo_mcp.server

# 带身份验证(推荐)
claude mcp add octo-mcp \
  -e OCTO_USERNAME="your@email.com" \
  -e OCTO_PASSWORD="your_password" \
  -- python -m octo_mcp.server

# 带云 API 的完整设置(支持按配置文件名称搜索)
claude mcp add octo-mcp \
  -e OCTO_USERNAME="your@email.com" \
  -e OCTO_PASSWORD="your_password" \
  -e OCTO_API_TOKEN="your_api_token" \
  -- python -m octo_mcp.server

重启 Claude Code

添加 MCP 服务器后,重启 Claude Code 以加载新工具。

🛠️ 可用工具

配置文件管理

| 工具 | 描述 | |------|------| | octo_health_check | 检查 Octo Browser 是否正在运行 | | octo_list_profiles | 列出活动(正在运行)的配置文件 | | octo_start_profile | 按 UUID 启动配置文件 | | octo_stop_profile | 停止正在运行的配置文件 | | octo_start_one_time_profile | 创建并启动临时配置文件 |

配置文件搜索(需要 API 令牌)

| 工具 | 描述 | |------|------| | octo_find_profile_by_name | 按精确名称查找配置文件 | | octo_start_profile_by_name | 按名称查找并启动配置文件 | | octo_search_profiles | 按名称或标签搜索配置文件 |

浏览器连接

| 工具 | 描述 | |------|------| | browser_connect | 通过 CDP 连接到正在运行的配置文件 | | browser_disconnect | 断开与浏览器的连接 |

导航

| 工具 | 描述 | |------|------| | browser_navigate | 转到指定 URL | | browser_get_url | 获取当前 URL | | browser_go_back | 后退导航 | | browser_go_forward | 前进导航 | | browser_reload | 重新加载页面 |

交互

| 工具 | 描述 | |------|------| | browser_click | 点击元素或坐标 | | browser_type | 在元素中输入文本 | | browser_press_key | 按下键盘按键(如 Enter、Tab 等) | | browser_scroll | 滚动页面或元素 | | browser_hover | 悬停在元素上 | | browser_select | 在下拉菜单中选择选项 |

信息提取

| 工具 | 描述 | |------|------| | browser_screenshot | 截图(返回图像) | | browser_get_text | 获取元素的文本内容 | | browser_get_html | 获取页面或元素的 HTML | | browser_get_attribute | 获取元素的属性 | | browser_query_selector_all | 查找所有匹配的元素 | | browser_wait_for_selector | 等待元素出现 |

JavaScript

| 工具 | 描述 | |------|------| | browser_evaluate | 执行 JavaScript 并返回结果 |

标签管理

| 工具 | 描述 | |------|------| | browser_list_tabs | 列出打开的标签 | | browser_switch_tab | 按索引切换到标签 | | browser_new_tab | 打开新标签 | | browser_close_tab | 关闭当前标签 |

💬 示例对话

用户:启动我的配置文件 "work_account" 并访问 google.com

Claude:我将启动配置文件并导航到 Google。

[使用 octo_start_profile_by_name,名称为 "work_account"]
配置文件 'work_account' 已启动。
WebSocket 端点:ws://localhost:52341/devtools/browser/abc123

[使用 browser_connect 连接到 WebSocket 端点]
已连接到浏览器。

[使用 browser_navigate 访问 url="https://google.com"]
已导航到 https://google.com

[使用 browser_screenshot]
[显示 Google 主页的截图]

配置文件正在运行并显示 Google 主页。

🐳 Docker / 远程设置

如果 Octo Browser 在不同的主机(如 Docker 中)上运行,请设置 OCTO_HOST 变量:

claude mcp add octo-mcp \
  -e OCTO_HOST="192.168.1.100" \
  -e OCTO_USERNAME="your@email.com" \
  -e OCTO_PASSWORD="your_password" \
  -- python -m octo_mcp.server

服务器会自动将 WebSocket URL 从 127.0.0.1 重写为配置的主机。

🐞 故障排除

"Octo Browser API 不可用"

确保 Octo Browser 正在运行。打开应用程序时,本地 API 会自动启动。

"OCTO_API_TOKEN 未设置"

在未使用 API 令牌的情况下使用 octo_find_profile_by_nameocto_search_profiles 时会出现此错误。你可以:

  1. 将 API 令牌添加到 MCP 配置中。
  2. 使用 octo_start_profile 和 UUID 代替(从 Octo Browser UI 获取 UUID)。

"配置文件未找到"

配置文件名称必须完全匹配(区分大小写)。使用 octo_search_profiles 查找可用的配置文件。

WebSocket 连接失败

如果 Octo Browser 在不同的主机上运行:

  1. 确保端口 58888 可访问。
  2. 确保 CDP 端口(每个配置文件随机)可访问。
  3. OCTO_HOST 设置为正确的 IP 地址。

🛠️ 开发指南

环境搭建

git clone https://github.com/anthropics/octo-mcp.git
cd octo-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

运行测试

pytest

代码风格检查

ruff check .
ruff format .

📄 许可证

本项目采用 MIT 许可证,请参阅 LICENSE 文件了解详细信息。

🔗 相关链接

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端