Google Patents MCP Server

Google Patents MCP Server

一个模型上下文协议服务器,它通过 SerpApi Google Patents API 实现 Google 专利信息的搜索,允许用户使用各种过滤器和排序选项来查询专利数据。

Category
访问服务器

Tools

search_patents

Searches Google Patents using SerpApi. Allows filtering by date, inventor, assignee, country, language, status, type, and sorting.

README

Google Patents MCP 服务器 (google-patents-mcp)

npm version

本项目提供了一个模型上下文协议 (MCP) 服务器,允许通过 SerpApi Google Patents API 搜索 Google Patents 信息。

功能

  • 提供一个 MCP 工具 search_patents 来搜索 Google Patents。
  • 使用 SerpApi 作为后端。
  • 可以使用 npx 直接运行,无需本地安装。

前提条件

  • Node.js: 推荐使用 18 或更高版本。
  • npm: 运行 npx 命令需要。
  • SerpApi API 密钥: 您需要从 SerpApi 获取有效的 API 密钥才能使用 Google Patents API。

快速开始 (使用 npx)

运行此服务器最简单的方法是使用 npx。 此命令会下载(如果需要)并直接运行服务器。

npx @kunihiros/google-patents-mcp

注意: 如果实际发布的包名称不同,请将 @kunihiros/google-patents-mcp 替换为实际的包名称。

服务器将启动并监听标准输入/输出上的 MCP 请求。

配置

服务器需要您的 SerpApi API 密钥。 您可以通过以下方式之一提供它:

  1. 环境变量 (推荐用于 MCP 主机): 运行服务器时,设置 SERPAPI_API_KEY 环境变量。 MCP 主机配置通常允许为服务器设置环境变量。

    示例 MCP 主机配置片段 (config.json 或类似文件):

    {
      "mcpServers": {
        "google-patents-mcp": {
          "command": "npx",
          "args": [
            "-y", // 如果包未在本地安装,则跳过确认
            "@kunihiros/google-patents-mcp" // 使用正确的包名称
          ],
          "env": {
            "SERPAPI_API_KEY": "YOUR_ACTUAL_SERPAPI_KEY"
            // Optional: Set log level
            // "LOG_LEVEL": "debug"
          }
        }
      }
    }
    
  2. .env 文件: 在运行 npx 命令的目录中(用于本地测试或未使用 MCP 主机时),或在您的主目录 (~/.google-patents-mcp.env) 中创建一个 .env 文件,内容如下:

    SERPAPI_API_KEY=YOUR_ACTUAL_SERPAPI_KEY
    # Optional: Set log level (e.g., debug, info, warn, error)
    # LOG_LEVEL=debug
    

    注意: 虽然使用 .env 文件对于本地测试很方便,但对于生产或与 MCP 主机集成,建议并且更安全的方法是通过主机配置直接设置环境变量。 主要的预期用例是通过 npx 执行,其中环境变量通常由调用进程或 MCP 主机管理。

服务器按以下顺序搜索 .env 文件: * ./.env (相对于运行 npx 的位置) * ~/.google-patents-mcp.env (在您的主目录中)

提供的 MCP 工具

search_patents

通过 SerpApi 搜索 Google Patents。

输入模式:

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "搜索查询 (必需)。 虽然在 SerpApi 文档中是可选的,但实际上需要一个非空查询。 使用分号 (;) 分隔多个术语。 支持高级语法,如 '(Coffee) OR (Tea);(A47J)'。 有关详细信息,请参阅 'About Google Patents'。"
    },
    "page": {
      "type": "integer",
      "description": "分页的页码 (默认: 1)。",
      "default": 1
    },
    "num": {
      "type": "integer",
      "description": "每页的结果数 (默认: 10)。 **重要提示: 必须为 10 或更大 (最多 100)。**",
      "default": 10,
      "minimum": 10,
      "maximum": 100
    },
    "sort": {
      "type": "string",
      "enum": ["relevance", "new", "old"],
      "description": "排序方法。 'relevance' (默认), 'new' (按申请/发布日期最新), 'old' (按申请/发布日期最旧)。",
      "default": "relevance"
    },
    "before": {
      "type": "string",
      "description": "最大日期过滤器 (例如, 'publication:20231231', 'filing:20220101')。 格式: type:YYYYMMDD,其中 type 为 'priority', 'filing' 或 'publication'。"
    },
    "after": {
      "type": "string",
      "description": "最小日期过滤器 (例如, 'publication:20230101', 'filing:20220601')。 格式: type:YYYYMMDD,其中 type 为 'priority', 'filing' 或 'publication'。"
    },
    "inventor": {
      "type": "string",
      "description": "按发明人姓名过滤。 用逗号 (,) 分隔多个姓名。"
    },
    "assignee": {
      "type": "string",
      "description": "按受让人姓名过滤。 用逗号 (,) 分隔多个姓名。"
    },
    "country": {
      "type": "string",
      "description": "按国家/地区代码过滤 (例如, 'US', 'WO,JP')。 用逗号 (,) 分隔多个代码。"
    },
    "language": {
      "type": "string",
      "description": "按语言过滤 (例如, 'ENGLISH', 'JAPANESE,GERMAN')。 用逗号 (,) 分隔多种语言。 支持: ENGLISH, GERMAN, CHINESE, FRENCH, SPANISH, ARABIC, JAPANESE, KOREAN, PORTUGUESE, RUSSIAN, ITALIAN, DUTCH, SWEDISH, FINNISH, NORWEGIAN, DANISH。"
    },
    "status": {
      "type": "string",
      "enum": ["GRANT", "APPLICATION"],
      "description": "按专利状态过滤: 'GRANT' 或 'APPLICATION'。"
    },
    "type": {
      "type": "string",
      "enum": ["PATENT", "DESIGN"],
      "description": "按专利类型过滤: 'PATENT' 或 'DESIGN'。"
    },
    "scholar": {
      "type": "boolean",
      "description": "包括 Google Scholar 结果 (默认: false)。",
      "default": false
    }
  },
  "required": ["q"]
}

输出:

返回一个 JSON 对象,其中包含来自 SerpApi 的搜索结果。 该结构遵循 SerpApi 响应格式。

使用示例 (MCP 请求):

{
  "mcp_version": "1.0",
  "type": "CallToolRequest",
  "id": "req-123",
  "server_name": "google-patents-mcp",
  "params": {
    "name": "search_patents",
    "arguments": {
      "q": "organic light emitting diode",
      "num": 10,
      "language": "ENGLISH",
      "status": "GRANT",
      "after": "publication:20230101"
    }
  }
}

开发

  1. 克隆存储库 (如果需要进行开发):
    # git clone <repository-url>
    # cd google-patents-mcp
    
  2. 安装依赖项:
    npm install
    
  3. 创建 .env 文件:.env.example 复制到 .env 并添加您的 SERPAPI_API_KEY
  4. 构建:
    npm run build
    
  5. 本地运行:
    npm start
    
    或者用于具有自动重建功能的开发:
    npm run dev
    

日志记录

  • 日志输出到标准错误。
  • 可以通过 LOG_LEVEL 环境变量控制日志级别 (error, warn, info, http, verbose, debug, silly)。 默认为 info
  • 尝试在项目根目录 (google-patents-server.log)、用户的主目录 (~/.google-patents-server.log) 或 /tmp/google-patents-server.log 中创建一个日志文件。

许可证

MIT 许可证 (请参阅 LICENSE 文件)

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选