Skip to main content
Glama
john-walkoe

USPTO Patent Citation MCP Server

by john-walkoe

Citations_search_citations_balanced

Citations_search_citations_balanced
Read-only

Search USPTO patent citations in balanced mode to retrieve prior art references with passage locators, mapped claims, and office action categories, reducing context by 80-85% for focused analysis.

Instructions

Balanced citation search for analysis (80-85% context reduction). Prior art references cited by an examiner, cited passage, column and line locator, figure, mapped claim, art unit, tech center, examiner vs applicant citation.

Use after minimal search for detailed study of selected citations (10-20 results). 19 fields including passages, claims, office action category.

Solr/Lucene Query Examples:

  • Field search: criteria='groupArtUnitNumber:2854'

  • Date range: criteria='officeActionDate:[2023-01-01 TO 2023-12-31]'

  • Boolean: criteria='(citationCategoryCode:X OR citationCategoryCode:Y) AND techCenter:2100'

  • NPL only: criteria='nplIndicator:true AND techCenter:2100'

  • Complex: criteria='groupArtUnitNumber:2854 AND citationCategoryCode:X AND officeActionDate:[2020-01-01 TO *]'

NOT searchable: examinerNameText and firstApplicantNameText do NOT exist on this API. Examiner queries 400; applicant queries silently return 0. Resolve examiners and applicants through the PFW MCP, then query citations by application number.

Ultra-minimal mode: Pass custom fields list for 99% token reduction (2-3 fields only). Example: fields=['citedDocumentIdentifier', 'citationCategoryCode', 'passageLocationText']

Date handling: documented window is office actions mailed 2017-10-01 to ~30 days ago, but ~44% of TC2100 records carry an earlier officeActionDate in practice. Add an officeActionDate:[2017-10-01 TO *] clause only when you want the documented window specifically. For completeness, also query the OA lane and union.

Convenience parameters (balanced mode only):

  • decision_type: Office action type — use "CTNF" (non-final rejection) or "CTFR" (final rejection)

  • category_code: Citation relevance code — X (anticipatory §102/103), Y (combined §103), A (background)

  • examiner_cited: Boolean filter for examiner-cited references (true/false)

  • art_unit: Group art unit number (e.g., '2128', '3600')

CROSS-LANE JOIN KEY: every row carries referenceKey, the normalised reference identifier, and it is the ONLY correct key for unioning this lane with the OA lane. The two lanes write the same reference differently: on app 12849948 the OA parsedReferenceIdentifier reads '20060075466' while the enriched citedDocumentIdentifier reads 'US 2006/0075466 A1'. Joining those two raw fields finds zero overlap on every application; the true answer there is four references in both lanes. referenceKey is digits only (a leading US, spaces, slashes, hyphens and the kind code stripped, series markers such as RE kept), derived from publicationNumber first and citedDocumentIdentifier second, and carried on both lanes at every tier including a custom fields list.

ROWS WITH NO REFERENCE: referenceKey is null when the row carries no usable identifier, and the response envelope reports how many such rows the page holds as rows_without_reference_identifier (always present, 0 included). An absent citedDocumentIdentifier key, a null one and an empty string are ONE state, not three: a row can carry an empty publicationNumber with the citedDocumentIdentifier key missing from the JSON entirely. Measured: 2 of 5 on app 11752072, 4 of 8 on 12849948, 4 of 26 on 18407147. Those rows are real citations and must be reported as unresolved, never dropped.

IDENTIFIERS: patent_number takes either a GRANTED patent number (7-8 digits; commas, spaces and a US prefix are accepted) or an 11-digit pre-grant publication number. A granted patent number is crosswalked to its application serial with one USPTO ODP applications-search call and queried as patentApplicationNumber; an 11-digit value queries publicationNumber directly. The response reports which reading was used in patent_number_resolution {input, interpreted_as, resolved_application_number when crosswalked, source}. A number that resolves to no application is a 400 naming the accepted forms, not a zero-result. application_number remains the application serial; passing one that disagrees with the crosswalked patent number is also a 400.

Note: Returns citation metadata only. For the office action text itself, use the PFW MCP's PFW_get_oa_text / PFW_get_oa_rejections (direct, no document-bag + OCR round trip).

For complex workflows and cross-MCP integration, use Citations_get_guidance(section). Quick reference: 'oa_citations' for OA-vs-enriched routing, 'fields' for Solr syntax, 'workflows_pfw'/'workflows_ptab'/'workflows_fpd' for integration patterns.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsNo
startNo
fieldsNo
art_unitNo
criteriaNo
date_endNo
date_startNo
tech_centerNo
category_codeNo
decision_typeNo
patent_numberNo
applicant_nameNo
examiner_citedNo
application_numberNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.9/5.0
Behavior5/5

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

With only readOnlyHint=true as an annotation, the description carries the full burden of behavioral disclosure, and it does so extensively. It discloses date handling quirks (documented window vs actual practice), the behavior for rows without a reference identifier (must be reported as unresolved, never dropped), the cross-lane join key semantics, error responses for invalid patent numbers, and the ultra-minimal mode. There is no contradiction with the read-only annotation.

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

Conciseness4/5

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

The description is long and dense, but it is well-structured with clear sections (Solr examples, convenience parameters, join key, identifiers, limitations) and front-loads the core purpose and usage. Every sentence contributes essential information for a complex 14-parameter tool, though some redundancy exists in the referenceKey and rows-without-reference sections. It is not concise in absolute terms but is appropriately sized for the complexity.

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?

Given the tool's complexity (14 params, output schema present, many edge cases), the description is remarkably complete. It covers the purpose, usage, error handling, data quirks, integration with sibling tools and PFW MCP, and even explains the output envelope (rows_without_reference_identifier). Nothing an agent needs to invoke it correctly or interpret results is missing.

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 must compensate for all parameters. It explicitly explains convenience parameters (decision_type, category_code, examiner_cited, art_unit), patent_number vs application_number resolution, and provides Solr query examples for criteria and fields. It also notes that applicant_name queries silently return 0 and examinerNameText is not searchable. This adds substantial meaning beyond the bare schema.

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 states the tool's function: a balanced citation search for analysis with 80-85% context reduction, and enumerates the types of data it retrieves (prior art references, passages, locators, claims, etc.). It distinguishes itself from sibling tools like the minimal search and the OA lane, explicitly positioning itself as the follow-up to minimal search for detailed study of 10-20 results.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance: 'Use after minimal search for detailed study of selected citations (10-20 results)'. It also names alternatives: for office action text use PFW MCP's get_oa_text/get_oa_rejections, for complex workflows use Citations_get_guidance(section), and for examiner/applicant resolution use the PFW MCP. It clearly states what is NOT searchable and the consequences (400 vs silent 0), giving unambiguous routing.

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