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
Audiense Insights MCP Server

Audiense Insights MCP Server

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

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
VeyraX

VeyraX

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

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

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

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

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

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

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

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选