get_patent
Pack: patents · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/get_patent for the schema, then POST the same URL with its arguments for the data.
Fetch a single USPTO patent application/grant by application number (number, e.g. “16/123,456” or “16123456”) or by an already-granted patent number (patent_number, e.g. “11646472”) — pass whichever one you actually have. Returns full metadata: title, inventors, classifications, status, and — when the application has been granted — patent_number, grant_date, publication_number, publication_date. 8-digit application numbers and 8-digit patent numbers can be the SAME digit string for a different record (application series codes 10-12 were used ~2003-2008, and granted patent numbers entered that same 10,000,000-12,999,999 range in 2018 and are still in it) — e.g. “11646472” is BOTH application 11/646,472 (a 2006 filing) AND patent 11,646,472 (a 2023 grant), two unrelated inventions. If you only pass number and it is an 8-digit value in that collision range, this tool checks BOTH interpretations; if both exist, it returns ambiguous: true with each record summarized rather than silently guessing — re-call with number for the application or patent_number for the patent. Passing patent_number explicitly always skips the ambiguity check. A status of “Patented Case” with patent_number: null means USPTO ODP omitted that field for this record (check patent_number_warning), not that the patent was never granted; a pending application correctly has patent_number: null, grant_date: null.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
number | string | no | An application number, digits only or with slashes (e.g. “16123456”, “16/123,456”). If this happens to also be a valid 8-digit granted patent number (see the collision note above), the response may come back ambiguous: true — pass patent_number instead to mean the patent unambiguously. |
patent_number | string | no | An already-granted US patent number, digits only (e.g. “11646472”, “10000000”). Use this instead of number whenever you specifically mean the patent, not the application — it is never ambiguous. |
_apiKey | string | no | USPTO ODP API key. Get free at https://data.uspto.gov/myodp. |
Example call
Arguments
{
"number": "16123456"
}
curl
curl -X POST https://gateway.pipeworx.io/patents/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_patent","arguments":{"number":"16123456"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('get_patent', {
"number": "16123456"
});
More examples
{
"patent_number": "11646472"
}
Response shape
Always returns: patent_number, title, abstract, date, type, inventors, assignee_organization
| Field | Type | Description |
|---|---|---|
patent_number | string | Patent number |
title | string | Patent title |
abstract | string | null | Patent abstract or null |
date | string | null | Patent filing date or null |
type | string | null | Patent type or null |
inventors | array | List of inventors with details |
assignee_organization | string | null | Assignee organization name or null |
Full JSON Schema
{
"type": "object",
"properties": {
"patent_number": {
"type": "string",
"description": "Patent number"
},
"title": {
"type": "string",
"description": "Patent title"
},
"abstract": {
"type": [
"string",
"null"
],
"description": "Patent abstract or null"
},
"date": {
"type": [
"string",
"null"
],
"description": "Patent filing date or null"
},
"type": {
"type": [
"string",
"null"
],
"description": "Patent type or null"
},
"inventors": {
"type": "array",
"description": "List of inventors with details",
"items": {
"type": "object",
"properties": {
"first_name": {
"type": [
"string",
"null"
],
"description": "Inventor first name or null"
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Inventor last name or null"
},
"city": {
"type": [
"string",
"null"
],
"description": "Inventor city or null"
},
"state": {
"type": [
"string",
"null"
],
"description": "Inventor state or null"
}
}
}
},
"assignee_organization": {
"type": [
"string",
"null"
],
"description": "Assignee organization name or null"
}
},
"required": [
"patent_number",
"title",
"abstract",
"date",
"type",
"inventors",
"assignee_organization"
]
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the patents pack
{
"mcpServers": {
"patents": {
"url": "https://gateway.pipeworx.io/patents/mcp"
}
}
}
See Getting Started for client-specific install steps.