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 通道等方式与外部系统对接,易于在不同开发环境中部署。
  • 安装步骤

    1. 安装依赖
      • 在项目根目录执行安装依赖的命令(如 npm install / pnpm install / yarn install),确保 Node.js 环境就绪。
    2. 构建 MCP 服务器
      • 在包含 MCP 服务器的包(mcp-server)内执行构建命令,将 TypeScript/源码编译为可执行的 JS 产物。
    3. 启动 MCP 服务器
      • 使用生成的可执行文件启动服务器,例如通过 Node.js 运行打包后的入口文件,此时控制台会输出服务器已启动的提示信息。
    4. 配置 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 服务的配置信息 } }
    5. 使用 MCP 客户端与服务器交互
      • 启动后,MCP 客户端通过标准 MCP 的 JSON-RPC 调用来查询历史、获取最近抓取、检索特定抓取并获取统计信息。
      • 客户端也可以通过配置的工具调用,触发服务器端返回相应的结果内容。
  • 基本使用方法

    • 向 MCP 客户端提供配置后,客户端即可通过 MCP 的 JSON-RPC 调用与服务器进行交互,例如:
      • 查询抓取历史、获取最近条目、按条件检索、获取统计信息等。
    • 同时,前端可以通过本地部署的 webhook 将抓取数据发送给 MCP 服务器,服务器会持续更新历史记录,为后续的查询提供实时数据。
  • 备注

    • MCP 客户端使用标准 JSON-RPC 请求与响应格式与服务器进行通信,服务器端实现了对请求的处理、响应的打包以及错误处理。
    • 该实现包含一个 webhook 服务(监听监听 /grab)用以接收前端页面的抓取信息,并将其合并进历史记录,供 MCP 客户端查询。

服务器信息