RapidAPI MCP Server 使用说明

项目简介

RapidAPI-MCP Server 是一个基于 Python 构建的 MCP 服务器,旨在为大型语言模型(LLM)应用提供专利数据上下文信息。它集成了 RapidAPI Global Patent API,能够检索全球专利数据,并将数据存储在本地 SQLite 数据库中。此外,该服务器还具备专利评分系统,可以对专利进行多维度评估,为 LLM 提供更丰富的专利分析能力。

主要功能点

  • 专利数据检索: 连接 RapidAPI Global Patent API,支持关键词、日期范围等多种条件检索专利数据。
  • 本地数据存储: 使用 SQLite 数据库存储检索到的专利数据,方便快速访问和管理。
  • 专利评分系统: 内置专利评分系统 (pscore, cscore, lscore, tscore),从多个维度评估专利价值。
  • 数据格式化: 将 API 返回的原始数据格式化为结构化数据,方便 LLM 应用使用。
  • 可扩展性: 项目结构清晰,易于扩展新的数据源或功能模块。

安装步骤

  1. 克隆仓库

    首先,将 RapidAPI-MCP 仓库克隆到本地:

    git clone https://github.com/myownipgit/RapidAPI-MCP.git
    cd RapidAPI-MCP
  2. 创建并激活 Conda 环境 (推荐)

    推荐使用 Conda 管理 Python 环境。根据提供的 'environment.yml' 文件创建并激活环境:

    conda env create -f environment.yml
    conda activate rapidapi-mcp

    或者,您也可以手动创建并配置环境:

    conda create -n rapidapi-mcp python=3.11
    conda activate rapidapi-mcp
    conda install -c conda-forge requests aiohttp python-dotenv pytest
    pip install rapidapi-connect
  3. 配置环境变量

    复制 '.env.example' 文件并重命名为 '.env',然后编辑 '.env' 文件,填入您的 RapidAPI API 密钥。

    cp .env.example .env
    # 编辑 .env 文件,填入 RAPIDAPI_KEY 等信息

服务器配置

MCP 客户端需要配置以下 JSON 格式信息以连接到 RapidAPI-MCP 服务器。由于此仓库提供的实现基于 Python 代码,您需要直接运行 Python 脚本来启动服务器。

{
  "serverName": "RapidAPI-MCP Patent Server",
  "command": "python",
  "args": [
    "-c",
    "from patent_mcp.server import MCPPatentServer; server = MCPPatentServer(); loop = asyncio.get_event_loop(); search_request = {'command': 'search', 'params': {'query': 'your_query', 'date_range': '2004-2024', 'page': 1, 'per_page': 10}}; results = loop.run_until_complete(server.handle_patent_request(search_request)); print(results)"
  ],
  "description": "连接到 RapidAPI-MCP 专利服务器,执行专利数据检索。",
  "parameters": {
    "query": {
      "type": "string",
      "description": "专利检索关键词,例如:quantum computing"
    },
    "date_range": {
      "type": "string",
      "description": "检索日期范围,格式为 YYYY-YYYY,例如:2004-2024"
    },
    "page": {
      "type": "integer",
      "description": "检索结果页码"
    },
    "per_page": {
      "type": "integer",
      "description": "每页检索结果数量"
    }
  }
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给 'python' 命令的参数,这里使用 '-c' 参数直接执行 Python 代码。
    • 注意: 上述 'args' 示例直接在命令行中模拟了一个 'search' 请求,您需要根据实际 MCP 客户端的通信方式调整服务器启动和请求处理方式。更标准的 MCP 服务器实现会监听特定的端口或协议(如 JSON-RPC over HTTP 或 WebSocket),并接收客户端发送的符合 MCP 协议的请求。此示例为了简化配置,直接在启动命令中包含了请求示例。
  • 'description': 服务器功能描述,方便客户端用户理解。
  • 'parameters': 定义了服务器可以接受的参数及其类型和描述,用于指导 MCP 客户端构建请求。

更贴合 MCP 客户端的配置 (假设客户端可以发送 JSON-RPC 请求到服务器,但此仓库实际代码并未实现标准 JSON-RPC,以下配置仅为概念示例,需要基于实际服务器代码进行调整或扩展):

由于仓库代码本身没有实现标准的 JSON-RPC 服务器,以下配置是假设如果需要将其改造为更标准的 MCP 服务器,客户端可能需要的配置示例。请注意,以下配置需要仓库代码进行相应的修改才能适配。

假设我们修改 'patent_mcp/server.py',使其监听 HTTP 端口并处理 JSON-RPC 请求。启动命令可能变为:

{
  "serverName": "RapidAPI-MCP Patent Server (JSON-RPC)",
  "command": "python",
  "args": [
    "-m",
    "patent_mcp.server",  // 假设 server.py 可以作为模块运行并启动 HTTP 服务器
    "--port",
    "8080"               // 假设 server.py 接受 --port 参数指定端口
  ],
  "description": "连接到 RapidAPI-MCP 专利服务器,通过 JSON-RPC 协议执行专利数据检索。",
  "protocol": "json-rpc", // 声明使用 JSON-RPC 协议 (假设)
  "endpoint": "http://localhost:8080/rpc", // JSON-RPC 端点 (假设)
  "methods": [ // 定义服务器支持的方法 (假设)
    {
      "name": "search_patents",
      "description": "检索专利数据",
      "parameters": {
        "query": { "type": "string", "description": "检索关键词" },
        "date_range": { "type": "string", "description": "日期范围" },
        "page": { "type": "integer", "description": "页码" },
        "per_page": { "type": "integer", "description": "每页数量" }
      }
    },
    // ... 其他可能的方法
  ]
}

注意: 以上 JSON-RPC 配置仅为示例,实际仓库代码并未实现标准的 JSON-RPC 服务器。 您需要根据 'patent_mcp/server.py' 的实际实现方式,或者修改 'server.py' 以符合 MCP 客户端的通信协议,并据此生成准确的服务器配置。

基本使用方法

  1. 启动服务器

    根据 服务器配置 部分的说明,配置并启动 RapidAPI-MCP 服务器。对于当前仓库提供的代码,您可能需要直接运行 'examples/search_patents.py' 或类似的脚本进行测试和使用。

  2. 发送 MCP 请求

    根据 MCP 客户端的要求,构建符合 MCP 协议的请求,并发送到 RapidAPI-MCP 服务器。

    对于当前仓库提供的示例,您可能需要参考 'examples/search_patents.py' 中的请求格式,并使用 Python 代码与服务器进行交互。

    例如,使用 'patent_mcp.server.MCPPatentServer' 类直接在 Python 代码中调用服务器功能:

    import asyncio
    from patent_mcp.server import MCPPatentServer
    
    async def main():
        server = MCPPatentServer()
        search_request = {
            'command': 'search',
            'params': {
                'query': 'quantum computing',
                'date_range': '2004-2024',
                'page': 1,
                'per_page': 10
            }
        }
        results = await server.handle_patent_request(search_request)
        print(results)
    
    if __name__ == "__main__":
        asyncio.run(main())

请务必仔细阅读仓库代码和文档,理解其具体实现方式,并根据您的 MCP 客户端的要求进行适配和配置。 如果需要更标准的 MCP 服务器功能(例如 JSON-RPC 协议支持),您可能需要扩展或修改 'patent_mcp/server.py' 中的代码。

信息

分类

数据库与文件