关于 Google Patents Mcp
Google Patents MCP Server 是一个 MCP 服务,通过 SerpApi 的 Google Patents API 检索专利信息。它面向需要在 AI 助手中查询专利的用户,可通过 npx 直接运行。
主要功能
- 01提供 search_patents 工具
- 02基于 SerpApi 后端检索
- 03支持 npx 免安装运行
- 04通过环境变量或 .env 文件配置 API 密钥
- 05支持 LOG_LEVEL 日志级别设置
适用场景
- 01在 AI 助手中检索专利文献
- 02按关键词或分类筛选专利结果
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 search_patents 工具,返回 SerpApi 的 JSON 搜索结果。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| after | string | 否 | 最早日期筛选条件(例如 'publication:20230101'、'filing:20220601')。格式:type:YYYYMMDD,其中 type 为 'priority'、'filing' 或 'publication'。 |
| assignee | string | 否 | 按受让人名称筛选。多个名称用逗号 (,) 分隔。 |
| before | string | 否 | 最晚日期筛选条件(例如 'publication:20231231'、'filing:20220101')。格式:type:YYYYMMDD,其中 type 为 'priority'、'filing' 或 'publication'。 |
| country | string | 否 | 按国家代码筛选(例如 'US'、'WO,JP')。多个代码用逗号 (,) 分隔。 |
| inventor | string | 否 | 按发明人姓名筛选。多个姓名用逗号 (,) 分隔。 |
| language | string | 否 | 按语言筛选(例如 'ENGLISH'、'JAPANESE,GERMAN')。多种语言用逗号 (,) 分隔。支持:ENGLISH、GERMAN、CHINESE、FRENCH、SPANISH、ARABIC、JAPANESE、KOREAN、PORTUGUESE、RUSSIAN、ITALIAN、DUTCH、SWEDISH、FINNISH、NORWEGIAN、DANISH。 |
| num | integer | 否 | 每页结果数(默认值:10)。**重要:必须大于或等于 10(最多 100)。** |
| page | integer | 否 | 分页页码(默认值:1)。 |
| q | string | 是 | 搜索查询(必填)。虽然 SerpApi 文档中标为可选,但实际上需要提供非空查询。使用分号 (;) 分隔多个词条。支持 '(Coffee) OR (Tea);(A47J)' 之类的高级语法。详情请参阅 'About Google Patents'。 |
| scholar | boolean | 否 | 包含 Google Scholar 结果(默认值:false)。 |
| sort | enum | 否 | 排序方式。'relevance'(默认)、'new'(按申请/公开日期从新到旧)、'old'(按申请/公开日期从旧到新)。relevance | new | old |
| status | enum | 否 | 按专利状态筛选:'GRANT' 或 'APPLICATION'。GRANT | APPLICATION |
| type | enum | 否 | 按专利类型筛选:'PATENT' 或 'DESIGN'。PATENT | DESIGN |
详细介绍
Google Patents MCP 服务(google-patents-mcp)
本项目提供一个模型上下文协议(MCP)服务,可通过 SerpApi Google Patents API 搜索 Google Patents 信息。
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 Google Patents MCP Server:
npx -y @smithery/cli install @KunihiroS/google-patents-mcp --client claude
更新日志
v0.2.0(2025-04-17)
- **修复:**为
resources/list和prompts/listMCP 方法实现空处理器。 - **修复:**在服务初始化中声明
prompts能力。 - **杂项:**更新依赖项。
这些更改旨在提升与 Claude Desktop 等 MCP 客户端的兼容性,因为它们可能需要这些标准端点,但尚未使用 Claude Desktop 进行直接测试。
功能
- 提供一个用于搜索 Google Patents 的 MCP 工具
search_patents。 - 使用 SerpApi 作为后端。
- 无需本地安装,即可直接使用
npx运行。
前置条件
- **Node.js:**推荐使用 18 或更高版本。
- **npm:**运行
npx命令时需要。 - **SerpApi API 密钥:**使用 Google Patents API 需要从 SerpApi 获取有效的 API 密钥。
快速入门(使用 npx)
运行此服务最简单的方式是使用 npx。此命令会下载(如有需要)并直接运行服务。
npx @kunihiros/google-patents-mcp
**注意:**如果实际发布的包名不同,请将 @kunihiros/google-patents-mcp 替换为实际的包名。
服务将启动,并通过标准输入/输出监听 MCP 请求。
配置
服务需要 SerpApi API 密钥。你可以通过以下任一方式提供:
-
环境变量(推荐用于 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" // 可选:设置日志级别 // "LOG_LEVEL": "debug" } } } } -
.env 文件: 在运行
npx命令的目录中(用于本地测试或不使用 MCP 宿主时),或在你的主目录中(~/.google-patents-mcp.env),创建一个.env文件,内容如下:SERPAPI_API_KEY=YOUR_ACTUAL_SERPAPI_KEY # 可选:设置日志级别(例如 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": "Search query (required). Although optional in SerpApi docs, a non-empty query is practically needed. Use semicolon (;) to separate multiple terms. Advanced syntax like '(Coffee) OR (Tea);(A47J)' is supported. See 'About Google Patents' for details."
},
"page": {
"type": "integer",
"description": "Page number for pagination (default: 1).",
"default": 1
},
"num": {
"type": "integer",
"description": "Number of results per page (default: 10). **IMPORTANT: Must be 10 or greater (up to 100).**",
"default": 10,
"minimum": 10,
"maximum": 100
},
"sort": {
"type": "string",
"enum": ["relevance", "new", "old"],
"description": "Sorting method. 'relevance' (default), 'new' (newest by filing/publication date), 'old' (oldest by filing/publication date).",
"default": "relevance"
},
"before": {
"type": "string",
"description": "Maximum date filter (e.g., 'publication:20231231', 'filing:20220101'). Format: type:YYYYMMDD where type is 'priority', 'filing', or 'publication'."
},
"after": {
"type": "string",
"description": "Minimum date filter (e.g., 'publication:20230101', 'filing:20220601'). Format: type:YYYYMMDD where type is 'priority', 'filing', or 'publication'."
},
"inventor": {
"type": "string",
"description": "Filter by inventor names. Separate multiple names with a comma (,)."
},
"assignee": {
"type": "string",
"description": "Filter by assignee names. Separate multiple names with a comma (,)."
},
"country": {
"type": "string",
"description": "Filter by country codes (e.g., 'US', 'WO,JP'). Separate multiple codes with a comma (,)."
},
"language": {
"type": "string",
"description": "Filter by language (e.g., 'ENGLISH', 'JAPANESE,GERMAN'). Separate multiple languages with a comma (,). Supported: ENGLISH, GERMAN, CHINESE, FRENCH, SPANISH, ARABIC, JAPANESE, KOREAN, PORTUGUESE, RUSSIAN, ITALIAN, DUTCH, SWEDISH, FINNISH, NORWEGIAN, DANISH."
},
"status": {
"type": "string",
"enum": ["GRANT", "APPLICATION"],
"description": "Filter by patent status: 'GRANT' or 'APPLICATION'."
},
"type": {
"type": "string",
"enum": ["PATENT", "DESIGN"],
"description": "Filter by patent type: 'PATENT' or 'DESIGN'."
},
"scholar": {
"type": "boolean",
"description": "Include Google Scholar results (default: 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"
}
}
}
开发
- 克隆仓库(如开发需要):
# git clone <repository-url> # cd google-patents-mcp - 安装依赖:
npm install - 创建
.env文件: 将.env.example复制为.env,并添加你的SERPAPI_API_KEY。 - 构建:
npm run build - 在本地运行:
或者在开发过程中启用自动重新构建:npm startnpm 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 文件)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
