浏览器自动化服务

Comet MCP Server是一个连接Claude Desktop/Code与Perplexity Comet浏览器的服务,通过Chrome DevTools Protocol实现AI驱动的网页搜索、导航、内容阅读、元素点击和截图等功能。

  • by AdilShaikh1
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 AdilShaikh1/comet-mcp-desktop

使用说明

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
  1. Comet MCP服务器 自动启动Comet,在端口9222上进行远程调试
  2. 通过以下方式连接到Comet Chrome 开发者工具协议 使用剧作家
  3. 克劳德 通过MCP stdio传输与服务器通信
  4. 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-browser
Test tier breakdown
级别 测试 覆盖范围
1a 静态核心 11 语法、导入、工具注册、异步、错误处理
1b 静态过滤器 9 注入检测、误报、信任分类
2a Live Browser 17 针对Comet实例的所有11个工具
2b 实时过滤器 8 E2E注入/隐藏文本检测,安全扫描

故障排除

"Could not connect to Comet"

Comet会自动启动,但如果失败:

  • 检查Comet是否已安装
  • 检查端口9222是否空闲
  • 集 COMET_PATH env-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个类别

文档

文档 描述
工具参考 所有11个工具的完整API文档,包括参数、默认值和示例
安全 Web内容信任策略、威胁类别、信任级别、添加模式
配置 环境变量、平台支持、MCP配置、参数验证
贡献 如何贡献、开发设置、代码指南

许可证

麻省理工学院