About patents-mcp
patents-mcp is an MCP server for searching patents and discovering prior art using the Google Patents public dataset in BigQuery. It serves patent researchers and inventors with keyword, technology, and inventor searches, plus access to patent details and claims.
Key features
- 01Search by keyword, technology, or inventor
- 02Retrieve patent details by publication number
- 03Fetch patent claims text
Use cases
- 01Find prior art for a technology
- 02Search filings by an inventor
- 03Review a patent’s claims and details
MCP support
Exposes patent search, patent detail retrieval, and claims retrieval as tools for MCP clients. It queries the Google Patents public dataset through BigQuery.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEpatents-mcp
An MCP (Model Context Protocol) server for patent search and prior art discovery, powered by the Google Patents public dataset on BigQuery.
Built with the official Go MCP SDK.
Why patents-mcp?
Existing patent MCP servers are either paid, single-source, or unmaintained. patents-mcp is:
- Free — built on Google Patents public dataset (1TB/month free on BigQuery)
- Open source — MIT licensed
- Production grade — structured logging, graceful shutdown, clean architecture
- Extensible — each tool is self-contained, easy to add new tools
Available Tools
| Tool | Description |
|---|---|
search_patents | Search patents by keyword, technology area, or inventor name |
get_patent | Fetch full patent details by publication number |
get_patent_claims | Fetch patent claims text |
Prerequisites
- Go 1.21+
- A Google Cloud account (free)
- BigQuery API enabled on your GCP project
Setup
1. Google Cloud Setup
- Create a GCP project at console.cloud.google.com
- Enable the BigQuery API
- Create a service account with the following roles:
BigQuery Job UserBigQuery Data Viewer
- Download the service account JSON key
2. Install
git clone https://github.com/tushariitr-19/patents-mcp
cd patents-mcp
go build -o patents-mcp-server ./cmd/server/
3. Configure
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"
export GCP_PROJECT_ID="your-gcp-project-id"
# Optional: enable debug logging
export DEBUG=true
Usage with Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"patents-mcp": {
"command": "/path/to/patents-mcp-server",
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service-account.json",
"GCP_PROJECT_ID": "your-gcp-project-id"
}
}
}
}
Screenshots
Available Tools

Example Prompts
Once connected to Claude Desktop:
- "Search for patents related to transformer neural networks"
- "Find prior art for context-aware UI element hiding"
- "What patents has Google filed related to quantum computing?"
- "Find patents by inventor Yann LeCun"
Architecture
patents-mcp/
├── cmd/server/main.go ← entry point, env vars, graceful shutdown
├── server/server.go ← MCP server setup, tool registration
├── tools/
│ └── search.go ← search_patents tool (self-contained)
├── bigquery/
│ └── client.go ← BigQuery query execution
├── logger/
│ └── logger.go ← structured logging via zap
└── models/
└── patent.go ← shared Patent struct
Each tool owns its own dependencies — the server is agnostic of what tools do internally. Adding a new tool is a single line in server/server.go.
Contributing
PRs welcome. To add a new tool:
- Create
tools/<toolname>.go - Define your input struct and tool definition
- Register it in
server/server.gowith one line
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.