使用说明
项目简介
'mcp-jinaai-reader' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它集成了 Jina AI 的 Reader API。该服务器的主要功能是将网页 URL 转换为 LLM (大型语言模型) 友好的结构化文本,特别优化了文档和网页内容的分析和提取。通过 'read_url' 工具,LLM 客户端可以方便地获取网页内容,用于知识检索、问答等应用。
主要功能点
- 网页内容提取: 利用 Jina.ai Reader API 高效、全面地提取网页内容。
- 结构化文本: 提取的文本保留了网页结构,并进行了优化,更适合 LLM 理解和处理。
- 多种格式支持: 支持 JSON 和流式 (stream) 两种响应格式。
- 灵活配置: 提供多种可选参数,如缓存控制、超时设置、CSS 选择器等,以满足不同的网页提取需求。
- 基于 MCP 协议: 遵循 MCP 协议标准,易于与各种 MCP 客户端集成。
安装步骤
- 克隆仓库
git clone https://github.com/spences10/mcp-jinaai-reader.git cd mcp-jinaai-reader - 安装依赖
确保已安装 Node.js 和 npm (或 yarn)。运行以下命令安装项目依赖:
npm install - 构建项目 (可选,但推荐)
npm run build
服务器配置
MCP 服务器需要配置 Jina AI API 密钥才能正常工作。您需要在 MCP 客户端的服务器配置中指定启动命令和环境变量。以下是通用的配置示例,以 JSON 格式提供:
{ "mcpServers": { "jinaai-reader": { "command": "node", "args": ["dist/index.js"], "env": { "JINAAI_API_KEY": "YOUR_JINAAI_API_KEY" // 替换为您的 Jina AI API 密钥 } } } }
配置参数说明:
- '"jinaai-reader"': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行环境。
- '"args": ["dist/index.js"]': 传递给 'node' 命令的参数,指定服务器入口文件。如果未执行 'npm run build',可以使用 '["src/index.ts"]',但需要确保客户端环境可以执行 TypeScript 代码或已安装 'ts-node'。
- '"env": { "JINAAI_API_KEY": "YOUR_JINAAI_API_KEY" }': 设置环境变量,'JINAAI_API_KEY' 是必需的,请替换 '"YOUR_JINAAI_API_KEY"' 为您在 Jina AI 平台申请的 API 密钥。
注意: 不同的 MCP 客户端配置方式可能略有不同,请参考您使用的 MCP 客户端的文档进行配置。例如,README.md 中提供了 Cline 和 Claude Desktop 的配置示例,您可以参考进行配置。确保 'JINAAI_API_KEY' 环境变量被正确设置,服务器才能成功调用 Jina.ai Reader API。
基本使用方法
-
启动服务器 在配置好 MCP 客户端后,启动 'jinaai-reader' 服务器。服务器将在标准输入/输出 (stdio) 上监听 MCP 客户端的请求。
-
调用 'read_url' 工具 在 MCP 客户端中,可以使用 'read_url' 工具来提取网页内容。以下是一个调用示例,展示了 'read_url' 工具的参数及其作用:
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "name": "read_url", "arguments": { "url": "https://example.com/document.html", // 要提取内容的网页 URL (必需) "no_cache": true, // (可选) 忽略缓存,获取最新内容 (默认为 false) "format": "json", // (可选) 响应格式,可选 "json" 或 "stream" (默认为 "json") "timeout": 30, // (可选) 网页加载超时时间,单位秒 "target_selector": ".article", // (可选) CSS 选择器,仅提取匹配选择器的元素内容 "wait_for_selector": ".content-loaded", // (可选) CSS 选择器,等待该选择器出现后才开始提取 "remove_selector": ".ads", // (可选) CSS 选择器,排除匹配选择器的元素 "with_links_summary": true, // (可选) 在响应末尾添加链接汇总 "with_images_summary": true, // (可选) 在响应末尾添加图片汇总 "with_generated_alt": true, // (可选) 为缺少 alt 文本的图片生成 alt 文本 "with_iframe": false // (可选) 是否包含 iframe 内容 (默认为 false) } }, "id": 1 }请根据实际需求配置 'read_url' 工具的参数。服务器将返回提取的网页内容,通常以 JSON 格式的文本形式呈现。
通过以上步骤,您就可以成功配置和使用 'mcp-jinaai-reader' 服务器,为您的 LLM 应用提供强大的网页内容提取能力。
信息
分类
网页与API