patent_mcp_server
FastMCP Server for USPTO data
claude mcp add --transport stdio riemannzeta-patent_mcp_server uv run patent-mcp-server
How to use
This MCP server provides access to USPTO patent and patent application data through multiple APIs, including Patent Public Search, Open Data Portal, PTAB, PatentsView, Office Actions, and Patent Litigation. It exposes 51 tools across 6 data sources to enable Claude Desktop and other MCP clients to search patents, retrieve full-text documents and PDFs, review prosecution history and office actions, explore PTAB proceedings, analyze litigation data, and perform enriched citation and family analyses. Key tool groups include Patent Public Search (ppubs.uspto.gov) for full-text patents and applications, PatentsView for disambiguated inventor/assignee data, and Office Action/Litigation endpoints for full-text actions and case data. Common capabilities include ppubs_search_patents, ppubs_search_applications, ppubs_get_full_document, prosecution history lookups, PTAB proceedings and decisions, office actions retrieval, patent litigation search, and citation/family analyses. Claude Desktop can connect to this MCP server to automate data pulls, run targeted queries, and present consolidated USPTO data within workflows.
How to install
Prerequisites:
- Python 3.10–3.13 (3.12 recommended)
- uv (Astral uv) for Python-based MCP servers
- Claude Desktop (for integration), optional
Installation steps:
- Clone the repository:
git clone https://github.com/riemannzeta/patent_mcp_server
cd patent_mcp_server
- Install uv and initialize the environment (recommended):
# If uv is not installed yet, install via the provided script, or follow uv docs
curl -LsSf https://astral.sh/uv/install.sh | sh
- Install server dependencies using uv:
uv sync
- Run the MCP server locally to verify:
uv run patent-mcp-server
Should output:
INFO Starting USPTO Patent MCP server with stdio transport
- Wire up Claude Desktop (optional): see Claude Desktop configuration section in the README for configuring Claude to manage and start the MCP server on demand.
Additional notes
Environment variables and configuration tips:
- USPTO_API_KEY (required for most tools): Set to your Open Data Portal API key. Some tools like PPUBS and PatentsView may function without this key, but ODP/PTAB/Office Actions/Litigation endpoints require it.
- PATENTSVIEW_API_KEY (optional): Set for enhanced search capabilities with PatentsView data.
- Optional API base URLs are exposed in the configuration defaults but generally do not need changes.
- Logging: Adjust LOG_LEVEL (DEBUG, INFO, WARNING, ERROR, CRITICAL) to control verbosity.
- REQUEST_TIMEOUT, MAX_RETRIES, RETRY_MIN_WAIT, RETRY_MAX_WAIT control HTTP behavior.
- SESSION_EXPIRY_MINUTES and ENABLE_CACHING govern session caching for performance.
- Claude Desktop integration: Configure claude_desktop_config.json to point to your local patent_mcp_server directory using uv with the run command as shown in the README example.
Common issues:
- 403 Forbidden when using USPTO APIs indicates missing or invalid USPTO_API_KEY; ensure you have a valid key and that it is loaded into the environment before starting the server.
- If using Claude Desktop, ensure the path to the patent_mcp_server directory is correct and that uv is available in your environment.
- When running behind a firewall or proxy, ensure appropriate network access to USPTO API endpoints.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP