使用说明

项目简介

patent_mcp_server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用(如 Claude Desktop)提供便捷的美国专利商标局 (USPTO) 数据访问能力。它通过 USPTO 开放数据门户 (ODP) API 获取专利申请数据,并以 MCP 协议标准化的方式提供给 LLM 客户端,扩展了 LLM 在专利信息检索和分析方面的应用场景。

主要功能点

  • 专利数据检索: 支持关键词、申请号等多种条件检索 USPTO 专利申请数据。
  • 详细数据获取: 可以获取专利申请的基本信息、元数据、事务历史、律师信息、优先权信息等详细数据。
  • 批量数据下载: 支持根据检索条件批量下载专利数据,支持 JSON 和 CSV 格式。
  • 状态代码查询: 提供 USPTO 状态代码的查询功能。
  • 数据集检索: 支持 USPTO 批量数据集产品的检索。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/riemannzeta/patent_mcp_server
    cd patent_mcp_server
  2. 安装依赖: 确保已安装 UV。然后运行:

    uv sync
  3. 配置 API 密钥:

    • 访问 USPTO's Getting Started page 申请 USPTO ODP API 密钥。
    • 在 'patent_mcp_server' 目录下创建 '.env' 文件,并添加以下内容,将 '<your_key_here>' 替换为您的 API 密钥:
      PATENTS_MCP_SERVER_ODP_API_KEY=<your_key_here>

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)集成,您需要配置客户端的 MCP 服务器设置。以下是 Claude Desktop 的配置示例,请根据您的 MCP 客户端进行相应配置:

{
  "mcpServers": {
    "patents": { # 服务器名称,可以自定义
      "command": "uv", # 启动服务器的命令,这里使用 uv 运行 python 脚本
      "args": [ # 命令参数
        "--directory", # 指定工作目录
        "/path/to/patent_mcp_server", #  **请替换为实际的 'patent_mcp_server' 仓库路径**
        "run", # uv 的 run 命令
        "patents.py" # 运行 patents.py 文件
      ]
    }
  }
}

注意:

  • 请将 '/path/to/patent_mcp_server' 替换为您克隆 'patent_mcp_server' 仓库的实际本地路径。
  • 'server name' (这里是 "patents") 可以自定义,在客户端中用于标识和调用此 MCP 服务器。
  • 'command' 和 'args' 必须正确配置,以确保 MCP 客户端能够成功启动和连接到 MCP 服务器。

基本使用方法

配置完成后,MCP 客户端(如 Claude Desktop)将能够通过 MCP 协议与此服务器通信,并调用服务器提供的工具 (Tools) 来访问 USPTO 数据。

例如,在 Claude Desktop 中,您可以使用如下指令指示 Claude 调用 'get_app' 工具来获取专利申请数据:

@patents.get_app(app_num='your_application_number')

其中 'patents' 是您在客户端配置中设置的 'server name','get_app' 是服务器提供的工具函数名,'app_num' 是工具函数的参数。 具体的工具函数和参数请参考 'Available Functions' 章节或代码中的函数文档。

可用工具函数 (Tools):

  • 'get_app(app_num)': 获取基本专利申请数据
  • 'search_applications(...)': 搜索专利申请
  • 'search_applications_post(...)': 使用 POST 请求搜索专利申请
  • 'download_applications(...)': 下载专利申请数据
  • 'download_applications_post(...)': 使用 POST 请求下载专利申请数据
  • 'get_app_metadata(app_num)': 获取专利申请元数据
  • 'get_app_adjustment(app_num)': 获取专利期限调整数据
  • 'get_app_assignment(app_num)': 获取专利转让数据
  • 'get_app_attorney(app_num)': 获取律师/代理人信息
  • 'get_app_continuity(app_num)': 获取连续性数据
  • 'get_app_foreign_priority(app_num)': 获取外国优先权声明
  • 'get_app_transactions(app_num)': 获取事务历史
  • 'get_app_documents(app_num)': 获取文档详情
  • 'get_app_associated_documents(app_num)': 获取关联文档元数据
  • 'get_status_codes(...)': 搜索状态代码
  • 'get_status_codes_post(...)': 使用 POST 请求搜索状态代码
  • 'search_datasets(...)': 搜索批量数据集产品
  • 'get_dataset_product(product_id, ...)': 获取特定数据集产品

请参考代码中的函数文档了解每个工具函数的详细参数。

信息

分类

网页与API