Patent_mcp_server

Patent_mcp_server

用于美国专利商标局 (USPTO) 数据的 FastMCP 服务器

riemannzeta

研究与数据
访问服务器

README

USPTO 专利 MCP 服务器

一个 FastMCP 服务器,用于通过 专利公共搜索 API 和 开放数据门户 (ODP) API 访问美国专利商标局 (USPTO) 的专利和专利申请数据。 使用此服务器,Claude Desktop 可以使用公共搜索 API(专利中心的后端)或 ODP API 从 USPTO 获取数据:

使用专利 MCP 服务器的 Claude Desktop 屏幕截图

有关 MCP 服务器的介绍,请参阅 模型上下文协议简介

特别感谢 Parker Hancock,他是出色的 Patent Client 项目 的作者,感谢他为 开辟道路,帮助我们理解通过公共搜索 API 获取数据所需的请求和响应字符串。

功能

此服务器提供以下工具:

  1. 专利搜索 - 搜索专利和专利申请
  2. 全文文档 - 获取专利的完整文本,包括权利要求、说明等。
  3. PDF 下载 - 将专利下载为 PDF 文件。(但 Claude Desktop 目前不支持作为客户端。)
  4. 元数据 - 访问专利书目信息、转让和诉讼数据

API 来源

此服务器与两个 USPTO 来源交互:

  • ppubs.uspto.gov - 用于全文文档访问、PDF 下载和高级搜索
  • api.uspto.gov - 用于元数据、连续性信息、交易和转让

前提条件

  • Claude Desktop(用于集成)。尚未测试其他模型和 MCP 客户端。
  • 对于专利公共搜索请求,不需要 API 密钥,但 存在速率限制。此 API 不适用于批量下载。
  • 对于 ODP API 请求,需要 USPTO ODP API 密钥(见下文)。
  • UV 用于 python 版本和依赖项管理。

如果您是 python 开发人员,但仍然不熟悉 uv,那么您将会感到惊喜。它比拥有单独的 python 版本管理器(如 pyenv)以及使用 venv 和 pip 设置、激活和维护虚拟环境更快、更简单。

如果您尚未安装 uv,则 curl -LsSf https://astral.sh/uv/install.sh | sh 应该可以解决问题。

安装

  1. 克隆此存储库:

    git clone https://github.com/riemannzeta/patent_mcp_server
    cd patent_mcp_server
    
  2. 使用 uv 安装依赖项:

    uv sync
    

    如果安装正确,则:

    uv run patent-mcp-server
    

    应该写入:

    INFO     Starting USPTO Patent MCP server with stdio transport
    

    到控制台。 在环境中安装了 API 密钥并配置了 Claude Desktop 后,专利 MCP 服务器即可使用。

API 密钥设置

要使用 api.uspto.gov 工具,您需要获取开放数据门户 (ODP) API 密钥:

  1. 访问 USPTO 的入门页面,如果您还没有 API 密钥,请按照说明请求一个。

  2. 在 patent_mcp_server 目录中创建一个 .env 文件,内容如下:

    PATENTS_MCP_SERVER_ODP_API_KEY=<your_key_here>
    

您不需要在密钥周围添加引号或 < > 括号。 ppubs 工具将在没有此 API 密钥的情况下运行,但 api 工具需要 API 密钥。

Claude Desktop 配置

要将此 MCP 服务器与 Claude Desktop 集成:

  1. 更新您的 Claude Desktop 配置文件 (claude_desktop_config.json):

     {
       "mcpServers": {
         "patents": {
           "command": "uv",
           "args": [
             "--directory",
             "/Users/username/patent_mcp_server",
             "run",
             "patent-mcp-server"
           ]
         }
       }
     }
    

    您可以通过打开 Claude Desktop 应用程序,打开设置(从 Claude 菜单或通过键盘上的 Command + '),单击侧边栏中的“开发者”,然后单击“编辑配置”来在 Mac 上找到 claude_desktop_config.json

  2. 如果克隆的目录不是 /Users/username/patent_mcp_server,请将其替换为 patent_mcp_server 目录的实际路径。(如果您使用的是 Mac,这可能意味着只需将 username 替换为您的用户名。)

与 Claude Desktop 集成后,服务器将在需要时自动启动,无需单独运行。 该服务器使用 stdio 传输与在同一主机上运行的 Claude Desktop 或其他 MCP 客户端进行通信。

可用功能

该服务器提供以下功能来与 USPTO 数据交互。 请注意,Claude Desktop 客户端并不完全支持所有这些工具。 例如,Claude Desktop 目前不允许下载 PDF。

公共专利搜索 (ppubs.uspto.gov)

  • ppubs_search_patents - 在 USPTO 公共搜索中搜索已授权的专利
  • ppubs_search_applications - 在 USPTO 公共搜索中搜索已公布的专利申请
  • ppubs_get_full_document - 通过来自 ppubs.uspto.gov 的 GUID 获取完整的专利文档详细信息
  • ppubs_get_patent_by_number - 通过来自 ppubs.uspto.gov 的编号获取已授权专利的全文
  • ppubs_download_patent_pdf - 从 ppubs.uspto.gov 下载已授权专利的 PDF(目前 Claude Desktop 不支持)

开放数据门户 API (api.uspto.gov)

  • get_app(app_num) - 获取基本专利申请数据
  • search_applications(...) - 使用查询参数搜索专利申请
  • download_applications(...) - 使用查询参数下载专利申请
  • 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(...) - 搜索状态代码
  • search_datasets(...) - 搜索批量数据集产品
  • get_dataset_product(...) - 通过其标识符获取特定产品

有关详细的参数信息,请参阅代码中的函数文档字符串。

测试

/test/ 目录包含几个用于测试的脚本。 test_patents.py 包括一些对 ppubs.uspto.gov 和 api.uspto.gov 端点的直接 HTTP 请求的测试。 test_tools.py 包括 MCP 服务器可用的每个工具的完整测试集。 JSON 和 PDF 格式的测试结果存储在 /test/test_results 子目录中。

要执行测试,请从项目根目录运行 uv run test/test_tools.py

许可证

MIT

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python