Uspto Office Actions
liveResearchUSPTO patent prosecution history: office action full text, examiner citations, claim-level rejections (35 U.S.C. 101/102/103/112), enriched (AI/ML-extracted) citation metadata, and Commissioner final decisions on patent application petitions — the USPTO's own patent-examination records.
Tools
search_office_actionsSearch USPTO office actions (and related prosecution-history documents, e.g. petition decisions filed in the same document stream) for one patent application. Returns action type (non-final rejection,
No parameters required.
Try it
get_office_action_textFetch one USPTO office action's full text. Pass document_id (from search_office_actions' document_id field) for an exact match, or application_number + mail_date to look it up by application and date.
No parameters required.
Try it
get_office_action_rejectionsClaim-level rejection data for every office action on one application. Returns AGGREGATE counts first (how many rejection records cite 35 U.S.C. 101/102/103/112, and double-patenting) and per-claim/pe
No parameters required.
Try it
get_office_action_citationsReferences cited in office actions for one application — who cited each one (examiner vs applicant), the legal basis (102/103 etc.) it was cited under, and the AI/ML-extracted "enriched citation" fiel
No parameters required.
Try it
search_petition_decisionsSearch USPTO Commissioner / Office of Petitions final decisions. Pass application_number for one application's petition history, or query for free-text search across decisions (petition issue text, in
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/uspto-office-actions/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/uspto-office-actions/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_office_actions","arguments":{}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_office_actions", {});// Or ask in plain English:
const answer = await px.ask("uspto patent prosecution history: office action full text, examiner citations, claim-level rejections (35 u");