Skip to main content

Patent MCP Server

๐Ÿš€ ไธญๅ›ฝไธ“ๅˆฉๆœ€ๅ‡†็กฎ็š„ๅผ€ๆบ MCPใ€‚ Give your AI agent the ability to read CN patents with real accuracy โ€” plus global coverage.

Tests Python License MCP PyPI

An MCP (Model Context Protocol) server that gives AI agents access to patent data โ€” CN patents with CPC-aware correction, plus US/WO global coverage. Runs locally on your machine. No external API, no subscription. Always MIT.


Why Self-Deployed

  • It's just Python. Install it, your agent uses it. No server to maintain, no credential to share.
  • No API key for 80% of use cases. Patent details and claims come straight from Google Patents public pages.
  • Your data stays local. Nothing leaves your machine except the same HTTP requests a browser would make.
  • BigQuery search is optional. Only turn it on if you need full-text search across 1.4B records.

30-Second Install

pip install deeparchi-patent-mcp

Or from source:

git clone https://github.com/deeparchi-ai/patent-mcp-server.git
cd patent-mcp-server
pip install -e .

Quick Start

Pick your agent platform and add this to its MCP config:

Claude Desktop

{
  "mcpServers": {
    "patent-mcp": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/patent-mcp-server"
    }
  }
}

Cursor / Windsurf / Cline

Same config as Claude Desktop above.

Hermes Agent

mcp_servers:
  patent-mcp:
    command: "python"
    args: ["-m", "src.server"]
    workdir: "/path/to/patent-mcp-server"

Now ask your agent:

"Get patent US-7650331-B1 and summarize the claims."


What's Included

Tool What It Does Needs Setup?
get_patent Full patent details: classifications, citations (X/Y/A/D), inventors, assignees, family No
get_patent_claims Patent claims text โ€” legal scope. Supports US, CN, and most countries via Google Patents No
search_patents Search 1.4B patents by keyword, CPC, assignee, country, date range Optional GCP

The first two cover 80% of use cases. Zero cost. Zero setup.

CN Patent Search (v1.7.0)

Three-layer discovery for Chinese patents:

Layer Backend Cost When
1. BigQuery Google Patents Public Data Free tier cpc=H01L + country=CN
2. Firecrawl Web search fallback 4 credits/query BigQuery cost-rejects specific CPC (e.g. H01L25/065)
3. Google Patents Detail enrichment via proxy Free All patent detail lookups
  • Keyword search works: query="่Šฏ็‰‡" + country=CN searches both English AND Chinese abstracts (v1.5.2 fix).
  • Assignee filter: assignee="BOE" + country=CN โ†’ company/city-level patent landscape.
  • CPC classification: Use parent CPC classes (H01L) for broader CN coverage; specific CPC codes (H01L25/065) trigger web fallback.
  • See SEARCH_GUIDE.md for detailed search strategy and tested CPC codes.

Optional: Enable BigQuery Search

If you need search_patents, add a GCP project:

  1. Create a GCP project with BigQuery enabled
  2. Create a service account, download JSON key
  3. Set env vars:
    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"
    export GCP_PROJECT_ID="your-project-id"
    
  4. Copy the wrapper template and fill in your paths:
    cp run.sh.example run.sh
    # Edit run.sh โ†’ set your GCP paths
    

BigQuery free tier: 1 TB/month โ€” individual use is essentially free.


Advanced: Team Server (HTTP/SSE)

Need multiple people to share one patent-mcp instance? Start it as an HTTP server:

cp run-http.sh.example run-http.sh
# Edit โ†’ set GCP creds (skip if only using web tools)
PORT=8090 ./run-http.sh

Team members connect with:

mcp_servers:
  patent-mcp:
    url: "http://<server-ip>:8090/sse"

A systemd service template is included for production deployment.


How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  AI Agent    โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚  patent-mcp-server                    โ”‚
โ”‚  (Claude,    โ”‚     โ”‚  (runs on YOUR machine)               โ”‚
โ”‚   Cursor,    โ”‚     โ”‚                                       โ”‚
โ”‚   Hermes)    โ”‚     โ”‚  search_patents:                      โ”‚
โ”‚              โ”‚     โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚              โ”‚     โ”‚    โ”‚ BigQuery โ”‚โ”€โ”€โ”€โ–ถโ”‚ Firecrawl     โ”‚  โ”‚
โ”‚              โ”‚     โ”‚    โ”‚ (primary)โ”‚    โ”‚ (CN fallback) โ”‚  โ”‚
โ”‚              โ”‚     โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚              โ”‚     โ”‚                           โ”‚           โ”‚
โ”‚              โ”‚     โ”‚  get_patent / get_patent_claims:      โ”‚
โ”‚              โ”‚     โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚              โ”‚     โ”‚    โ”‚ Google Patents (web) โ”‚           โ”‚
โ”‚              โ”‚     โ”‚    โ”‚ โ†’ BigQuery fallback  โ”‚           โ”‚
โ”‚              โ”‚     โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  • Web scraping for details โ€” fast (~1.5s), free, no credentials
  • BigQuery for search โ€” 1.4B records, CN full-text, optional
  • Firecrawl for CN fallback โ€” kicks in when BigQuery cost-rejects specific CPC queries
  • Smart fallback โ€” every tool tries web first, auto-falls to BigQuery if you have it

Tools Reference

get_patent

get_patent(publication_number="US-7650331-B1")

Returns: classifications, citations (X/Y/A/D prior art markers), family ID, dates, inventors, assignees. Cites prior art markers so your agent can assess novelty at a glance.

CN patent note: Google Patents web scraping provides machine-translated English data for CN patents. CPC codes from web scraping are empty (JS-rendered). For CPC, use BigQuery path.

get_patent_claims

get_patent_claims(publication_number="US-7650331-B1")

Returns: full claims text. Supports US, CN (machine-translated English), and most countries via Google Patents web scraping.

search_patents

search_patents(cpc="G06N", country="CN", after="2023-01-01", limit=5)
search_patents(assignee="TSMC", country="CN")
search_patents(query="่Šฏ็‰‡", country="CN")          # keyword search (CN: searches both EN+ZH)

Search 1.4B patents by keyword, CPC classification, assignee, country, date range. For CN patents, keyword search scans both English and Chinese abstracts.

Cost control: Queries require at least one filter (cpc/country/assignee/after). A dry-run budget guard rejects queries over 50 GB. When BigQuery rejects a CN CPC query (e.g., H01L25/065 โ†’ 256 GB), the web fallback automatically searches via Firecrawl.

See SEARCH_GUIDE.md for best practices and docs/cn-cpc-correction-table.md for tested CPC codes.


Development

pip install -e ".[dev]"

pytest tests/ -v          # 32 tests, ~1.5s
ruff check src/ tests/    # lint
mypy src/                 # type check

License

MIT โ€” see LICENSE.


Author

DeepArchi OPC โ€” AI agent infrastructure for enterprise architecture.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deeparchi_patent_mcp-1.8.0.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deeparchi_patent_mcp-1.8.0-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file deeparchi_patent_mcp-1.8.0.tar.gz.

File metadata

  • Download URL: deeparchi_patent_mcp-1.8.0.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for deeparchi_patent_mcp-1.8.0.tar.gz
Algorithm Hash digest
SHA256 9a26b989c1fc89c84244f5fcfe025bc2fc9d26a1e5e6036f950e9995e6b8f582
MD5 6f0433e36ddeb4d55edec6f28fad7eac
BLAKE2b-256 838a0af7e97f395db7d1d6b45a6b0a7b7e878ee67e1db851d5d9a5531cd9cd82

See more details on using hashes here.

File details

Details for the file deeparchi_patent_mcp-1.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for deeparchi_patent_mcp-1.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 510af9ced14434bbd234adf6b61b47d05a972a4959e71f821b7bb4ad3869b5e4
MD5 b692552e0d5110d72f8781ff21d3ec5e
BLAKE2b-256 cfe9b848d5b4ad16cc92eb311a3781e8356f3c2a3eb3dabf35f65c7cbcfd1429

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page