使用说明
EPO OPS MCP服务器
将欧洲专利局的开放专利服务API公开为使用fastMCP库的MCP(模型上下文协议)服务器的服务器。
特性
- 用于访问EPO OPS服务的MCP兼容服务器
- 内置身份验证、限制和缓存
- API自动文档
- Docker支持,易于部署
- 依赖性管理
uv用于快速安装 - 使用Pydantic模型进行正确验证
先决条件
- Python 3.8+
- EPO OPS API证书(密钥和秘密)
uv包管理器(可选但推荐)
安装
选项1:使用 uv (推荐)
-
克隆存储库:
git clone <repository-url> cd epo-ops-mcp-server -
安装
uv如果你还没有:pip install uv或者跟随 官方安装指南
-
安装依赖项
uv:uv sync
用法
-
设置环境变量: 创建一个
.env提交您的EPO OPS证书:# EPO OPS API credentials (required) EPO_OPS_KEY=key EPO_OPS_SECRET=secret Server settings (optional) SERVER_HOST=0.0.0.0 SERVER_PORT=8000 # Cache settings (optional) CACHE_ENABLED=True CACHE_PATH=/var/tmp/epo-ops-server/cache.dbm -
启动服务器:
python main.py或与
uv:uv run python main.py
MCP客户端配置
"mcpServers": {
"epo-ops-mcp-server": {
"command": "uv",
"args": [
"run",
"python",
"main.py"
],
"cwd": "path to epo-ops-mcp-server",
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_LOG_LEVEL": "debug"
},
"disabled": false,
"autoApprove": []
}
}
MCP工具
服务器公开了以下可供MCP客户端使用的工具:
get_published_data-检索已发布的专利数据search_published_data-搜索已发布的专利数据get_family-检索专利族数据get_legal-检索法律状态信息convert_number-转换专利号格式get_register-检索欧洲专利注册数据search_register-搜索欧洲专利注册get_image-检索专利图像
数字格式
EPO OPS API支持不同的专利号格式:
- Epodoc格式:组合国家、数字和种类代码的单个字符串(例如,“WO2025160170”或“US5444451A”)
- Docdb格式:国家代码、编号和种类代码的单独字段(例如“WO”、“2025160170”、“A1”)
使用这些工具时,您可以以以下任一格式提供专利号:
# Epodoc format
{
"number": "WO2025160170",
"kind_code": "A1"
}
# Docdb format
{
"country_code": "WO",
"number": "2025160170",
"kind_code": "A1"
}
服务器现在使用Pydantic模型来验证输入数据,确保每种类型的请求都使用正确的格式。当提供无效数据时,这提供了更好的类型安全性和更清晰的错误消息。
配置
可以使用环境变量配置服务器:
| 变量 | 描述 | 默认值 |
|---|---|---|
EPO_OPS_KEY |
EPO OPS API密钥 | 必需 |
EPO_OPS_SECRET |
EPO OPS API机密 | 必需 |
SERVER_HOST |
服务器主机 | 0.0.0.0 |
SERVER_PORT |
服务器端口 | 8000 |
CACHE_ENABLED |
启用缓存 | True |
CACHE_PATH |
缓存文件路径 | /var/tmp/epo-ops-server/cache.dbm |
发展
对于开发,您可以安装开发依赖项:
随着 uv:
uv sync --extra=dev
使用pip:
pip install -e .[dev]
