openpharma-org/patents-mcp
If you are the rightful owner of patents-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The USPTO Patent MCP Server is a FastMCP server designed to access 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.
Unofficial Patents MCP Server
A MCP Server for accessing patent data from multiple sources including the United States Patent and Trademark Office (USPTO) and Google Patents. This server provides access to:
- USPTO Patent Public Search - Full-text search and document retrieval through the Patent Public Search API
- USPTO Open Data Portal (ODP) - Metadata, continuity, and assignment data through the ODP API
- Google Patents - Access to 90M+ patent publications from 17+ countries via Google BigQuery
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 three patent data sources:
- ppubs.uspto.gov - For full text document access, PDF downloads, and advanced search
- api.uspto.gov - For metadata, continuity information, transactions, and assignments
- Google Patents (BigQuery) - For searching 90M+ patent publications across US, EP, WO, JP, CN, KR, GB, DE, FR, CA, AU and more
API Key Setup
USPTO Open Data Portal API Key
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.
-
Add your API key to the
.envfile in the patent_mcp_server directory:USPTO_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.
Google Cloud Setup
To use the Google Patents tools, you need to set up a Google Cloud project with BigQuery access:
-
Create a Google Cloud Project (if you don't have one):
- Visit Google Cloud Console
- Create a new project or select an existing one
- Note your project ID
-
Enable BigQuery API:
- In your Google Cloud project, navigate to "APIs & Services" > "Library"
- Search for "BigQuery API" and enable it
-
Create a Service Account and Download Credentials:
- Navigate to "IAM & Admin" > "Service Accounts"
- Click "Create Service Account"
- Give it a name (e.g., "patent-mcp-server")
- Grant it the "BigQuery User" role
- Click "Done"
- Click on the created service account
- Go to the "Keys" tab
- Click "Add Key" > "Create New Key" > "JSON"
- Save the downloaded JSON file to a secure location
-
Configure Environment Variables: Add the following to your
.envfile:GOOGLE_CLOUD_PROJECT=your-project-id GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account-key.jsonReplace
your-project-idwith your actual Google Cloud project ID and/path/to/your/service-account-key.jsonwith the full path to your downloaded credentials file.
Note: Google Patents data in BigQuery is publicly available, but you still need a Google Cloud project to run queries. BigQuery offers a free tier with 1 TB of query data processed per month at no charge.
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.jsonon 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_serverwith 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 replacingusernamewith 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 patent data from multiple sources. 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)
Requires USPTO API Key (see API Key Setup above).
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
Google Patents (BigQuery)
Requires Google Cloud setup (see Google Cloud Setup above). Provides access to 90M+ patent publications from 17+ countries.
Supported Countries: US, EP (European Patent Office), WO (WIPO/PCT), JP (Japan), CN (China), KR (South Korea), GB (United Kingdom), DE (Germany), FR (France), CA (Canada), AU (Australia), and more.
google_search_patents(query, country, limit, offset, start_date, end_date)- Full-text search across patent titles and abstractsgoogle_get_patent(publication_number)- Get complete patent details by publication numbergoogle_get_patent_claims(publication_number)- Get patent claims textgoogle_get_patent_description(publication_number)- Get patent description textgoogle_search_by_inventor(inventor_name, country, limit, offset)- Search patents by inventor namegoogle_search_by_assignee(assignee_name, country, limit, offset)- Search patents by company/assigneegoogle_search_by_cpc(cpc_code, country, limit, offset)- Search patents by CPC classification code
Refer to the function docstrings in the code for detailed parameter information.