使用说明

项目简介

Jina Reader MCP Server 是一个基于 Model Context Protocol (MCP) 的简单服务器实现,它利用 Jina Reader 服务(r.jina.ai)将远程 URL 的内容抓取并转换为 Markdown 格式。此服务器旨在为大型语言模型 (LLM) 应用提供便捷的网页内容获取功能,通过 MCP 协议与客户端交互,提供工具 (Tool) 和 Prompt 模板 (Prompt) 两种方式来获取网页内容。

主要功能点

  • URL 内容抓取: 能够抓取指定 URL 的网页内容。
  • Markdown 格式转换: 将抓取的网页内容转换为 Markdown 格式,方便 LLM 理解和处理。
  • 工具 (Tool) 接口: 提供 'fetch_url_content' 工具,允许 LLM 客户端通过工具调用方式获取指定 URL 的 Markdown 内容。
  • Prompt 模板 (Prompt) 接口: 提供 'fetch_url_content' Prompt 模板,允许 LLM 客户端通过 Prompt 方式获取包含指定 URL 内容的文本。

安装步骤

  1. 克隆仓库
    git clone https://github.com/wong2/mcp-jina-reader.git
    cd mcp-jina-reader
  2. 安装依赖 确保你已安装 Node.js 和 npm (或 yarn)。运行以下命令安装项目依赖:
    npm install # 或 yarn install
  3. 配置 Jina API Key (可选) 如果你想使用 Jina API Key 来提升 Jina Reader 的服务质量或使用更高级的功能,请设置环境变量 'JINA_API_KEY'。你可以在部署服务器的环境中设置,或者在运行服务器前在终端中设置:
    export JINA_API_KEY="YOUR_JINA_API_KEY" # 将 YOUR_JINA_API_KEY 替换为你的API Key
    如果你不需要或没有 Jina API Key,可以跳过此步骤,服务器将尝试在没有 API Key 的情况下运行。

服务器配置

MCP 客户端需要配置以下 JSON 格式信息来连接到 Jina Reader MCP Server。请根据你的实际部署情况修改 'command' 和 'args' 字段。

{
  "serverName": "mcp-jina-reader",
  "command": "node",
  "args": [
    "src/server.ts"
  ],
  "transports": [
    {
      "type": "stdio"
    }
  ]
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,这里设置为 "mcp-jina-reader"。
  • 'command': 启动 MCP 服务器的命令,这里使用 'node' 命令来运行 TypeScript 代码。
  • 'args': 传递给启动命令的参数,这里指定了服务器入口文件 'src/server.ts'。
  • 'transports': 指定 MCP 客户端与服务器通信的传输协议,这里使用 'stdio',即标准输入输出。

基本使用方法

  1. 启动服务器 在项目根目录下,运行以下命令启动 Jina Reader MCP Server:

    npm start # 或者 node src/server.ts

    服务器成功启动后,将监听 MCP 客户端的请求。

  2. MCP 客户端调用 配置好 MCP 客户端后,你可以通过客户端调用服务器提供的 Tool 和 Prompt。

    • 调用 Tool: 客户端可以调用名为 'fetch_url_content' 的 Tool,并传入 'url' 参数来获取指定 URL 的 Markdown 内容。例如,客户端发送如下 MCP 请求 (示例,实际请求格式取决于 MCP 客户端的具体实现):

      {
        "jsonrpc": "2.0",
        "method": "tool/call",
        "params": {
          "toolName": "fetch_url_content",
          "arguments": {
            "url": "https://example.com"
          }
        },
        "id": 1
      }
    • 调用 Prompt: 客户端可以请求名为 'fetch_url_content' 的 Prompt,并传入 'url' 参数。服务器将返回包含该 URL 内容的 Prompt 文本。例如,客户端发送如下 MCP 请求 (示例):

      {
        "jsonrpc": "2.0",
        "method": "prompt/get",
        "params": {
          "promptName": "fetch_url_content",
          "arguments": {
            "url": "https://example.com"
          }
        },
        "id": 2
      }

    具体如何发送 MCP 请求,请参考你使用的 MCP 客户端的文档。服务器会根据请求类型(Tool 或 Prompt)返回相应的 JSON-RPC 响应。

信息

分类

网页与API