patents-mcp
Allows searching and retrieving patent data from the Google Patents public dataset on BigQuery.
patents-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 by keyword, technology area, or inventor name |
| Fetch full patent details by publication number |
| 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=trueUsage 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"
}
}
}
}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 structEach 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>.goDefine your input struct and tool definition
Register it in
server/server.gowith one line
License
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tushariitr-19/patents-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server