Comet MCP Server
Give Claude a browser that thinks.
An MCP server connecting Claude Desktop/Code to Perplexity's Comet browser via Chrome DevTools Protocol.
Search the web with AI, navigate pages, read content, click elements, and take screenshots.
Quick Start · Tools · API Docs · Security · Configuration
Comet MCP没有使用静态搜索API,也没有使用原始浏览器自动化来压倒Claude的上下文 正在浏览“困惑彗星”的代表.Claude专注于你的编码任务,而Comet则负责导航、动态内容和人工智能驱动的研究。
运作原理
Claude Desktop/Code ←── MCP (stdio) ──→ Comet MCP Server ←── CDP (9222) ──→ Comet Browser- Comet MCP服务器 自动启动Comet,在端口9222上进行远程调试
- 通过以下方式连接到Comet Chrome 开发者工具协议 使用剧作家
- 克劳德 通过MCP stdio传输与服务器通信
- Claude可以在Comet浏览器中搜索、导航、阅读、点击、键入、评估JS和截图
快速开始
1.配置克劳德桌面/Claude代码
克劳德桌面版 --添加到您的配置文件中:
| 平台 | 配置路径 |
|---|---|
| 窗户 | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
{
"mcpServers": {
"comet": {
"command": "uvx",
"args": ["comet-mcp-desktop"]
}
}
}克劳德代码 --添加到 ~/.claude.json 或 .mcp.json 在项目根目录中:
{
"mcpServers": {
"comet": {
"command": "uvx",
"args": ["comet-mcp-desktop"]
}
}
}需要 uvMCP服务器和所有依赖项在首次运行时自动安装。2.安装Comet浏览器
下载并安装 困惑彗星.
就这样 服务器在需要时自动启动Comet并进行远程调试。
Manual setup from source
git clone https://github.com/AdilShaikh1/comet-mcp-desktop.git
cd comet-mcp-desktop
uv sync
uv run playwright install chromium看 配置 用于完整路径设置和环境变量。
可用工具
| 工具 | 说明 |
|---|---|
comet_connect | 通过CDP连接到Comet(必要时自动启动) |
comet_search | 通过困惑搜索——返回AI生成的结果 |
comet_navigate | 导航到任何URL |
comet_read_page | 使用可选的CSS选择器提取页面文本 |
comet_screenshot | 截图(base64 PNG) |
comet_click | 通过CSS选择器或文本单击元素 |
comet_type | 在输入字段中键入 |
comet_tabs | 列出、打开、切换或关闭选项卡 |
comet_evaluate | 在页面上下文中运行JavaScript |
comet_wait | 等待元素或固定延迟 |
comet_security_scan | 深度扫描隐藏文本和注入模式 |
完整的参数文档: 工具参考
示例用法
| 你说 | 克劳德说 |
|---|---|
| *“搜索困惑,了解最新的人工智能新闻”* | comet_search --等待困惑,返回AI合成答案 |
| *“打开黑客新闻并总结头版”* | comet_navigate + comet_read_page |
| *“单击第一个链接并阅读文章”* | comet_click + comet_read_page |
| *“截取您所看到的屏幕截图”* | comet_screenshot --通过原始CDP捕获 |
| *“这个页面安全吗?”* | comet_security_scan --检查隐藏文本和注入 |
Web内容信任策略
所有网络内容都通过 ContentFilter 在到达克劳德之前——对通过网页迅速注射的深度防御。
Comet Browser ──→ raw text ──→ ContentFilter.sanitize() ──→ security header + cleaned text ──→ Claude| 信任级别 | 标准 |
|---|---|
| 高 | .gov, .edu,arxiv,英国广播公司,路透社,国立卫生研究院 |
| 标准 | 知名公司,未知的干净域名 |
| 低 | wordpress,媒体,reddit,quora |
| 不受信任 | 检测到喷射模式(自动降级) |
过滤器扫描 39种注射方式 穿过 12种威胁类别 包括直接注入、权限欺骗、数据泄露、分隔符注入等。
详细信息: 安全文档
如何比较
| 功能 | 搜索API | 浏览器MCP | MCP彗星 |
|---|---|---|---|
| 人工智能搜索 | 各不相同 | 否 | 困惑AI |
| 交互式浏览 | 否 | 是 | 是 |
| 上下文窗口影响 | 低 | 高 | 低 |
| 截图 | 否 | 是 | 是 |
| 安全过滤 | 否 | 否 | 是 |
| 单击/键入/导航 | 否 | 是 | 是 |
彗星MCP让克劳德进入 困惑的人工智能搜索 通过多代理委托保持Claude的上下文窗口干净。
测试
45测试 --20个静态测试+25个端到端浏览器测试。
uv run python test_comet.py --with-browserTest tier breakdown
| 级别 | 测试 | 覆盖范围 |
|---|---|---|
| 1a 静态核心 | 11 | 语法、导入、工具注册、异步、错误处理 |
| 1b 静态过滤器 | 9 | 注入检测、误报、信任分类 |
| 2a Live Browser | 17 | 针对Comet实例的所有11个工具 |
| 2b 实时过滤器 | 8 | E2E注入/隐藏文本检测,安全扫描 |
故障排除
"Could not connect to Comet"
Comet会自动启动,但如果失败:
- 检查Comet是否已安装
- 检查端口9222是否空闲
- 集
COMET_PATHenv-var用于非标准安装 - 验证:打开
http://localhost:9222/json
Screenshot hangs
使用原始CDP Page.captureScreenshot 以避免Playwright字体渲染器挂起。确保您使用的是最新版本。
Connection lost
呼叫 comet_connect 无需重新启动即可重新连接。
Slow search results
困惑的答案需要5-15秒。默认 wait_seconds=10。对于复杂的查询,增加到15-20。
技术栈
| 组件 | 技术 |
|---|---|
| 运行时 | Python 3.14+ uv |
| 浏览器自动化 | 剧作家(CDP) |
| MCP传输 | mcp[cli] SDK(标准输入) |
| 截图 | 原始CDP Page.captureScreenshot |
| 内容安全 | ContentFilter --39种图案,12个类别 |
