Skip to main content
Glama

Search Maintenance Fee Events

search_maintenance_fee_events
Read-onlyIdempotent

Search USPTO maintenance-fee events across patents by event code, patent-number prefix, and/or event-date range — e.g. all 'EXP.' (expired for non-payment) events in a date window. Returns an exact total_matching count first, then a capped sample of the actual event rows (newest first) — never a bare empty array on zero matches; the filters tried are always echoed back. Sourced from USPTO's Patent Maintenance Fee Events (public domain); every response carries data_as_of. Keyless.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "date_to": "2026-03-31",
      "date_from": "2026-01-01",
      "event_code": "EXP."
    },
    "name": "search_maintenance_fee_events"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax sample rows to return (default 50, max 200).
date_toNoEvent date upper bound, inclusive, YYYY-MM-DD.
date_fromNoEvent date lower bound, inclusive, YYYY-MM-DD.
event_codeNoExact USPTO event code, e.g. "EXP." (expired, non-payment), "EXPX" (reinstated), "M1551" (4th-year large-entity payment).
patent_number_prefixNoPatent-number prefix, e.g. "10835" or "RE4". Digits only unless a reissue "RE" prefix.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/non-destructive, yet the description still adds substantive behavior: exact total_matching count first, capped newest-first sample, never a bare empty array, filters echoed back, data_as_of on every response, and keyless access. That is context an agent cannot get from the annotations or schema.

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?

Three sentences, each carrying distinct payload: what/how to filter, what comes back, and provenance/auth. Front-loaded with the core search verb and no filler.

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?

With no output schema, the description carries the return-shape burden and does so fully: total_matching count, capped newest-first sample, echoed filters, zero-match behavior, and data_as_of. An agent has everything needed to call and interpret results.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline would be 3. The description adds meaning beyond the schema by framing the row output as a capped sample (tying to limit) ordered newest first and noting that filters are echoed back, which clarifies how parameters surface in the response.

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 (search) and resource (USPTO maintenance-fee events) with explicit scope ('across patents') and the three filter axes. This distinguishes it from the per-patent sibling get_patent_maintenance_status, which looks up one patent's status rather than searching events across patents.

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?

Provides a concrete usage example ('all EXP. events in a date window') and indicates filters are combinable/optional. It stops short of stating when to prefer this over get_patent_maintenance_status, so the alternative routing is left implicit.

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.