docdb-mcp
This server resolves patent publication numbers to their canonical DOCDB (European Patent Office) identifiers. Specifically, you can:
Look up patent records by providing a two-letter country code (e.g.,
US,EP,WO) and a publication number (without kind code) to retrieve canonical DOCDB recordsNormalize DOCDB IDs — returns the canonical DOCDB ID including the kind code suffix (e.g.,
US8000000B2), useful for normalizing patents cited in varying formatsGet first inventor names (in caps) to verify matches against citations like "Greenberg et al."
Get publication dates (in
YYYYMMDDformat) to cross-reference patents cited with year referencesRetrieve patent family IDs to identify related patent documents across jurisdictions
Handle multiple document variants — if a publication number has both A1 and B2 versions, all matching records are returned so the correct one can be selected
Receive structured error guidance via error codes (e.g.,
cc_does_not_exist,number_is_not_alnum) to help correct malformed inputs
Note: Leading zeros in the number are ignored automatically; strip kind codes, hyphens, spaces, and slashes before calling. An empty result means no match was found, not an error.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@docdb-mcpresolve US patent 8,000,000 to DOCDB"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
docdb-mcp
An MCP server that resolves patent publication numbers to their canonical DOCDB identifiers.
What it does
Given a country code and publication number, resolve_docdb_id returns candidate
records with canonical DOCDB ID (including kind code), first inventor, publication
date, and family ID. This is useful for asserting that DOCDB identifiers are
correct, or for recovering properly normalized DOCDB identifiers from
citations that appear in different formats across documents:
US 8,000,000 (Greenberg)→US8000000B2
Related MCP server: USPTO Patent MCP Server
Installation
Option 1 — Hosted endpoint (no install)
A public MCP server is available at https://docdb.sarl-graip.fr/mcp using the
streamable HTTP transport. Configure your MCP client to point at it directly:
{
"mcpServers": {
"docdb": {
"type": "streamable-http",
"url": "https://docdb.sarl-graip.fr/mcp"
}
}
}No API key or credentials required.
Option 2 — Local install via uvx
Add this to your MCP client configuration (Claude Desktop, Continue, Cursor, etc.):
{
"mcpServers": {
"docdb": {
"command": "uvx",
"args": ["docdb-mcp"],
"env": {
"DOCDB_API_URL": "https://docdb.sarl-graip.fr"
}
}
}
}uvx installs and runs the package in one step — no virtualenv needed.
Tool reference
resolve_docdb_id(cc, number)
Parameter | Type | Description |
|
| Two-letter DOCDB country code, e.g. |
|
| Publication number without kind code, e.g. |
Strip the kind code before calling. The kind code is the trailing letter+digit suffix (B2, A1, A2, U1). Passing it returns an empty list, not an error.
"US8000000B2" → cc="US", number="8000000"
"EP1234567A1" → cc="EP", number="1234567"
"US 8,000,000" → cc="US", number="8000000"Returns a list of records (empty list = no match):
[
{
"docdb_id": "US8000000B2",
"inventor": "ROBERT J. GREENBERG",
"date_publ": "20110816",
"family_id": "39183031"
}
]Multiple records mean the same publication number has several document variants (e.g. an A1 and a B2 of the same application).
License
MIT
Available Tools
1 toolresolve_docdb_idA
Resolve a patent publication number to its canonical DOCDB record(s).
IMPORTANT — strip the kind code before calling: "US8000000B2" → cc="US", number="8000000" "EP1234567A1" → cc="EP", number="1234567" "WO2013143024" → cc="WO", number="2013143024" The kind code (trailing letter+digit suffix like B2, A1, A2, U1) is NEVER part of the number argument. Passing it causes an empty result, not an error.
Also strip formatting: "US 8,000,000" → cc="US", number="8000000".
Leading zeros in the number are ignored: "08000000" and "8000000" are equivalent.
Args: cc: Two-letter DOCDB country code, e.g. "US", "EP", "WO", "DE", "JP", "FR", "GB", "CN", "KR". Must be exactly 2 characters. number: Publication number without kind code or country prefix, digits and letters only (no hyphens, spaces, or slashes).
Returns: List of matching records, each with: - docdb_id: full DOCDB ID including kind code, e.g. "US8000000B2" - inventor: first inventor full name in caps, e.g. "ROBERT J. GREENBERG" - date_publ: publication date as YYYYMMDD, e.g. "20110816" - family_id: DOCDB patent family ID, e.g. "39183031" Multiple records mean the same publication number has several document variants (e.g. an A1 and a B2 publication of the same application). Empty list means no match — not an error.
If you get an empty list:
Check that you stripped the kind code (most common mistake).
Consider common transcription errors in the source material: O/0, I/1, S/5, B/8. Try plausible substitutions in the number.
Use all context available to you (inventor name, year) to reconstruct the most likely number and retry.
Processing the output: The tool returns the first inventor and publication date. These map directly onto the way patents are cited in practice: "Greenberg", "Greenberg et al.", or "Greenberg et al. (2011)" in a source document should match inventor "ROBERT J. GREENBERG" and date_publ starting with "2011". Use that correspondence to verify the match. If you get multiple records, compare inventor names and publication dates across the candidates to select the most likely one. In all cases you must decide: the tool gives you candidates, not a verdict.
Error codes returned by the server (not exceptions):
"cc_does_not_exist": cc is not a recognized DOCDB country code — check spelling or try the ISO 2-letter code for the country.
"number_is_not_alnum": number contains illegal characters such as hyphens, slashes, or spaces — strip them before retrying.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | Yes | ||
| number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: it explains the output structure, the meaning of multiple records, error codes returned (not exceptions), and edge cases like leading zeros. It does not contradict any annotations (none provided).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections (IMPORTANT, Args, Returns, troubleshooting) and front-loaded with critical instructions. It is somewhat lengthy but every sentence serves a purpose. Minor redundancy (e.g., list of country codes) could be trimmed but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers input preparation, output interpretation, error handling, and edge cases. It includes troubleshooting guidance and processing advice. There are no sibling tools, so no differentiation needed. It is complete for the given complexity and schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description thoroughly explains both parameters: cc (two-letter DOCDB country code with examples) and number (publication number without kind code, formatting, or special characters). It includes constraints and typical values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Resolve a patent publication number to its canonical DOCDB record(s).' It specifies the exact action (resolve) and the resource (patent publication number to DOCDB records). No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit instructions on how to prepare inputs (strip kind code, format numbers), gives examples, troubleshooting steps for empty results, and advice on using context. Although no siblings are listed, the guidance is comprehensive and directly applicable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.1- Removed
query_patent - Added
resolve_docdb_id
1 tool update
v0.1.0- First observed
query_patent
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion or ambiguity between tools.
The single tool name follows a clear verb_noun pattern (resolve_docdb_id) and is self-explanatory.
A single tool is minimal but can be appropriate for a very focused purpose like patent ID resolution. However, it feels thin for any broader use case.
The server covers only ID resolution, missing related operations like search, listing, or batch processing. For a narrow purpose it may be sufficient, but agents have no fallback if resolution fails.
Maintenance
Related MCP Connectors
US patent search, assignee portfolios, and citation graph via PatentsView.
AI-optimized patent data marketplace providing structured JSON datasets.
Global patent search, briefs, similarity, citations and landscape stats. Strong China coverage.
Patent search, USPTO data, patent landscape & pgvector prior-art search for agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables comprehensive patent information queries and analytics including fuzzy company search, patent search by various criteria (name, application number, applicant), and statistical analysis of patent portfolios including status distribution, application trends, and patent type classification.28-
- AlicenseBqualityAmaintenanceProvides access to USPTO patent and patent application data through multiple APIs, enabling search, retrieval, and analysis of patents, PTAB proceedings, and litigation data via natural language.6179MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying patent data from the European Patent Office, including bibliographic info, patent families, abstracts, and claims.8MIT
- AlicenseNot gradedqualityDmaintenanceEnables fetching patents from multiple global sources by patent ID, returning PDF, Markdown, and metadata with automatic caching.2Creative Commons Zero v1.0 Universal