Patent MCP Server
GoVeda Patent MCP Server connects your AI assistant to patent intelligence tools through the Model Context Protocol (MCP) . Search patents, retrieve full patent content, and generate patentability reports — all from within your AI workflow.
Authentication uses OAuth — your AI client opens a browser for you to sign in with your GoVeda account. Credits are shared with the GoVeda web app.
Check your credit balance anytime with the get_usage tool or on the Plan & Credits page.
What you can do
Search & Discovery
- Semantic patent search across 220M+ global patents
- Prior art search for a given patent
- CPC/IPC classification lookup by keyword or symbol
- Assignee (company) name resolution for filtering
Patent Content
- Retrieve full patent content by sections (abstract, claims, description, dates, parties, classifications, legal status, citations, family)
- Batch retrieval for multiple patents
Reports
- Generate novelty & patentability assessment reports
- Get report summary with patent directory
- Get detailed per-patent analysis from reports
Account
- Check credit balance and billing periods
- Activate free trial
Connect your AI assistant
Claude Desktop / claude.ai
- Open Claude Desktop (or claude.ai ) → Settings → Connectors
- Click the + button → Add custom connector
- Fill in:
- Name:
GoVeda Patent - URL:
https://mcp.goveda.com/mcp
- Name:
- Click Add. A browser window opens immediately to complete OAuth sign-in.
We are applying to be listed as an official connector. Once approved, you’ll be able to add GoVeda Patent directly from Browse connectors without manual configuration.
Tools reference
Your AI assistant discovers all tools automatically once connected. Expand any tool below for parameters and details.
Search & discovery
semantic_patent_search — Semantic search across 220M+ global patents ~50–320 credits
semantic_patent_search — Semantic search across 220M+ global patents ~50–320 creditsNatural language search across 220M+ global patents. Describe the technology or invention you’re looking for. Polls internally and returns final results in a single call (typically 5–15 seconds).
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Natural language description of the technology (2–10,000 chars; 2–4 char queries succeed with a warning) |
limit | integer | No | 10 | Number of results to return (10–1,000) |
exclude | string | No | — | Comma-separated patent UCIDs to exclude from results |
search_conditions | string | No | — | JSON filter conditions to narrow results (see Filter conditions) |
Returns: Search results with UCID, title, relevance score, and patent URL for each match.
prior_art_search — Find prior art for a given patent ~690 credits
prior_art_search — Find prior art for a given patent ~690 creditsFind patents similar to a known patent for prior art analysis. Returns a search_id — poll with get_search_status to get results. Typically takes 3–5 minutes.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
publication_number | string | Yes | — | Patent publication number (e.g., US-11234567-B2). Auto-resolves formats. |
limit | integer | No | 10 | Number of prior art results (10–1,000) |
search_conditions | string | No | — | JSON filter conditions to narrow results (see Filter conditions) |
Returns: search_id for polling with get_search_status.
get_search_status — Check status of a prior art search Free
get_search_status — Check status of a prior art search FreeCheck whether a prior_art_search request has completed. When status is completed, the response includes the full results.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
search_id | string | Yes | — | ID returned by prior_art_search |
Returns: Status and results (when completed) with UCID, relevance score, and patent URL.
lookup_classifications — Find CPC/IPC classification codes by keyword or symbol Free
lookup_classifications — Find CPC/IPC classification codes by keyword or symbol FreeLook up CPC/IPC patent classification codes by keyword, technology description, or partial symbol. Useful for finding the right codes to pass into search_conditions for semantic_patent_search or prior_art_search.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Keyword, classification symbol, or technology description (1–500 chars) |
limit | integer | No | 20 | Maximum number of results (1–50) |
Returns: A ranked list of classifications with symbol, title, type (cpc or ipc), level, and a relevance score.
lookup_party — Resolve a company name to its standardized assignee form Free
lookup_party — Resolve a company name to its standardized assignee form FreeResolve a free-text company name (e.g., Qualcomm) to the canonical assignee name(s) actually stored on patent records. Required before using the assignees filter in search_conditions, because that filter is an exact-string match — Qualcomm, Qualcomm Inc., and QUALCOMM INCORPORATED are not interchangeable, and only one form exists in the index.
Set expand_hierarchy=true to also retrieve the ultimate corporate parent and all subsidiary names. Pass the full all_names list as the value of an assignees filter to cover an entire corporate group.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Company name or prefix (1–200 chars). Use the full official name — common abbreviations may not match. |
expand_hierarchy | boolean | No | false | Include ultimate owner + all subsidiary names in all_names. Only available for entities in the curated dictionary (mostly Russell 3000 / S&P 500 / Nikkei 225 / DAX 40); for other entities, relationship, ultimate_owner, and country are returned as null. |
Returns: Up to 10 ranked results with name, all_names, relationship (owner, subsidiary, or former_name), ultimate_owner, and country.
Note: Assignee/company names only. Inventor names are not supported — names vary too widely (transliterations, name order, abbreviations) to resolve reliably, and the
inventorsfilter is not available.
Patent content
get_patent — Retrieve content of a patent by publication number 1 credit
get_patent — Retrieve content of a patent by publication number 1 creditFetch content of a specific patent. You can request specific sections or all of them. Auto-resolves publication number formats.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
publication_number | string | Yes | — | Patent publication number (e.g., US-11234567-B2) |
sections | string | No | abstract,dates | Comma-separated: abstract, claims, description, dates, parties, classifications, legal_status, citations, family, or all |
Returns: Patent content for the requested sections. Description and claims are truncated to 8,000 characters for AI context compatibility.
batch_get_patents — Retrieve multiple patents in one call 1 credit/patent
batch_get_patents — Retrieve multiple patents in one call 1 credit/patentFetch content for multiple patents in a single request. Same section options as get_patent. Returns partial results if some patents are not found.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
publication_numbers | string | Yes | — | Comma-separated patent publication numbers |
sections | string | No | abstract,dates | Same options as get_patent |
Returns: Array of patent content objects. Unfound patents return error objects with the publication number.
Reports
generate_novelty_report — Generate a novelty & patentability report 720 credits
generate_novelty_report — Generate a novelty & patentability report 720 creditsRun a novelty and patentability assessment for an invention description. Returns a report_id — poll with get_report_status to track progress. Typically takes 5–15 minutes.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
description | string | Yes | — | Description of the invention (min 10 chars) |
prior_art | string | No | — | Comma-separated UCIDs of known prior art to include |
skip_search | boolean | No | false | Skip automatic prior art search (use only specified prior art) |
Returns: report_id for polling with get_report_status.
get_report_status — Check report generation progress Free
get_report_status — Check report generation progress FreeCheck the progress of a novelty report. Returns stage information and patent analysis counts.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
report_id | string | Yes | — | ID returned by generate_novelty_report |
Returns: Progress with stage, total/processed/relevant patent counts, and elapsed time.
Stages: pending → searching → analyzing_query → analyzing_patents → analyzing_final → completed
get_report_summary — Get executive summary and patent directory Free
get_report_summary — Get executive summary and patent directory FreeGet the patentability assessment and a directory of analyzed patents from a completed report. Report status must be completed.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
report_id | string | Yes | — | ID returned by generate_novelty_report |
Returns: Patentability assessment, executive_summary (verdict explanation), relevant_prior_art (top threats deduped from most_concerning_patents + key_threats + relevance-ranked patents), and patent directory (up to 30 items sorted by relevance score).
get_report_patent_analysis — Get detailed analysis for specific patents Free
get_report_patent_analysis — Get detailed analysis for specific patents FreeRetrieve detailed per-patent analysis from a completed report. Report status must be completed.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
report_id | string | Yes | — | ID returned by generate_novelty_report |
publication_numbers | string | Yes | — | Comma-separated patent UCIDs (max 10) |
Returns: Detailed analysis for each patent with relevance scores, sorted by relevance.
Account
get_usage — Check credit balance and billing periods Free
get_usage — Check credit balance and billing periods FreeReturns your current credit balance and billing period details.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| — | — | — | — | No parameters required |
Returns: Total remaining credits, reserved credits (held for in-progress operations), and billing period details with expiry dates.
start_free_trial — Activate 14-day free trial (10,000 credits) Free
start_free_trial — Activate 14-day free trial (10,000 credits) FreeActivate a free trial for new users. Returns activation status or indicates if a trial is no longer available.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| — | — | — | — | No parameters required |
Returns: Activation status (activated, already_active, exhausted, or expired), trial duration, credit amount, and billing page URL.
Filter conditions
semantic_patent_search and prior_art_search accept an optional search_conditions parameter — a JSON string describing the filters to apply. Conditions support and/or logic and can be nested for complex queries.
Structure
{
"operator": "and" | "or",
"conditions": [
{ "field": "<name>", "operator": "<op>", "value": <value> }
]
}Supported fields and operators
| Field | Operators | Value |
|---|---|---|
filing_date, publication_date, expiration_date | gte, lte, gt, lt, between | YYYYMMDD string (or [from, to] for between) |
authority, language | in, not_in | List of codes, e.g. ["US", "EP"] |
cpc_codes, ipc_codes | in, not_in, contains, not_contains | List of classification symbols |
assignees | in, not_in, contains, not_contains | List of standardized company names — see note below |
patent_status | eq | "alive" or "dead" |
Use lookup_classifications to find the right CPC/IPC codes before adding them to a filter.
Discovering assignee names. The
assigneesfilter is an exact-string match against the canonical name stored on patent records —Qualcomm,Qualcomm Inc., andQUALCOMM INCORPORATEDare not interchangeable, and only one form exists in the index. Always calllookup_partyfirst to resolve the user’s intent into the correct standardized name(s). Useexpand_hierarchy=trueand pass the returnedall_nameslist as the filter value to cover an entire corporate group.Inventor-name filtering is not supported. Inventor names vary too widely (transliterations, diacritics, name order, abbreviations) to resolve reliably and we have no inventor-suggest mechanism.
Example — US/EP patents published since 2020 in a specific CPC area
{
"operator": "and",
"conditions": [
{ "field": "authority", "operator": "in", "value": ["US", "EP"] },
{ "field": "publication_date", "operator": "gte", "value": "20200101" },
{ "field": "cpc_codes", "operator": "in", "value": ["H01L"] }
]
}Example — patents assigned to a corporate group (after lookup_party)
{
"operator": "and",
"conditions": [
{ "field": "assignees", "operator": "in", "value": ["Qualcomm Inc", "Qualcomm Technologies, Inc.", "Qualcomm Atheros, Inc."] },
{ "field": "patent_status", "operator": "eq", "value": "alive" }
]
}Getting started
Here is a complete first-time flow, from connecting to fetching your first patent:
You: Get the abstract and claims for patent US-20160143891-A1
Assistant: Your GoVeda account has no credits, but you’re eligible for a 14-day free trial (10,000 credits). Credits are shared with the GoVeda web app. I can:
- Activate now — I’ll call
start_free_trialand fetch the patent right away- Activate manually — Visit goveda.com to activate from your account page
Want me to activate the free trial?
You: Yes
Assistant: Free trial activated — 10,000 credits, valid for 14 days! Now fetching patent data…
(calls
get_patentwith sections=abstract,claims)Here’s patent US-20160143891-A1: …
Free trial credits are shared between MCP and the GoVeda web app. Check your balance anytime with get_usage.
Credits
| Operation | Credits |
|---|---|
| Patent search (10 results) | ~50 |
| Patent search (100 results) | ~320 |
| Prior art search (10 results) | ~690 |
| Patent content retrieval | 1 per patent |
| Novelty report | 720 |
| Status checks, usage, free trial | Free |
Prior art searches and reports are expensive. Your AI assistant should confirm with you before running these operations.
Disclaimer
Patentability reports generated through the MCP Server are produced by AI and are provided for informational purposes only. They do not constitute legal advice and should not be relied upon as a substitute for professional guidance from a qualified patent attorney or agent. GoVeda makes no warranties regarding the accuracy, completeness, or legal sufficiency of any report output.
Troubleshooting
“Insufficient credits.” Check your balance with get_usage and add credits on the Plan & Credits page.
OAuth sign-in loop. Clear your browser cookies for mcp.goveda.com and try connecting again.
Tool not found. Make sure your MCP client is configured with the correct endpoint (https://mcp.goveda.com/mcp) and HTTP transport.