Angular Grab MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- 该仓库中的 MCP 服务器实现了一个可运行的後端服务,负责接收前端抓取数据、维护历史记录,并通过 MCP 协议向 AI 客户端(如 Claude Code、Cursor、Windsurf 等)提供查询与调用工具的能力。核心包括一个以 JSON-RPC 方式工作的 MCP 服务器,以及一个接收前端抓取的 webhook 服务。
-
主要功能点
- MCP 协议核心支持:实现 ListTools 和 CallTool 等 MCP 请求的处理,返回符合 MCP 约定的响应结构,支持查询、获取和统计等工具。
- webhook 抓取接收:提供 HTTP webhook 监听端口,前端将抓取的上下文数据通过 http POST 发送到服务器,服务器将其保存在历史中。
- 历史与上下文存储:将抓取历史持久化到本地文件,支持按最大条目数截断、快速查询等。
- 工具集成:暴露 angular_grab_search、angular_grab_recent、angular_grab_get、angular_grab_stats 等工具,便于 MCP 客户端进行历史检索与上下文获取。
- 兼容性与扩展:通过可选插件、Webhook、StdIO 通道等方式与外部系统对接,易于在不同开发环境中部署。
-
安装步骤
- 安装依赖
- 在项目根目录执行安装依赖的命令(如 npm install / pnpm install / yarn install),确保 Node.js 环境就绪。
- 构建 MCP 服务器
- 在包含 MCP 服务器的包(mcp-server)内执行构建命令,将 TypeScript/源码编译为可执行的 JS 产物。
- 启动 MCP 服务器
- 使用生成的可执行文件启动服务器,例如通过 Node.js 运行打包后的入口文件,此时控制台会输出服务器已启动的提示信息。
- 配置 MCP 客户端
- MCP 客户端(如 Claude Code、Cursor、Windsurf 等)需要将该 MCP 服务器以一个标准 MCP 服务注册到客户端。客户端配置通常包含:
- 服务器名称(server name)
- 启动命令(command)
- 参数(args) 下面给出示例配置(JSON,供 MCP 客户端直观理解,客户端不需要直接执行代码):
- 服务器名称:angular-grab
- 启动命令及参数注释(JSON 表达,含注释):该注释说明仅供参考,客户端实际使用时无需包含注释 { "servers": { "angular-grab": { "type": "stdio", "command": "npx", "args": ["-y", "@nacho-labs/angular-grab-mcp@latest"] } // 注释:以上为 MCP 客户端用于启动该 MCP 服务的配置信息 } }
- MCP 客户端(如 Claude Code、Cursor、Windsurf 等)需要将该 MCP 服务器以一个标准 MCP 服务注册到客户端。客户端配置通常包含:
- 使用 MCP 客户端与服务器交互
- 启动后,MCP 客户端通过标准 MCP 的 JSON-RPC 调用来查询历史、获取最近抓取、检索特定抓取并获取统计信息。
- 客户端也可以通过配置的工具调用,触发服务器端返回相应的结果内容。
- 安装依赖
-
基本使用方法
- 向 MCP 客户端提供配置后,客户端即可通过 MCP 的 JSON-RPC 调用与服务器进行交互,例如:
- 查询抓取历史、获取最近条目、按条件检索、获取统计信息等。
- 同时,前端可以通过本地部署的 webhook 将抓取数据发送给 MCP 服务器,服务器会持续更新历史记录,为后续的查询提供实时数据。
- 向 MCP 客户端提供配置后,客户端即可通过 MCP 的 JSON-RPC 调用与服务器进行交互,例如:
-
备注
- MCP 客户端使用标准 JSON-RPC 请求与响应格式与服务器进行通信,服务器端实现了对请求的处理、响应的打包以及错误处理。
- 该实现包含一个 webhook 服务(监听监听 /grab)用以接收前端页面的抓取信息,并将其合并进历史记录,供 MCP 客户端查询。