Skip to main content
Glama
riemannzeta

USPTO Patent MCP Server

by riemannzeta

odp_search_applications

Read-onlyIdempotent

Search USPTO patent applications by free-text query, inventor, assignee, application or patent number, and filing date range to find filings beyond PPUBS filters.

Instructions

Search patent applications in USPTO Open Data Portal.

USE THIS TOOL WHEN: You need to search applications with filtering
by applicant metadata, dates, or other criteria not available in PPUBS.

Supports both free-text queries and structured multi-field filtering.
Typed filters are AND-ed together; pass a Lucene-style string in
`query` for OR or more complex expressions.

Args:
    query: Free-text or Lucene-style query (e.g. 'neural network',
           'applicationMetaData.firstInventorName:Smith OR
           applicationMetaData.firstInventorName:Jones')
    application_number: Filter by application number (exact match)
    patent_number: Filter by patent number (exact match)
    inventor_name: Filter by inventor name (matches first inventor)
    assignee_name: Filter by applicant/assignee name (matches first applicant)
    filing_date_from: Filing date range start (YYYY-MM-DD)
    filing_date_to: Filing date range end (YYYY-MM-DD)
    offset: Starting position (default: 0)
    limit: Max results (default: 25)

Returns:
    Normalized response with matching applications.

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo
assignee_nameNo
inventor_nameNo
patent_numberNo
filing_date_toNo
filing_date_fromNo
application_numberNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.8.1
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "additionalProperties": true,
      -      "title": "Result",
      -      "type": "object"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "odp_search_applicationsOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv1.1.1

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuinely useful behavioral detail beyond that: typed filters are AND-ed, OR requires a Lucene string in `query`, and defaults are stated for offset/limit. It stops short of describing result normalization details or rate limits.

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?

Front-loaded with purpose, then a clearly delimited usage block, then Args, then Returns. Given 0% schema coverage the parameter list is necessary rather than padding, and no sentence is redundant.

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

Completeness4/5

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

No output schema exists, and the description gives only a thin return statement ('Normalized response with matching applications'). For a 9-parameter search tool it is otherwise complete: all filters, formats, and the AND/OR semantics are covered, but pagination behavior (whether offset+limit is the only paging mechanism, total counts) is left implicit.

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 description coverage is 0%, so the description carries the full burden, and it does: every one of the 9 parameters is documented with meaning and format ('filing_date_from: Filing date range start (YYYY-MM-DD)', 'inventor_name: matches first inventor'). The Lucene example clarifies the otherwise opaque `query` field.

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?

States a specific verb and resource ('Search patent applications in USPTO Open Data Portal') and immediately differentiates itself from the PPUBS sibling by scoping to filtering not available there. An agent can distinguish it from ppubs_search_applications and the many odp_get_* tools without opening any schema.

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 'USE THIS TOOL WHEN' block gives an explicit triggering condition ('filtering by applicant metadata, dates, or other criteria not available in PPUBS'), which is concrete usage guidance. It references PPUBS as the alternative but not by exact tool name, and offers no when-not guidance, so it falls just short of a 5.

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