Commit a2e9a59
Release 2026-09-03b: CI secret-history scan fix, dependency refresh (FastMCP 4, MCP 2026-07-28)
USPTO Final Petition Decisions MCP server: petition search by application, art unit and criteria, petition details, document content and downloads. Example application 17896175 (no petitions) replaced with 17414168; the accepted identifier forms now match the validator (digits and slash only).
Updated to FastMCP 4.0.1 on the MCP Python SDK 2.x, speaking the 2026-07-28 MCP
protocol revision (MCP Apps now import from fastmcp.apps; a compat shim restores
defer_loading on the wire).
Security and robustness pass from the 2026-09-03 review: INTERNAL_AUTH_SECRET
rotation overlap window with per-purpose derived keys, bounded request bodies,
archives and PDF buffers, USPTO-authored text escaped before it reaches the
view HTML, response-size guard with paging markers on every tool, shared
cross-process USPTO rate limiter, health checks that can actually fail.
Documentation refresh: every example application, patent and proceeding number
verified live against the USPTO API and rewritten in the form the identifier
resolver expects; stale tool counts, env-var tables and response shapes fixed.
Removed the cost and spend wording around OCR; the extraction tiers are now
described by capability (native text layer first, OCR for scanned pages) and a
self-hosted Docling backend can be configured via DOCLING_SERVE_URL. Secrets and
prompt-injection baselines regenerated.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CeSWJpSaEHe9Cx66xzahVV1 parent 95b0aa2 commit a2e9a59
3 files changed
Lines changed: 126 additions & 118 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
49 | 46 | | |
50 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
58 | 60 | | |
59 | 61 | | |
60 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
49 | 46 | | |
50 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
58 | 60 | | |
59 | 61 | | |
60 | 62 | | |
| |||
0 commit comments