Skip to main content
Glama

Search Patents

search_patents
Read-onlyIdempotent

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 and US documents are all in scope alongside European ones. 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. 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".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesEPO 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).
rangeNoResult range "start-end" (1-indexed). Max 100 per page. Default "1-25".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoQuery metadata
resultNoSearch result set

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "query": "ta=hydrogen fuel cell"
      +  },
      +  {
      +    "query": "pa=Tesla AND pd>=2020",
      +    "range": "1-50"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Search results from EPO patent database",
      +  "properties": {
      +    "query": {
      +      "description": "Query metadata",
      +      "properties": {
      +        "syntax": {
      +          "description": "Query syntax version",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "result": {
      +      "description": "Search result set",
      +      "properties": {
      +        "patents": {
      +          "description": "List of patent publications in result",
      +          "items": {
      +            "properties": {
      +              "id": {
      +                "description": "Patent ID",
      +                "type": "integer"
      +              },
      +              "publication-reference": {
      +                "description": "Publication reference details",
      +                "type": "object"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "query-string": {
      +          "description": "Original query string",
      +          "type": "string"
      +        },
      +        "total-patent-count": {
      +          "description": "Total number of matching patents",
      +          "type": "integer"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior; the description adds significant behavioral context beyond that: it searches DOCDB from 100+ offices, returns both granted and published-application kinds, and explicitly notes that results are not grant-filtered by default. This prevents the common misconception that a broad patent search will return only issued patents.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient: it front-loads the operative purpose, then adds source coverage, kind semantics, and query examples in logical order. Every clause contributes to correct tool usage, so nothing feels like padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Because an output schema is present, the description does not need to restate return structure, and it instead invests space in precisely the missing semantic context: source coverage, definitely-four kind codes, and grant-filter behavior. Combined with the provided schema fields and annotations, the agent has everything required to select and call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema is not doing all the work—the description meaningfully adds query-building guidance with concrete field examples such as 'ta=hydrogen', 'pa=apple', and 'txt=neural network AND pd>=2020'. It also explains how to refine based on kind codes, which is exactly the insight needed to use the 'query' parameter well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a specific verb and resource: search published patents worldwide and retrieve full bibliographic records with title, applicants, inventors, publication date, country, and IPC classifications. It differentiates from get_biblio-style siblings by being a query-based search rather than a lookup of a known patent identifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong contextual guidance: it tells agents that most unfiltered hits will be 'A'-kind applications, and that granted patents require scoping with kind or date-based filters. It provides query examples with practical fields, though it does not explicitly mention when to use a specific sibling tool, such as get_biblio/get_family, for follow-on steps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.