关于 Chrome MCP Server
Chrome MCP Server 是用于与 Chrome 交互的实验性 MCP 服务,面向希望在 Cursor 中检查网页的开发者。项目包含用于学习协议的演示实现,以及基于 MCP Python SDK 的较完善实现。
主要功能
- 01与 Chrome 交互
- 02网页截图
- 03MCP 协议演示
- 04基于 SDK 的实现
适用场景
- 01在 Cursor 中截取网页
- 02验证网页实现
- 03了解 MCP 初始化和工具
MCP 相关
向 MCP 客户端提供 Chrome 交互能力。项目包含功能有限的演示实现,以及基于 MCP Python SDK 的较完善版本。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Chrome MCP Server
我们正在构建一个用于与 Chrome 交互的服务。本项目有两个主要目标:
- 提供一种不依赖 Anthropic 提供的 MCP 库的 MCP 实现。
- 创建一个 Chrome MCP 服务,以便我们在 Cursor 中使用它来截取页面截图并验证实现。
说明
这不是 MCP 协议的参考实现,而是一次学习练习,目的是更好地了解该协议及其工作方式。
更完善的实现位于 app 文件夹中。
演示实现
这是一个简单的 MCP 协议实现,因此我们 并未实现 MCP 协议的所有功能。我们专注于构建第一批功能,以便实现一个可正常运行的版本。
运行以下命令即可启动:
uv run uvicorn demo_implementation.main:app --reload
然后运行 MCP inspector 进行测试:
npx @modelcontextprotocol/inspector node build/index.js
进入 inspector 后,你可以使用以下 URL 连接到我们的服务:http://0.0.0.0:8000
工作原理
演示实现包含两个主要组件:
- 用于将消息从服务发送到客户端的事件流。
- 用于将消息从客户端发送到服务的 POST 端点。
该实现专注于实现初始化流程和工具。我们没有尝试实现其他功能。 初始化流程分为三个部分:
- 首先调用
/sse端点以获取会话 URI。 - 客户端向服务发送
initialize消息,服务会回复其支持的功能。 - 客户端向服务发送
notifications/initialized消息,通知初始化已完成。
实现这些之后,客户端便可以开始向服务发送消息以使用工具。
演示实现的局限性
演示实现存在一些局限性,包括缺少错误处理、未能充分清理会话等。
我们在 app/main.py 中添加了更完善的实现,该实现依赖 MCP Python SDK。
更完善的实现
更完善的实现依赖 MCP Python SDK 来处理连接和消息。
该实现位于 app/main.py 中。
工作原理
这要简单得多,因为我们只需定义三个用作工具的函数。定义好这些函数后,我们可以通过运行 app/main.py 文件来测试
该实现:
# Start the server
mcp run app/main.py --transport sse
然后在另一个终端中启动 MCP inspector:
npx @modelcontextprotocol/inspector node build/index.js
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。