USPTO Patent MCP Server

by riemannzeta

67 979 downloads Not rated yet MIT

About

A FastMCP server for accessing United States Patent and Trademark Office (USPTO) patent and trademark data through multiple APIs including Patent Public Search, Open Data Portal, PTAB Trial API v3, TSDR trademark status API, and USPTO trademark search. Using this server, Claude…

Details

License
MIT

Explore

This server provides 61 tools across 9 USPTO data sources (36 active, 25 unavailable due to API shutdowns):

1. Patent Search - Full-text search of granted patents and published applications via PPUBS
2. Full Text Documents - Get complete text of patents including claims, description, and specification
3. PDF Downloads - Download patents as PDF files (Claude Desktop doesn't support this as a client currently)
4. Prosecution History - Access transactions and file wrapper data via ODP
5. Patent Family Data - Continuity information, foreign priority, and related applications
6. Bulk Datasets - Search and access USPTO bulk data products including PatentsView disambiguated data
7. Trademark Search - Full-text search of US federal trademarks by mark text, owner, goods/services, and class (clearance/knockout searches)
8. Trademark Status & Documents - Authoritative live status, prosecution documents, and mark images via TSDR
9. Trademark Assignments - Recorded ownership transfer records from 1955 to present (no API key needed)

> Note on unavailable APIs: The PatentsView API (search.patentsview.org) was shut down on March 20, 2026, with its data migrated to ODP bulk datasets. The Office Action and Enriched Citation APIs (developer.uspto.gov) were decommissioned in early 2026. The Patent Litigation API is not offered on the USPTO Open Data Portal; litigation data is available as a bulk download. All 25 affected tools remain registered and return helpful workaround guidance pointing to alternative tools.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name USPTO Patent MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Python 3.10-3.13 (3.12 recommended)
- Claude Desktop (for integration). Other models and MCP clients have not been tested.
- UV for Python version and dependency management

If you're a Python developer but still unfamiliar with uv, you're in for a treat. It's faster and easier than having a separate Python version manager (like pyenv) and setting up, activating, and maintaining virtual environments with venv and pip.

If you don't already have uv installed:

curl -LsSf https://astral.sh/uv/install.sh | sh

To integrate this MCP server with Claude Desktop:

1. Update your Claude Desktop configuration file (claude_desktop_config.json):

   {
"mcpServers": {
"patents": {
"command": "uv",
"args": [
"--directory",
"/Users/username/patent_mcp_server",
"run",
"patent-mcp-server"
]
}
}
}

You can find claude_desktop_config.json on a Mac by opening the Claude Desktop app, opening Settings (from the Claude menu or by Command + ' on the keyboard), clicking "Developer" in the sidebar, and "Edit Config."

2. Replace /Users/username/patent_mcp_server with the actual path to your patent_mcp_server directory.

When integrated with Claude Desktop, the server will be automatically started when needed and doesn't need to be run separately.

To integrate this MCP server with Claude Code for a particular project, from the project root:

claude mcp add-json patents '{"command": "uv", "args": ["--directory", "/path/to/patent_mcp_server", "run", "patent-mcp-server"]}'

If you're already running Claude Code, you'll have to /exit and restart. Then /mcp to verify that it's configured.

check_api_status

Check status of all USPTO APIs

get_cpc_info

Get CPC classification information

get_status_code

Look up USPTO status code meaning

get_trademark_class_info

Look up a Nice/international trademark class (1-45)

get_trademark_status_code

Look up a USPTO trademark status code meaning

To use the api.uspto.gov tools (ODP, PTAB), you need an Open Data Portal API key. Without it, these endpoints return 403 Forbidden. The Patent Litigation API is not offered on ODP and does not require an API key.

1. Create a USPTO.gov account at data.uspto.gov (requires ID.me verification)
2. Once signed in, visit "My ODP" in the site navigation to get your API key
3. See the Getting Started guide for detailed instructions

4. Create a .env file in the patent_mcp_server directory:

   USPTO_API_KEY=your_actual_key_here

Note: The PPUBS patent tools, trademark search (tm_ search tools), and trademark assignment search work without any API key.

The TSDR tools (tsdr_) require a TSDR-specific API key sent as the USPTO-API-KEY header. The ODP key does not work for TSDR — it passes the gateway's auth check, but every request then fails with BACKEND RESPONSE STATUS: 404.

1. Sign in to the USPTO API Key Manager with a free MyUSPTO account
2. Select the TSDR API product and click "Request API key" (the key is emailed and stored under your account)
3. Add it to your .env:

   TSDR_API_KEY=your_tsdr_key_here

TSDR rate limits (peak hours 5am-10pm ET): 60 requests/minute general, 4 requests/minute for PDF document bundles (120/12 off-peak). Use tsdr_list_trademark_documents (metadata only, not rate-limited like PDFs) before downloading bundles.

| Tool | Description |
|------|-------------|
| check_api_status | Check status of all USPTO APIs |
| get_cpc_info | Get CPC classification information |
| get_status_code | Look up USPTO status code meaning |
| get_trademark_class_info | Look up a Nice/international trademark class (1-45) |
| get_trademark_status_code | Look up a USPTO trademark status code meaning |

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "uspto patent mcp server": {
            "patent_mcp_server": {
                "command": "uv",
                "args": [
                    "sync"
                ]
            }
        }
    }
}

McpServers

{
    "patent_mcp_server": {
        "command": "uv",
        "args": [
            "sync"
        ]
    }
}

USPTO Patent & Trademark MCP Server

A FastMCP server for accessing United States Patent and Trademark Office (USPTO) patent and trademark data through multiple APIs including the Patent Public Search API, the Open Data Portal (ODP) API, PTAB API v3, the TSDR trademark status API, and USPTO trademark search. Using this server, Claude Desktop can pull data from USPTO APIs, search through PTAB proceedings and decisions, research prosecution history, run trademark clearance searches, track trademark status, and more:

Screen Capture of Claude Desktop using Patents MCP Server

For an introduction to MCP servers see Introducing the Model Context Protocol.

Special thanks to Parker Hancock, author of the amazing Patent Client project, for blazing the trail to understanding of the string of requests and responses needed to pull data through the Public Search API.

Features

This server provides 61 tools across 9 USPTO data sources (36 active, 25 unavailable due to API shutdowns):

1. Patent Search - Full-text search of granted patents and published applications via PPUBS
2. Full Text Documents - Get complete text of patents including claims, description, and specification
3. PDF Downloads - Download patents as PDF files (Claude Desktop doesn't support this as a client currently)
4. Prosecution History - Access transactions and file wrapper data via ODP
5. Patent Family Data - Continuity information, foreign priority, and related applications
6. Bulk Datasets - Search and access USPTO bulk data products including PatentsView disambiguated data
7. Trademark Search - Full-text search of US federal trademarks by mark text, owner, goods/services, and class (clearance/knockout searches)
8. Trademark Status & Documents - Authoritative live status, prosecution documents, and mark images via TSDR
9. Trademark Assignments - Recorded ownership transfer records from 1955 to present (no API key needed)

> Note on unavailable APIs: The PatentsView API (search.patentsview.org) was shut down on March 20, 2026, with its data migrated to ODP bulk datasets. The Office Action and Enriched Citation APIs (developer.uspto.gov) were decommissioned in early 2026. The Patent Litigation API is not offered on the USPTO Open Data Portal; litigation data is available as a bulk download. All 25 affected tools remain registered and return helpful workaround guidance pointing to alternative tools.

API Sources

| Source | Description | Auth Required | Status |
|--------|-------------|---------------|--------|
| ppubs.uspto.gov | Full text documents, PDF downloads, advanced search (daily updates) | No | Active |
| api.uspto.gov (ODP) | Metadata, continuity, transactions, assignments, prosecution history | Yes (ODP API Key) | Active |
| PTAB Trial API | IPR/PGR/CBM proceedings, decisions, appeals | Yes (ODP API Key) | Active (ODP v3.0) |
| tsdrapi.uspto.gov (TSDR) | Trademark status, prosecution documents, mark images | Yes (TSDR API Key — separate from ODP) | Active |
| tmsearch.uspto.gov | Full-text trademark search (internal API behind the TESS replacement) | No | Active (unofficial) |
| assignmentcenter.uspto.gov | Trademark ownership transfer records (1955-present) | No | Active |
| Patent Litigation API | 74,000+ district court patent cases | N/A | Not offered on ODP (issue #16) |
| PatentsView API | Disambiguated inventor/assignee data, advanced search | N/A | Shut down March 2026 |
| Office Action APIs | Full-text office actions, citations, rejections | N/A | Decommissioned early 2026 |

Prerequisites

- Python 3.10-3.13 (3.12 recommended)
- Claude Desktop (for integration). Other models and MCP clients have not been tested.
- UV for Python version and dependency management

If you're a Python developer but still unfamiliar with uv, you're in for a treat. It's faster and easier than having a separate Python version manager (like pyenv) and setting up, activating, and maintaining virtual environments with venv and pip.

If you don't already have uv installed:

curl -LsSf https://astral.sh/uv/install.sh | sh

Installation

1. Clone this repository:

   git clone https://github.com/riemannzeta/patent_mcp_server
cd patent_mcp_server

2. Install dependencies with uv:

   uv sync

3. Verify installation:

   uv run patent-mcp-server

Should output:
   INFO     Starting USPTO Patent MCP server with stdio transport

API Key Setup

USPTO ODP API Key (Required for most tools)

To use the api.uspto.gov tools (ODP, PTAB), you need an Open Data Portal API key. Without it, these endpoints return 403 Forbidden. The Patent Litigation API is not offered on ODP and does not require an API key.

1. Create a USPTO.gov account at data.uspto.gov (requires ID.me verification)
2. Once signed in, visit "My ODP" in the site navigation to get your API key
3. See the Getting Started guide for detailed instructions

4. Create a .env file in the patent_mcp_server directory:

   USPTO_API_KEY=your_actual_key_here

Note: The PPUBS patent tools, trademark search (tm_ search tools), and trademark assignment search work without any API key.

TSDR API Key (Trademark status/document tools)

The TSDR tools (tsdr_) require a TSDR-specific API key sent as the USPTO-API-KEY header. The ODP key does not work for TSDR — it passes the gateway's auth check, but every request then fails with BACKEND RESPONSE STATUS: 404.

1. Sign in to the USPTO API Key Manager with a free MyUSPTO account
2. Select the TSDR API product and click "Request API key" (the key is emailed and stored under your account)
3. Add it to your .env:

   TSDR_API_KEY=your_tsdr_key_here

TSDR rate limits (peak hours 5am-10pm ET): 60 requests/minute general, 4 requests/minute for PDF document bundles (120/12 off-peak). Use tsdr_list_trademark_documents (metadata only, not rate-limited like PDFs) before downloading bundles.

Trademark search and AWS WAF (no key needed)

tm_search_trademarks / tm_get_trademark use the internal API behind tmsearch.uspto.gov, which sits behind AWS WAF. It currently answers plain requests, but if USPTO tightens the WAF and searches start failing with 403/202 errors, copy the aws-waf-token cookie from a browser session on tmsearch.uspto.gov (valid ~4 days) and set:

TMSEARCH_WAF_TOKEN=your_cookie_value_here

Configuration

The server can be configured using environment variables in your .env file. All settings are optional with sensible defaults:

```bash

API Keys


USPTO_API_KEY=your_key_here # ODP/PTAB tools
TSDR_API_KEY=your_tsdr_key_here # TSDR trademark tools (separate key — see above)
TMSEARCH_WAF_TOKEN=... # Optional - only if trademark search hits the WAF

Logging

LOG_LEVEL=INFO # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL

HTTP Settings

REQUEST_TIMEOUT=30.0 # Request timeout in seconds MAX_RETRIES=3 # Maximum number of retry attempts RETRY_MIN_WAIT=2 # Minimum wait time between retries (seconds) RETRY_MAX_WAIT=10 # Maximum wait time between retries (seconds)

…

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.