Skip to main content
Glama

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

cc

str

Two-letter DOCDB country code, e.g. "US", "EP", "WO"

number

str

Publication number without kind code, e.g. "8000000"

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 tool
resolve_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:

  1. Check that you stripped the kind code (most common mistake).

  2. Consider common transcription errors in the source material: O/0, I/1, S/5, B/8. Try plausible substitutions in the number.

  3. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccYes
numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 2 tool updatesv0.1.1
    • Removedquery_patent
    • Addedresolve_docdb_id
  2. 1 tool updatev0.1.0
    • First observedquery_patent

TDQS

A4.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion or ambiguity between tools.

Naming Consistency5/5

The single tool name follows a clear verb_noun pattern (resolve_docdb_id) and is self-explanatory.

Tool Count3/5

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.

Completeness3/5

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

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
    -
  • A
    license
    B
    quality
    A
    maintenance
    Provides 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.
    61
    79
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables fetching patents from multiple global sources by patent ID, returning PDF, Markdown, and metadata with automatic caching.
    2
    Creative Commons Zero v1.0 Universal