home / mcp / uspto final petition decisions mcp server

USPTO Final Petition Decisions MCP Server

High-performance MCP server for USPTO Final Petition Decisions API with context reduction and cross-MCP integration

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "john-walkoe-uspto_fpd_mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/Users/YOUR_USERNAME/uspto_fpd_mcp",
        "run",
        "fpd-mcp"
      ],
      "env": {
        "USPTO_API_KEY": "your_actual_api_key_here",
        "FPD_PROXY_PORT": "8081",
        "MISTRAL_API_KEY": "your_mistral_api_key_here",
        "CENTRALIZED_PROXY_PORT": "8080 or none"
      }
    }
  }
}

You have a high‑performance MCP server that provides access to USPTO Final Petition Decisions data with context‑reduction, customizable fields, and cross‑MCP workflows. It helps you query petitions, retrieve detailed petition data, and securely download petition documents while coordinating with other MCPs for complete lifecycle analysis.

How to use

Configure your MDCP client to connect to the USPTO Final Petition Decisions MCP (FPD) as a local, self‑contained server. You will run the MCP as a stdio (local) process and point the client to the FPD endpoints via the local command. You can perform rapid discovery of petitions, analyze petitions by art unit or application, retrieve comprehensive petition details, and download documents through a secure, centralized proxy when available. The workflow supports cross‑MCP integration with other USPTO MCPs like PFW and PTAB for a full patent lifecycle analysis.

How to install

Prerequisites: Python with the uv runtime environment (uvx) is used to run the MCP locally. You may also use a PowerShell path on Windows for setup scripts if you prefer the Windows flow.

Step 1: Clone or obtain the MCP project directory.

Step 2: Install dependencies and prepare the local environment using the provided setup flow. The Windows path uses a dedicated setup script; on Linux/macOS you will follow the equivalent deployment script.

Step 3: Start the MCP using the stdio configuration shown in the configuration example. This runs uv in the project directory and launches the fpd‑mcp module.

Configuring the MCP connection and keys

You run the MCP as a local process and provide environment variables for API keys and proxy settings. The key pieces you configure are the USPTO API key, an optional Mistral OCR key, and the local proxy ports when using a centralized proxy setup.

{
  "mcpServers": {
    "uspto_fpd": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/Users/YOUR_USERNAME/uspto_fpd_mcp",
        "run",
        "fpd-mcp"
      ],
      "env": {
        "USPTO_API_KEY": "your_actual_USPTO_api_key_here",
        "MISTRAL_API_KEY": "your_mistral_api_key_here_OPTIONAL",
        "CENTRALIZED_PROXY_PORT": "none",
        "FPD_PROXY_PORT": "8081"
      }
    }
  }
}

Security, storage, and proxy notes

The MCP supports secure storage of API keys and optional centralized proxy integration. When the USPTO PFW MCP is present, FPD can route document downloads through a single, centralized proxy (port 8080) for persistent links and unified rate limiting. Standalone mode uses a local proxy (port 8081). All sensitive keys are kept out of plain text configurations when you enable the secure storage option.

Cross‑MCP integration and workflows

FPD integrates with related MCPs to provide a complete lifecycle view. You can cross‑reference petitions with prosecution history, links to PTAB challenges, and citation intelligence to assess prosecution quality. The system supports a progression from discovery to detailed petition review and optional document extraction or downloads.

Available functions and prompts

The MCP exposes a set of dedicated functions to perform focused searches, retrieve petition details, and manage documents. Use the functions to perform minimal or balanced petition searches, retrieve petition details with optional documents, and securely obtain document content or downloads.

Troubleshooting and help

If you encounter startup or authentication issues, verify that your environment variables are set correctly (USPTO_API_KEY, MISTRAL_API_KEY where needed) and that the local proxy ports are available. Use the provided setup scripts to reinitialize the MCP if dependencies or caches become corrupted. Review the error messages for request IDs and follow the steps to reconfigure keys or restart the MCP client.

Example configuration and startup

Use the following stdio configuration snippet as your starting point to run the local FPD MCP. It shows the full command, working directory, and environment keys required by the runtime.

{
  "mcpServers": {
    "uspto_fpd": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/Users/YOUR_USERNAME/uspto_fpd_mcp",
        "run",
        "fpd-mcp"
      ],
      "env": {
        "USPTO_API_KEY": "your_actual_USPTO_api_key_here",
        "MISTRAL_API_KEY": "your_mistral_api_key_here_OPTIONAL",
        "CENTRALIZED_PROXY_PORT": "none",
        "FPD_PROXY_PORT": "8081"
      }
    }
  }
}

Notes on field customization and prompts

Configure field sets via YAML to tailor context reduction and tool outputs. You can optimize prompts and templates to fit your workflows, including legal analysis, prosecution quality, and document research pipelines.

Developer notes and project structure

The MCP server is designed to run on Linux and Windows with robust error handling, structured logging, and security best practices. It includes a suite of prompts and tools, a secure storage layer, and a proxy system to manage document downloads securely.

Available tools

fpd_search_petitions_minimal

Search petitions with minimal fields for ultra-fast discovery and token-efficient responses

fpd_search_petitions_balanced

Search petitions with balanced fields for detailed analysis without including document bags

fpd_search_petitions_by_art_unit

Search petitions by art unit with date range filtering for unit-level quality assessment

fpd_search_petitions_by_application

Search petitions by application number to retrieve complete petition history

fpd_get_petition_details

Get full petition details by UUID with optional documentBag for cross-reference and analysis

fpd_get_document_content

Intelligent extraction of document content with cost transparency and OCR fallback when needed

fpd_get_document_download

Secure, browser-accessible download URLs with centralized proxy integration when available

FPD_get_guidance

Context-efficient guidance tool providing focused guidance sections for LLM workflows