Описание
A MCP server for European Patent office ops services
README
A server that exposes the European Patent Office's Open Patent Services API as an MCP (Model Context Protocol) server using the fastMCP library.
Features
- MCP-compatible server for accessing EPO OPS services
- Built-in authentication, throttling, and caching
- Automatic API documentation
- Docker support for easy deployment
- Dependency management with
uvfor fast installation - Proper validation using Pydantic models
Prerequisites
- Python 3.8+
- EPO OPS API credentials (key and secret)
uvpackage manager (optional but recommended)
Installation
Option 1: Using uv (Recommended)
Clone the repository:
git clone <repository-url> cd epo-ops-mcp-serverInstall
uvif you haven't already:pip install uvOr follow the official installation guide
Install dependencies with
uv:uv sync
Usage
Set up environment variables: Create a
.envfile with your EPO OPS credentials:# 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.dbmStart the server:
python main.pyOr with
uv:uv run python main.py
MCP client configuration
"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 Tools
The server exposes the following tools that can be used by MCP clients:
get_published_data- Retrieve published patent datasearch_published_data- Search published patent dataget_family- Retrieve patent family dataget_legal- Retrieve legal status informationconvert_number- Convert patent number formatsget_register- Retrieve European Patent Register datasearch_register- Search European Patent Registerget_image- Retrieve patent images
Number Formats
The EPO OPS API supports different patent number formats:
- Epodoc Format: A single string that combines country, number, and kind code (e.g., "WO2025160170" or "US5444451A")
- Docdb Format: Separate fields for country code, number, and kind code (e.g., "WO", "2025160170", "A1")
When using the tools, you can provide patent numbers in either format:
# Epodoc format
{
"number": "WO2025160170",
"kind_code": "A1"
}
# Docdb format
{
"country_code": "WO",
"number": "2025160170",
"kind_code": "A1"
}
The server now uses Pydantic models to validate the input data, ensuring that the correct format is used for each type of request. This provides better type safety and clearer error messages when invalid data is provided.
Configuration
The server can be configured using environment variables:
| Variable | Description | Default |
|---|---|---|
EPO_OPS_KEY |
EPO OPS API key | Required |
EPO_OPS_SECRET |
EPO OPS API secret | Required |
SERVER_HOST |
Server host | 0.0.0.0 |
SERVER_PORT |
Server port | 8000 |
CACHE_ENABLED |
Enable caching | True |
CACHE_PATH |
Cache file path | /var/tmp/epo-ops-server/cache.dbm |
Development
For development, you can install the dev dependencies:
With uv:
uv sync --extra=dev
With pip:
pip install -e .[dev]
Установка Epo Ops
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/JIBSN/epo-ops-mcp-serverFAQ
Epo Ops MCP бесплатный?
Да, Epo Ops MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Epo Ops?
Нет, Epo Ops работает без API-ключей и переменных окружения.
Epo Ops — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Epo Ops в Claude Desktop, Claude Code или Cursor?
Открой Epo Ops на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Epo Ops with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
