Patent_mcp_server
FastMCP Server for USPTO data
riemannzeta
README
USPTO Patent MCP Server
A FastMCP server for accessing United States Patent and Trademark Office (USPTO) patent and patent application data through the Patent Public Search API and the Open Data Portal (ODP) API. Using this server, Claude Desktop can pull data from the USPTO using either the Public Search API (the backend for the Patent Center) or the ODP APIs:
For an introduction to MCP servers see Introducing the Model Context Protcol.
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 tools for:
- Patent Search - Search for patents and patent applications
- Full Text Documents - Get complete text of patents including claims, description, etc.
- PDF Downloads - Download patents as PDF files. (But Claude Desktop doesn't support this as a client currently.)
- Metadata - Access patent bibliographic information, assignments, and litigation data
API Sources
This server interacts with two USPTO sources:
- ppubs.uspto.gov - For full text document access, PDF downloads, and advanced search
- api.uspto.gov - For metadata, continuity information, transactions, and assignments
Prerequisites
- Claude Desktop (for integration). Other models and MCP clients have not been tested.
- For Patent Public Search requests, no API Key is required, but there are rate limits. This API is not meant for bulk downloads.
- For ODP API requests, a USPTO ODP API Key (see below).
- 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
should do the trick.
Installation
-
Clone this repository:
git clone https://github.com/riemannzeta/patent_mcp_server cd patent_mcp_server
-
Install dependencies with uv:
uv sync
If installed correctly, then:
uv run patent-mcp-server
Should write:
INFO Starting USPTO Patent MCP server with stdio transport
to the console. With an API key installed in the environment and Claude Desktop configured, the patents MCP server is ready.
API Key Setup
To use the api.uspto.gov tools, you need to obtain an Open Data Portal (ODP) API key:
-
Visit USPTO's Getting Started page and follow the instructions to request an API key if you don't already have one.
-
Create a
.env
file in the patent_mcp_server directory with the following content:PATENTS_MCP_SERVER_ODP_API_KEY=<your_key_here>
You don't need quotes or the < > brackets around your key. The ppubs tools will run without this API key, but the API key is required for the api tools.
Claude Desktop Configuration
To integrate this MCP server with Claude Desktop:
-
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 in the sidebar, and "Edit Config." -
Replace
/Users/username/patent_mcp_server
with the actual path to your patent_mcp_server directory if that's not where it was cloned. (If you're on a mac, this may mean simply replacingusername
with your username.)
When integrated with Claude Desktop, the server will be automatically started when needed and doesn't need to be run separately. The server uses stdio transport for communication with Claude Desktop or other MCP clients running on the same host.
Available Functions
The server provides the following functions to interact with USPTO data. Note that the Claude Desktop client does not fully support all of these tools. For example, Claude Desktop does not at present allow for download of PDFs.
Public Patent Search (ppubs.uspto.gov)
ppubs_search_patents
- Search for granted patents in USPTO Public Searchppubs_search_applications
- Search for published patent applications in USPTO Public Searchppubs_get_full_document
- Get full patent document details by GUID from ppubs.uspto.govppubs_get_patent_by_number
- Get a granted patent's full text by number from ppubs.uspto.govppubs_download_patent_pdf
- Download a granted patent as PDF from ppubs.uspto.gov (not currently supported by Claude Desktop)
Open Data Portal API (api.uspto.gov)
get_app(app_num)
- Get basic patent application datasearch_applications(...)
- Search for patent applications using query parametersdownload_applications(...)
- Download patent applications using query parametersget_app_metadata(app_num)
- Get application metadataget_app_adjustment(app_num)
- Get patent term adjustment dataget_app_assignment(app_num)
- Get assignment dataget_app_attorney(app_num)
- Get attorney/agent informationget_app_continuity(app_num)
- Get continuity dataget_app_foreign_priority(app_num)
- Get foreign priority claimsget_app_transactions(app_num)
- Get transaction historyget_app_documents(app_num)
- Get document detailsget_app_associated_documents(app_num)
- Get associated documentsget_status_codes(...)
- Search for status codessearch_datasets(...)
- Search bulk dataset productsget_dataset_product(...)
- Get a specific product by its identifier
Refer to the function docstrings in the code for detailed parameter information.
Testing
The /test/
directory contains a couple of scripts for testing. test_patents.py
includes a few tests of direct HTTP requests to the ppubs.uspto.gov and api.uspto.gov endpoints. test_tools.py
includes a complete set of tests for each tool available to the MCP server. Test results in JSON and PDF format are stored in the /test/test_results
subdirectory.
To execute a test, run uv run test/test_tools.py
from the project root directory.
License
MIT
Recommended Servers
Crypto Price & Market Analysis MCP Server
A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.
MCP PubMed Search
Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.
dbt Semantic Layer MCP Server
A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.
mixpanel
Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Nefino MCP Server
Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.
Vectorize
Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.
Mathematica Documentation MCP server
A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.
kb-mcp-server
An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded
Research MCP Server
The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.