search_patents
Pack: epo-ops · 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/search_patents for the schema, then POST the same URL with its arguments for the data.
Search published patents worldwide via EPO OPS and get back full bibliographic records — title, applicants, inventors, publication date, country, IPC classifications — for each hit. Searches EPO DOCDB, which indexes publications from 100+ patent offices, so Chinese, Japanese, Korean, US and PCT/WO documents are all in scope alongside European ones — PCT international applications (publications beginning “WO”) are covered here and in every other tool in this pack, not just EP filings. Each hit’s kind code tells you what stage it is: an “A”-prefixed kind (A1, A2, A3…) is a published APPLICATION, not yet granted; a “B”-prefixed kind (B1, B2…) is a GRANTED patent; a WO publication’s “A1”/“A2”/“A3” marks the PCT publication itself, not a grant — PCT applications are examined and granted nationally after entering each country’s national phase, which this pack does not track. Results are not filtered to grants by default — most hits from a bare keyword search will be “A” kind. To find issued/granted patents specifically, scope the query with a kind or grant-relevant field (e.g. add AND pd>=<date> and check kind on the returned rows) rather than assuming an unfiltered hit is granted. Example queries: “ta=hydrogen”, “in=Tesla”, “pa=apple”, “txt=neural network AND pd>=2020”, “pa=moderna and pn=WO” (a company’s PCT filings).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | EPO CQL — fields: ta (title-abstract), ti (title), ab (abstract), txt (any text), in (inventor), pa (applicant), cl (classification), pn (publication number), ap (application number), pr (priority), pd (publication date), ad (application date). |
range | string | no | Result range “start-end” (1-indexed). Max 100 per page. Default “1-25”. |
Example call
Arguments
{
"query": "ta=hydrogen fuel cell"
}
curl
curl -X POST https://gateway.pipeworx.io/epo-ops/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_patents","arguments":{"query":"ta=hydrogen fuel cell"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search_patents', {
"query": "ta=hydrogen fuel cell"
});
More examples
{
"query": "pa=Tesla AND pd>=2020",
"range": "1-50"
}
Response shape
| Field | Type | Description |
|---|---|---|
query | object | Query metadata |
result | object | Search result set |
Full JSON Schema
{
"type": "object",
"description": "Search results from EPO patent database",
"properties": {
"query": {
"type": "object",
"description": "Query metadata",
"properties": {
"syntax": {
"type": "string",
"description": "Query syntax version"
}
}
},
"result": {
"type": "object",
"description": "Search result set",
"properties": {
"query-string": {
"type": "string",
"description": "Original query string"
},
"total-patent-count": {
"type": "integer",
"description": "Total number of matching patents"
},
"patents": {
"type": "array",
"description": "List of patent publications in result",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Patent ID"
},
"publication-reference": {
"type": "object",
"description": "Publication reference details"
}
}
}
}
}
}
}
}
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 epo-ops pack
{
"mcpServers": {
"epo-ops": {
"url": "https://gateway.pipeworx.io/epo-ops/mcp"
}
}
}
See Getting Started for client-specific install steps.