使用说明

项目简介

SlurpAI MCP服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,它扩展了 SlurpAI 文档抓取工具的功能,使其能够作为 MCP 服务器为 LLM 客户端提供服务。通过注册 'slurp_url' 工具,服务器允许客户端请求抓取指定URL的文档,并将抓取结果编译为 Markdown 资源进行托管和访问。这使得 LLM 应用可以通过标准化的 MCP 协议,便捷地获取和利用网络文档内容。

主要功能点

  • 文档抓取工具 (Tool): 提供 'slurp_url' 工具,允许客户端通过提供 URL,触发服务器抓取并编译该 URL 指向的文档。
  • 文档资源托管 (Resource): 抓取编译后的文档以 Markdown 格式资源托管,客户端可以通过资源 URI 'slurp://<文件路径>' 访问已抓取的文档内容。
  • 标准 MCP 协议支持: 基于 JSON-RPC over Stdio 实现 MCP 协议,与 MCP 客户端进行通信,处理工具调用和资源读取请求。
  • 会话管理和能力声明: 支持基本的 MCP 服务器会话管理和能力声明,声明自身支持 'tools' 和 'resources' 能力。

安装步骤

  1. 克隆仓库

    git clone https://github.com/ratacat/slurp-ai.git
    cd slurp-ai
  2. 安装依赖

    npm install
  3. 配置环境变量 (可选) 复制 '.env.example' 文件并重命名为 '.env',根据需要修改配置文件中的选项,例如调整抓取并发数、最大页面数等。

服务器配置

MCP 客户端需要配置以下服务器信息以连接 SlurpAI MCP 服务器:

{
  "server name": "SlurpAI MCP Server",
  "command": "node",
  "args": ["mcp-server.js"]
}

配置参数说明:

  • 'server name': 服务器的名称,可以自定义,用于在客户端标识服务器。
  • 'command': 启动服务器的命令,这里使用 'node' 运行 'mcp-server.js' 文件。
  • 'args': 启动命令的参数,这里指定运行 'mcp-server.js' 文件。

注意:

  • 确保你的运行环境已安装 Node.js 和 npm。
  • MCP 客户端需要能够执行 'node mcp-server.js' 命令来启动 SlurpAI MCP 服务器。
  • 服务器默认通过 Stdio (标准输入输出) 与客户端通信。

基本使用方法

  1. 启动 MCP 服务器 在仓库根目录下,运行以下命令启动 SlurpAI MCP 服务器:

    node mcp-server.js

    服务器成功启动后,会输出 "Slurp MCP Server running on stdio transport." 等信息。

  2. 配置 MCP 客户端并连接服务器 在 MCP 客户端中,按照上述 “服务器配置” 部分的信息配置 SlurpAI MCP 服务器,并建立连接。

  3. 调用 'slurp_url' 工具 客户端可以使用 'tools/invoke' 请求调用 'slurp_url' 工具,并提供 'url' 参数指定要抓取的文档 URL。例如,使用 JSON-RPC 客户端发送如下请求:

    {
      "jsonrpc": "2.0",
      "method": "tools/invoke",
      "params": {
        "tool_name": "slurp_url",
        "arguments": {
          "url": "https://modelcontextprotocol.io/introduction"
        }
      },
      "id": "1"
    }
  4. 获取文档资源 工具执行成功后,服务器会返回包含 'resource_uri' 的响应,指示抓取文档的资源 URI。客户端可以使用 'resources/read' 请求,并提供返回的 'resource_uri' 来读取文档内容。例如,如果 'resource_uri' 为 'slurp://compiled/modelcontextprotocol_io_docs.md',则发送如下请求:

    {
      "jsonrpc": "2.0",
      "method": "resources/read",
      "params": {
        "uri": "slurp://compiled/modelcontextprotocol_io_docs.md"
      },
      "id": "2"
    }

    服务器将返回包含 Markdown 文档内容的 JSON-RPC 响应。

提示:

  • 可以通过设置环境变量 'SLURP_VERBOSE=true' 来启用详细日志输出,方便调试和查看服务器运行状态。
  • 'slurp_url' 工具的更多参数配置(如最大抓取页面数、是否使用 headless 浏览器等)可以通过环境变量进行配置,具体请参考仓库文档。

信息

分类

网页与API