Taps into the Google Patents public dataset on BigQuery to give Claude patent search and prior art discovery. You get three tools: keyword and inventor search across patents, full patent retrieval by publication number, and claims text extraction. Built in Go, uses a service account with BigQuery Job User and Data Viewer roles, and leans on the 1TB monthly free tier. Good for researching existing patents before filing, finding prior art for patent applications, or exploring what companies have filed in specific tech areas. The architecture keeps each tool self-contained, so extending it with new queries is straightforward.
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.
Existing patent MCP servers are either paid, single-source, or unmaintained. patents-mcp is:
| 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 |
BigQuery Job UserBigQuery Data Viewergit clone https://github.com/tushariitr-19/patents-mcp
cd patents-mcp
go build -o patents-mcp-server ./cmd/server/
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"
export GCP_PROJECT_ID="your-gcp-project-id"
# Optional: enable debug logging
export DEBUG=true
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"
}
}
}
}

Once connected to Claude Desktop:
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.
PRs welcome. To add a new tool:
tools/<toolname>.goserver/server.go with one lineMIT
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp