Navigation
USPTO Patent MCP Server: Patent Velocity & Strategic Mastery - MCP Implementation

USPTO Patent MCP Server: Patent Velocity & Strategic Mastery

USPTO Patent MCP Server: Unleash lightning-fast patent data mastery, seamless integration, and strategic insights to future-proof IP innovation. #PatentVelocity

Research And Data
4.4(42 reviews)
63 saves
29 comments

Ranked in the top 5% of all AI tools in its category

About USPTO Patent MCP Server

What is USPTO Patent MCP Server: Patent Velocity & Strategic Mastery?

USPTO Patent MCP Server is a specialized middleware solution designed to streamline access to United States Patent and Trademark Office (USPTO) data. It acts as an interface between users and USPTO's Public Patent Search (ppubs.uspto.gov) and Open Data Portal (api.uspto.gov) APIs, enabling rapid retrieval and analysis of patent and application information. This server accelerates strategic decision-making by providing structured programmatic access to critical IP data, empowering legal teams, researchers, and enterprises to optimize their patent workflows.

How to Use USPTO Patent MCP Server: Patent Velocity & Strategic Mastery?

  1. Installation: Clone the repository and install dependencies via package manager.
  2. Configuration: Integrate with Claude Desktop by specifying directory paths in claude_desktop_config.json.
  3. Function Execution: Leverage predefined functions to search patents/applications, retrieve full documents, or download datasets programmatically.
  4. Testing: Validate functionality through test suites in the /test directory to ensure API compatibility and data integrity.

USPTO Patent MCP Server Features

Key Features of USPTO Patent MCP Server: Patent Velocity & Strategic Mastery?

  • Comprehensive API Coverage: Supports both ppubs.uspto.gov and api.uspto.gov endpoints for granular data access.
  • Document Retrieval: Fetch full patent texts, application metadata, and associated documents via GUID or application numbers.
  • Search Capabilities: Perform advanced searches on granted patents and pending applications with query parameters.
  • Data Export: Download datasets in standardized formats for bulk analysis (PDF support pending client compatibility).
  • Automated Workflows: Integrate with AI platforms like Claude Desktop for seamless data ingestion and analysis.

Use Cases of USPTO Patent MCP Server: Patent Velocity & Strategic Mastery?

This tool is ideal for:

  • IP Legal Teams: Conduct prior art searches and track application statuses efficiently.
  • R&D Organizations: Monitor competitor filings and analyze patent landscapes for innovation strategies.
  • Academic Researchers: Access historical patent data for longitudinal studies or machine learning training datasets.
  • Enterprise IP Managers: Automate compliance checks and portfolio audits using standardized API responses.

USPTO Patent MCP Server FAQ

FAQ from USPTO Patent MCP Server: Patent Velocity & Strategic Mastery?

What platforms are supported?
Primarily tested on macOS, with compatibility for Linux/Unix-based systems. Windows support requires Python environment configuration.
Are there rate limits?
Adheres to USPTO API rate limits; implement throttling strategies in high-volume use cases.
Why can't I download PDFs?
PDF export depends on client application compatibility; current implementation prioritizes machine-readable formats.
How do I troubleshoot API errors?
Use test logs and error codes to diagnose authentication failures or invalid query parameters. Refer to USPTO API docs for specifications.

Content

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:

Screen Capture of Cladue Desktop using Patents MCP Server

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:

  1. Patent Search - Search for patents and patent applications
  2. Full Text Documents - Get complete text of patents including claims, description, etc.
  3. PDF Downloads - Download patents as PDF files. (But Claude Desktop doesn't support this as a client currently.)
  4. 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

  1. Clone this repository:

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

cd patent_mcp_server
  1. 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:

  1. Visit USPTO's Getting Started page and follow the instructions to request an API key if you don't already have one.

  2. Create a .env file in the patent_mcp_server directory with the following content:

    PATENTS_MCP_SERVER_ODP_API_KEY=

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:

  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 in the sidebar, and "Edit Config."

  1. 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 replacing username 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 Search
  • ppubs_search_applications - Search for published patent applications in USPTO Public Search
  • ppubs_get_full_document - Get full patent document details by GUID from ppubs.uspto.gov
  • ppubs_get_patent_by_number - Get a granted patent's full text by number from ppubs.uspto.gov
  • ppubs_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 data
  • search_applications(...) - Search for patent applications using query parameters
  • download_applications(...) - Download patent applications using query parameters
  • get_app_metadata(app_num) - Get application metadata
  • get_app_adjustment(app_num) - Get patent term adjustment data
  • get_app_assignment(app_num) - Get assignment data
  • get_app_attorney(app_num) - Get attorney/agent information
  • get_app_continuity(app_num) - Get continuity data
  • get_app_foreign_priority(app_num) - Get foreign priority claims
  • get_app_transactions(app_num) - Get transaction history
  • get_app_documents(app_num) - Get document details
  • get_app_associated_documents(app_num) - Get associated documents
  • get_status_codes(...) - Search for status codes
  • search_datasets(...) - Search bulk dataset products
  • get_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

Related MCP Servers & Clients