EPO OPS MCP服务器
将欧洲专利局的开放专利服务API公开为使用fastMCP库的MCP(模型上下文协议)服务器的服务器。
特性
- 用于访问EPO OPS服务的MCP兼容服务器
- 内置身份验证、限制和缓存
- API自动文档
- Docker支持,易于部署
- 依赖性管理
uv用于快速安装 - 使用Pydantic模型进行正确验证
先决条件
- Python 3.8+
- EPO OPS API证书(密钥和秘密)
uv包管理器(可选但推荐)
安装
选项1:使用 uv (推荐)
- 克隆存储库:
git clone
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.pyMCP客户端配置
"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]