Patent
Patent by Ouroboros: USPTO and EPO search for AI assistants, over MCP.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"patent": {
"url": "https://patent-mcp.vercel.app/mcp"
}
}
}Remote endpoints
https://patent-mcp.vercel.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢search_patents(keywords, claims, cpc, assignee, inventor, ...)
Search public patent records by keywords, claim language, CPC class, assignee, inventor, or grant date. Every number in the result was returned by USPTO or EPO. Not legal advice.
Input Schema
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"maxLength": 400,
"description": "Words to find in the application or title and abstract."
},
"claims": {
"type": "string",
"maxLength": 2000,
"description": "Claim language. EPO searches claim text. USPTO matches these words across the file wrapper."
},
"cpc": {
"type": "string",
"maxLength": 30,
"description": "CPC symbol, such as H04L or C07H19/207."
},
"assignee": {
"type": "string",
"maxLength": 200,
"description": "Applicant or assignee name."
},
"inventor": {
"type": "string",
"maxLength": 200,
"description": "Inventor name."
},
"dateFrom": {
"type": "string",
"maxLength": 10,
"description": "Grant or publication date from, YYYY-MM-DD."
},
"dateTo": {
"type": "string",
"maxLength": 10,
"description": "Grant or publication date to, YYYY-MM-DD."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Maximum hits, 1 to 25."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_patent(patentNumber)
Fetch one patent's title, abstract, claims, status, family, and citations from USPTO and, when configured, EPO. Missing text is omitted rather than filled in. Not legal advice.
Input Schema
{
"type": "object",
"properties": {
"patentNumber": {
"type": "string",
"minLength": 4,
"maxLength": 32,
"description": "Patent or publication number, such as US12000000, 12000000, or EP0351918."
}
},
"required": [
"patentNumber"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_patent_citations(patentNumber, direction)
List documents cited by a patent and documents that cite it, using USPTO grant references, USPTO office-action citations, and EPO citation search. This is not the full PatentsView citation graph, which is paused. Not legal advice.
Input Schema
{
"type": "object",
"properties": {
"patentNumber": {
"type": "string",
"minLength": 4,
"maxLength": 32,
"description": "Patent or publication number."
},
"direction": {
"type": "string",
"enum": [
"citing",
"cited_by",
"both"
],
"description": "citing: documents that cite this patent. cited_by: documents this patent cites. both is the default."
}
},
"required": [
"patentNumber"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_prior_art(idea, limit)
Turn an idea description into a public-patent search and return the closest records the offices actually returned, with Google Patents links. Ranking counts overlapping words. It is not a patentability opinion. Not legal advice.
Input Schema
{
"type": "object",
"properties": {
"idea": {
"type": "string",
"minLength": 20,
"maxLength": 4000,
"description": "What the invention is, in plain language."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Maximum patents to return."
}
},
"required": [
"idea"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence