网页内容提取服务

JinaAI MCP Server 是一个基于 Jina.ai Reader API 的智能网页阅读工具,提供生产级的模型上下文协议(MCP)服务器,使LLM和AI代理能够以编程方式读取、处理和理解任何网页内容。

  • by cyanheads
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 cyanheads/jinaai-mcp-server

使用说明

JinaAI MCP服务器

由Jina.ai阅读器API提供支持的智能网络阅读器工具,作为生产级模型上下文协议(MCP)服务器提供。

模型上下文协议(MCP)服务器为 Jina.ai阅读器API。使LLM和AI代理能够以编程方式读取、处理和理解来自任何网页的内容。

建立在 cyanheads/mcp-ts-template,此服务器遵循模块化架构,具有强大的错误处理、日志记录和安全功能。

🚀 核心能力:Jina人工智能工具🛠️

该服务器为您的AI配备了一个专门的工具来与网络内容进行交互:

工具名称 描述 示例
jinaai_read_webpage 使用Jina AI的ReaderLM引擎从给定的URL中提取和处理主要内容。它返回内容的干净、markdown格式的文本表示。 查看示例

目录

概述 特性 安装
配置 项目结构 开发与测试
许可证

概述

JinaAI MCP服务器充当桥梁,允许理解模型上下文协议(MCP)的应用程序(如高级AI助手、IDE扩展或自定义研究工具)直接有效地与web内容交互。

您的代理可以利用此服务器来:

  • 自动化信息收集:以编程方式阅读文章、文档和其他网络内容。
  • 获得更深入的理解:无需离开宿主应用程序,即可从任何URL访问干净、LLM就绪的文本。
  • 将Web内容集成到AI工作流中:使LLM能够进行研究、总结文章,并将实时网络数据纳入他们的回复中。

开发者说明:此存储库包括 .微规则 该文件作为LLM编码代理的开发人员备忘单,可快速参考代码库模式、文件位置和代码片段。

特性

核心公用设施

利用 mcp-ts-template:

  • 日志记录:结构化、可配置的日志记录,带有敏感数据编辑功能。
  • 错误处理:集中错误处理和标准化错误类型(McpError).
  • 配置:环境变量加载(dotenv)使用Zod进行验证。
  • 输入验证:用途 zod 对于所有工具输入模式。
  • 请求上下文:通过唯一的请求ID进行端到端操作跟踪。
  • 类型安全:由TypeScript和Zod模式强制执行。
  • HTTP传输:使用高性能HTTP服务器 你好,具有会话管理和身份验证支持。
  • 认证:支持JWT和OAuth 2.1的强大身份验证层。
  • 可观测性:集成 开放遥测 用于分布式跟踪和度量。

Jina AI集成

  • 智能内容提取:利用Jina的 readerlm-v2 引擎解析主要内容并删除样板。
  • 多种格式:支持Markdown、HTML或纯文本输出。
  • 灵活的选项:控制包括链接、图像和使用缓存。

安装

先决条件

MCP客户端设置

将以下内容添加到MCP客户端的配置文件中(例如。, cline_mcp_settings.json). 此配置使用 npx 运行服务器,如果还没有安装包,它将自动安装。 这 JINA_API_KEY 是服务器运行所必需的。

{
  "mcpServers": {
    "jinaai-mcp-server": {
      "command": "npx",
      "args": ["@cyanheads/jinaai-mcp-server"],
      "env": {
        "MCP_TRANSPORT_TYPE": "http",
        "MCP_HTTP_PORT": "3018",
        "JINA_API_KEY": "YOUR_JINA_API_KEY_HERE"
      }
    }
  }
}

来源

  1. 克隆存储库:
    git clone https://github.com/cyanheads/jinaai-mcp-server.git
    cd jinaai-mcp-server
    
  2. 安装依赖项:
    npm install
    
  3. 构建项目:
    npm run build
    

配置

环境变量

使用环境变量配置服务器。为了地方发展,创建一个 .env 项目根目录下的文件。

变量 描述 默认值
JINA_API_KEY 必修的。 您的Jina AI服务API密钥。 (无)
MCP_TRANSPORT_TYPE 运输机制: stdio 或 http. stdio
MCP_HTTP_PORT HTTP服务器的端口(如果 MCP_TRANSPORT_TYPE=http). 3018
LOGS_DIR 日志文件存储目录。 logs/
NODE_ENV 运行时环境(development, production). development

项目结构

代码库遵循模块化结构 src/ 目录:

src/
├── index.ts              # Entry point: Initializes and starts the server
├── config/               # Configuration loading (env vars)
│   └── index.ts
├── mcp-server/           # Core MCP server logic and capability registration
│   ├── server.ts         # Server setup, tool registration
│   └── tools/            # MCP Tool implementations
│       └── jinaReader/   # The Jina AI Reader tool
└── utils/                # Common utility functions (logger, error handler, etc.)

要查看详细的文件树,请运行 npm run tree 或查看 docs/tree.md.

开发与测试

开发脚本

# Build the project (compile TS to JS in dist/)
npm run build

# Clean build artifacts and then rebuild the project
npm run rebuild

# Format code with Prettier
npm run format

测试

此项目使用 速度 用于单元和集成测试。

# Run all tests once
npm test

# Run tests in watch mode
npm run test:watch

# Run tests and generate a coverage report
npm run test:coverage

运行服务器

# Start the server using stdio (default)
npm run start:server

# Start the server using HTTP transport
npm run start:server:http

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。


Built with the Model Context Protocol