USPTO Patent MCP Server
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
- Author
- riemannzeta
- GitHub stars
- 67
- Downloads
- 979
- Categories
- Other
Jump to
- Provides 61 tools across 9 USPTO data sources (36 currently active)
- Full‑text search of granted patents and published applications via PPUBS
- Access prosecution history, patent family data, and bulk datasets via ODP
- Trademark search, status tracking, and document retrieval via TSDR and tmsearch
- Trademark assignment records from 1955 to present (no API key needed)
- PTAB trial proceeding and decision search (IPR/PGR/CBM)
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
USPTO Patent MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone the repository, run uv sync to install dependencies, set required API keys in a .env file, and integrate with Claude Desktop by adding the server definition to claude_desktop_config.json (for Claude Code, use claude mcp add-json). The server starts automatically when needed by the client.
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:

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, CRITICALHTTP 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)…
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



