USPTO Patent MCP Server

For an introduction to MCP servers see Introducing the Model Context Protocol.

Local serverstdio

What is the USPTO Patent MCP Server?

USPTO Patent MCP Server is an MCP project maintained in the riemannzeta/patent_mcp_server repository. The maintainer describes its purpose as “For an introduction to MCP servers see Introducing the Model Context Protocol”. Read the project documentation for the complete scope.

Installation

The documented pypi package is patent-mcp-server. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Configuration values

The example declares USPTO_API_KEY, TSDR_API_KEY. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
patents//search-syntax - Query syntax guide (patents and trademarks)
trademarks//status-codes - Trademark status code definitions
prior_art_searchinvention, keywords, cpc_codes) - Comprehensive prior art search guide
patent_validity_analysispatent_number) - Patent validity analysis workflow
competitor_portfolio_analysiscompany, technology) - Competitor portfolio analysis
ptab_proceeding_researchpatent_number, proceeding_number, party) - PTAB proceeding research guide
freedom_to_operateproduct, cpc_codes) - FTO analysis workflow
patent_landscapetechnology, cpc_codes) - Technology landscape mapping
trademark_clearance_searchmark, goods_services, classes) - Trademark clearance/knockout search guide
trademark_portfolio_reviewowner) - Trademark portfolio and deadline review
trademark_status_monitoringserial_numbers, mark) - Trademark status and conflict watching
check_api_statusCheck status of all USPTO APIs
get_cpc_infoCPC title at any depth (section to subgroup) with hierarchy and children; groups come live from USPTO's scheme pages
get_status_codeLook up USPTO status code meaning
get_trademark_class_infoLook up a Nice/international trademark class (1-45)
get_trademark_status_codeLook up a USPTO trademark status code meaning
ppubs_search_patentsSearch granted patents (full-text, daily updates)
ppubs_search_applicationsSearch published patent applications
ppubs_get_full_documentGet a document by GUID; sections picks biblio, abstract, claims or description
ppubs_get_patent_by_numberGet a patent's text by number ("US 10,000,000 B2", "D845123" and "RE49123" all work), with the same sections option
ppubs_get_citing_patentsForward citations: later granted patents that cite a patent
ppubs_download_patent_pdfDownload patent as PDF
odp_get_applicationGet basic application data
odp_search_applicationsSearch applications with filters
odp_get_application_metadataGet comprehensive metadata
odp_get_continuityGet patent family/continuity data
odp_get_assignmentGet ownership/assignment records
odp_get_adjustmentGet patent term adjustment data
odp_get_attorneyGet attorney/agent of record
odp_get_foreign_priorityGet foreign priority claims
odp_get_transactionsGet prosecution transaction history
odp_get_documentsList file wrapper documents, filtered by document code (CTNF, CTFR, NOA, REM, CLM, 892…) and direction
odp_download_documentDownload one file wrapper document as PDF (office actions, responses, notices)
odp_search_datasetsSearch bulk data products
odp_get_datasetGet dataset product details
ptab_search_proceedingsSearch IPR/PGR/CBM proceedings by patent number, party, status
ptab_get_proceedingGet details for a specific proceeding by number
ptab_get_documentsList documents filed in a proceeding
ptab_search_decisionsSearch PTAB decisions
ptab_get_decisionGet a specific decision by trial number
ptab_search_appealsSearch ex parte appeals
ptab_get_appealGet details for a specific appeal
tsdr_get_trademark_statusGet authoritative live status by serial or registration number
tsdr_list_trademark_documentsList prosecution document metadata (no rate limit, no downloads)
tsdr_download_trademark_documentsDownload prosecution document bundle as PDF (4/min rate limit)
tsdr_get_trademark_imageGet the mark image (drawing) as base64
tm_search_trademarksFull-text search by mark text, owner, goods/services, class, live/dead status
tm_get_trademarkGet a trademark's search-index record by serial number
tm_search_assignmentsSearch recorded ownership transfers, 1955-present (Assignment Center, no key)
search_litigationOCE Patent Litigation bulk dataset
get_litigation_caseOCE Patent Litigation bulk dataset
get_patent_litigationOCE Patent Litigation bulk dataset or ppubs_search_patents
get_party_litigationOCE Patent Litigation bulk dataset
patentsview_search_patentsppubs_search_patents
patentsview_get_patentppubs_get_patent_by_number
patentsview_search_assigneesppubs_search_patents with "name".as. query
patentsview_get_assigneeodp_search_datasets (bulk data)
patentsview_search_inventorsppubs_search_patents with "name".in. query
patentsview_get_inventorodp_search_datasets (bulk data)
patentsview_get_claimsppubs_get_full_document
patentsview_get_descriptionppubs_get_full_document
patentsview_search_by_cpcppubs_search_patents with code.cpc. query
patentsview_lookup_cpcget_cpc_info
patentsview_search_attorneysodp_get_attorney (per-application)
patentsview_get_attorneyodp_get_attorney (per-application)
patentsview_search_by_ipcppubs_search_patents with IPC query
patentsview_lookup_ipcodp_search_datasets (bulk data)
get_office_action_textodp_get_documents(document_code="CTNF,CTFR") then odp_download_document
search_office_actionsodp_get_documents or odp_get_transactions
get_office_action_citationsodp_get_documents(document_code="892,1449") then odp_download_document
get_office_action_rejectionsodp_get_documents(document_code="CTNF,CTFR") then odp_download_document
get_enriched_citationsppubs_get_citing_patents (forward) and ppubs_get_patent_by_number(sections=["biblio"]) (backward)
search_citationsppubs_get_citing_patents
get_citation_metricsppubs_get_citing_patents — total is the forward-citation count

How to install the USPTO Patent MCP Server

{
  "mcpServers": {
    "patents": {
      "command": "uvx",
      "args": [
        "patent-mcp-server"
      ],
      "env": {
        "USPTO_API_KEY": "YOUR_USPTO_API_KEY",
        "TSDR_API_KEY": "YOUR_TSDR_API_KEY"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
USPTO_API_KEYDeclared in the maintainer’s client configuration.Check documentation
TSDR_API_KEYDeclared in the maintainer’s client configuration.Check documentation