mcp jina reader

使用说明

项目简介

Jina Reader MCP Server 是一个轻量级的 MCP (Model Context Protocol) 服务器,它利用 Jina Reader 服务将远程 URL 的内容抓取并转换为 Markdown 格式。此服务器旨在为大型语言模型 (LLM) 应用提供便捷的外部信息访问能力,允许 LLM 通过调用工具或 Prompt 模板获取网页或其他在线文档的内容,从而增强 LLM 的上下文理解和生成能力。

主要功能点

  • URL 内容抓取: 使用 Jina Reader 服务高效地从指定 URL 获取网页内容。
  • Markdown 转换: 将抓取的内容转换为 Markdown 格式,方便 LLM 理解和处理。
  • MCP 工具 (Tool) 支持: 提供 'fetch_url_content' 工具,允许 LLM 客户端通过 JSON-RPC 调用,传入 URL 参数,获取 URL 内容的 Markdown 格式文本。
  • MCP Prompt 模板 (Prompt) 支持: 提供 'fetch_url_content' Prompt 模板,允许 LLM 客户端请求服务器渲染 Prompt,并获取包含 URL 内容的文本,用于直接与 LLM 交互。

安装步骤

该项目无需安装,因为它是一个可以直接运行的 Node.js 服务器。您只需要确保您的环境中安装了 Node.js 和 npm (或 yarn)。

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到此 MCP 服务器。请注意,您需要将服务器启动起来后,MCP 客户端才能连接。

{
  "server name": "mcp-jina-reader",
  "command": "node",
  "args": ["src/server.ts"],
  "env": {
    // (可选) 如果您希望使用 Jina API Key,请设置 JINA_API_KEY 环境变量
    // "JINA_API_KEY": "YOUR_JINA_API_KEY"
  }
}

配置参数说明:

  • 'server name': 服务器名称,设置为 '"mcp-jina-reader"'。
  • 'command': 启动服务器的命令,这里使用 'node' 运行 Node.js 代码。
  • 'args': 传递给 'node' 命令的参数,指定服务器入口文件为 'src/server.ts'。
  • 'env': (可选) 环境变量配置。如果需要使用 Jina API Key 来提升 Jina Reader 的服务质量或访问特定资源,您可以在 'env' 中设置 'JINA_API_KEY' 环境变量。如果不需要 API Key,可以忽略 'env' 配置或保持为空对象。

启动服务器:

  1. 确保您已经安装了 Node.js 环境。
  2. 克隆或下载此仓库的代码。
  3. 在项目根目录下,打开终端并运行命令 'npm install litemcp zod' 来安装依赖。
  4. 运行命令 'node src/server.ts' 启动 MCP 服务器。
    • 注意: 如果 'src/server.ts' 是 TypeScript 文件,您可能需要先将其编译为 JavaScript 文件 (例如使用 'tsc src/server.ts'),然后再使用 'node src/server.js' 运行。但根据仓库信息,直接 'node src/server.ts' 应该可以通过 ts-node 或类似工具直接运行 TypeScript 代码。

基本使用方法

启动服务器后,MCP 客户端可以通过 JSON-RPC 协议与服务器通信。

1. 调用 Tool:

客户端可以调用名为 'fetch_url_content' 的 Tool,并提供 'url' 参数来获取指定 URL 的 Markdown 内容。

请求示例 (JSON-RPC):

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "tool_name": "fetch_url_content",
    "tool_arguments": {
      "url": "https://example.com/some-article"
    }
  },
  "id": 1
}

响应示例 (JSON-RPC):

服务器会返回包含 URL 内容 Markdown 文本的 JSON-RPC 响应。

2. 请求 Prompt:

客户端可以请求名为 'fetch_url_content' 的 Prompt,并提供 'url' 参数。服务器会加载 Prompt 模板,并返回包含 "Content of [URL]:\n[Markdown 内容]" 格式的文本。

请求示例 (JSON-RPC):

{
  "jsonrpc": "2.0",
  "method": "render_prompt",
  "params": {
    "prompt_name": "fetch_url_content",
    "prompt_arguments": {
      "url": "https://example.com/another-page"
    }
  },
  "id": 2
}

响应示例 (JSON-RPC):

服务器会返回包含 Prompt 渲染结果的 JSON-RPC 响应,例如:

Content of https://example.com/another-page:\n# 页面标题\n这是页面的 Markdown 内容...

注意: 实际使用时,请参考 MCP 客户端的具体文档,了解如何配置和连接 MCP 服务器,以及如何发送 JSON-RPC 请求。

服务器信息