Patents Mcp Server

io.github.sapientsaiPublished by GitHub account sapientsaiv1.2.3Updated Nov 3, 2026

Patent intelligence — USPTO Open Data, PTAB, EPO OPS and BigQuery full-text search.

Overview

AI-generated overview

Local MCP server giving assistants patent intelligence: USPTO ODP, PTAB, EPO OPS and Google BigQuery full-text search across 90M+ patents.

What you can do
  • Search and read USPTO applications, prosecution history, assignments, continuity and file-wrapper PDFs
  • Research PTAB proceedings, decisions and appeals, plus citations, litigation and office actions
  • Search EPO patents, fetch biblio, abstract, claims and description, look up INPADOC families and legal status
  • Run BigQuery full-text patent search, family lookup, citation networks and CPC filing analytics
  • Look up CPC classification codes and USPTO status code meanings, and check which data sources are configured
When to use it
Useful for IP landscape analysis, prior-art and freedom-to-operate research, competitor portfolio review, PTAB research and patent monitoring, where an assistant should pull from official patent data sources rather than the open web.
Requirements
Runs locally as a Node.js process (npm package, stdio by default; optional HTTP transport). Optional credentials per source: USPTO_API_KEY for ODP, PTAB, citations and office actions; EPO_CONSUMER_KEY and EPO_CONSUMER_SECRET for EPO OPS; GOOGLE_APPLICATION_CREDENTIALS or GOOGLE_CREDENTIALS_JSON plus GOOGLE_CLOUD_PROJECT for BigQuery. Tools whose keys are missing are simply not registered. Network access to the upstream APIs is required.
Before you install
Requires several third-party credentials: USPTO_API_KEY, EPO_CONSUMER_KEY, EPO_CONSUMER_SECRET, and a GCP service-account key (GOOGLE_APPLICATION_CREDENTIALS or inline GOOGLE_CREDENTIALS_JSON) with BigQuery roles. BigQuery queries are billed to GOOGLE_CLOUD_PROJECT; broad full-text searches scan roughly 200-300GB each against a 1TB/month free tier, so costs can accrue. Document downloads are proxied through the server's own USPTO key. Queries and patent identifiers are sent to USPTO, EPO and…

Installation

In SourceWeft

  1. Open Patents Mcp Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

patents-mcp-server

FastMCP TypeScript patent intelligence MCP server. 45 tools across USPTO, EPO, and Google Patents for IP landscape analysis, freedom-to-operate research, and patent monitoring.

Note: PatentsView support was removed in May 2026 — its API host search.patentsview.org was decommissioned on 2026-03-20 when PatentsView migrated to USPTO ODP as bulk-download datasets only (no live API replacement). US full-text search is now available via Google BigQuery; bibliographic data via USPTO ODP. See docs/MCP_PLAN-PatentsView-Rehoming_2026-05-30.md for the options analysis.

Data Sources

SourceToolsKey Capability
USPTO ODP30Applications, document PDF download, PTAB, citations, litigation, office actions
EPO OPS8INPADOC patent families, legal status across ~44 offices, claims/descriptions
Google BigQuery4Full-text search across 90M+ patents, citation networks, CPC analytics

Tools only register when their required API keys are configured — no broken tools cluttering the MCP client.

Quick Start

bash
pnpm installcp .env.example .env    # Add your API keyspnpm build

Run via stdio (Claude Desktop / Claude Code)

bash
node dist/index.js

Run via HTTP (remote deployment)

bash
TRANSPORT=httpStream PORT=8080 node dist/index.js

MCP Configuration (.mcp.json)

json
{  "mcpServers": {    "patents": {      "command": "node",      "args": ["dist/index.js"],      "env": {        "USPTO_API_KEY": "${USPTO_API_KEY}",        "EPO_CONSUMER_KEY": "${EPO_CONSUMER_KEY}",        "EPO_CONSUMER_SECRET": "${EPO_CONSUMER_SECRET}",        "GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_APPLICATION_CREDENTIALS}",        "GOOGLE_CLOUD_PROJECT": "${GOOGLE_CLOUD_PROJECT}"      }    }  }}

Test with MCP Inspector

bash
npx @modelcontextprotocol/inspector node dist/index.js

Configuration

API Keys

SourceEnv Var(s)Where to Get
USPTO ODPUSPTO_API_KEYdata.uspto.gov → MyODP
EPO OPSEPO_CONSUMER_KEY + EPO_CONSUMER_SECRETdevelopers.epo.org
BigQueryGOOGLE_APPLICATION_CREDENTIALS + GOOGLE_CLOUD_PROJECTGCP Console (service account with BigQuery roles)

Missing API keys disable related tools gracefully — the server still starts with whatever sources are configured. Use the check-api-status tool to verify which sources are available.

Credential Management with envpkt

This project uses envpkt for credential management. API keys are stored as sealed (age-encrypted) packets and non-secret config as [env.*] entries in envpkt.toml. The .mcp.json references env vars via ${VAR} syntax, which are loaded by eval "$(envpkt env export)" in your shell profile.

Path Expansion

GOOGLE_APPLICATION_CREDENTIALS supports tilde (~) and environment variable ($HOME, ${HOME}) expansion via functype-os. Use paths like ~/.config/gcloud/key.json instead of absolute paths.

BigQuery Cost Notes

  • Free tier: 1TB/month of queries scanned
  • A broad full-text search across 90M patents scans ~200-300GB per query
  • Targeted queries (patent number, family, CPC with date range) scan much less
  • Every query runs a dry run first; estimated cost is included in the response

Tools

USPTO ODP (13 tools)

Official USPTO Open Data Portal — applications, prosecution history, assignments, documents.

  • odp-search-applications — Search patent applications (2001+)
  • odp-get-application / metadata / continuity / assignment / adjustment / attorney / foreign-priority / transactions / documents
  • odp-download-document — Download a file-wrapper document as a PDF (proxies the authenticated fetch through the server's key)
  • odp-search-datasets / get-dataset — Bulk data products

PTAB (7 tools)

Post-grant proceedings — IPR, PGR, CBM, ex parte appeals.

  • ptab-search-proceedings / get-proceeding / get-documents
  • ptab-search-decisions / get-decision
  • ptab-search-appeals / get-appeal

Citations & Litigation (6 tools)

Patent citations and litigation data.

  • citations-get-enriched / search / get-metrics
  • litigation-search / get-case / get-patent

EPO OPS (8 tools)

European Patent Office — international coverage, INPADOC families, legal status.

  • epo-search-patents — CQL search (title, abstract, applicant, inventor, CPC, date)
  • epo-get-biblio / abstract / claims / description — Patent document sections
  • epo-family-lookup — INPADOC family members across all jurisdictions
  • epo-legal-status — Legal status across ~44 patent offices
  • epo-number-convert — Convert between number formats

Google BigQuery (4 tools)

Full-text search across 90M+ patent documents. Replaces PPUBS for claims search.

  • bigquery-patent-search — Full-text search across titles and abstracts
  • bigquery-patent-family — Family members by INPADOC family ID
  • bigquery-citation-network — Citation graph (depth 1 or 2)
  • bigquery-cpc-analytics — Filing statistics by CPC classification

Office Actions (4 tools)

USPTO office action data (migrating to ODP in 2026).

  • office-action-get-text / search / get-citations / get-rejections

Utility (3 tools)

  • check-api-status — Health check all configured APIs
  • get-cpc-info — CPC classification lookup
  • get-status-code — USPTO status code meanings

Prompts

Six workflow prompt templates for common patent analysis tasks:

PromptPurpose
prior_art_searchMulti-source prior art search workflow
patent_validityStructured validity analysis (102/103/112)
competitor_portfolioCompetitor patent portfolio analysis
ptab_researchPTAB proceedings research (IPR/PGR/CBM)
freedom_to_operateFTO analysis methodology
patent_landscapeTechnology area landscape mapping

Resources

URIDescription
patents://cpc/{code}CPC classification info
patents://status-codesUSPTO status code definitions
patents://sourcesData source overview
patents://search-syntaxQuery syntax guide (EPO CQL, ODP, BigQuery)

Development

bash
pnpm validate        # Format + lint + typecheck + test + buildpnpm test            # Run testspnpm build           # Production buildpnpm typecheck       # Type check onlypnpm codegen         # Regenerate Zod schemas from OpenAPI specspnpm fetch-specs     # Re-download OpenAPI specs from upstream

OpenAPI Codegen

Response schemas are generated from upstream OpenAPI specs using Hey API with the Zod plugin:

bash
pnpm fetch-specs     # Download USPTO ODP specpnpm codegen         # Generate src/generated/odp/zod.gen.ts

Generated code is committed to the repo so CI doesn't need the codegen step.

Testing

Integration tests run against live APIs when credentials are available:

bash
# Requires USPTO_API_KEY in envpnpm test

Tests skip gracefully when API keys are absent.

Architecture

Built with FastMCP + Zod + ts-builds + functype-os.

src/├── index.ts                    # Entry point├── server.ts                   # FastMCP instance├── tools/                      # 45 tools across 7 modules (conditional registration)├── clients/                    # API clients (base, ODP, EPO, BigQuery)├── generated/                  # Zod schemas from OpenAPI specs (Hey API codegen)├── specs/                      # Local copies of OpenAPI specs├── resources/                  # 4 MCP resources├── prompts/                    # 6 prompt templates└── lib/                        # Config, retry, errors, patent number normalization

License

MIT

Acknowledgments


Sponsored by [SapientsAI] SapientsAI — Building agentic AI for businesses

Source: README.md at commit 3dab394

Tools

3

check-api-status

Check the health and configuration status of all patent data APIs (ODP, EPO, BigQuery).

Takes no parameters.

get-cpc-info

Look up CPC (Cooperative Patent Classification) code information. Returns the description for a given CPC section, class, or subclass code.

Parameterscoderequired

get-status-code

Look up the meaning of a USPTO application status code. Returns a human-readable description of what the status code indicates about the application's current state.

Parameterscoderequired

Version history

1
  1. v1.2.3LatestOct 29, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts