mcpField
P
Patent Maintenance Fees

Patent Maintenance Fees

リモート
pipeworx.io法務・行政02 週間前に更新
リポジトリ公式サイト

Patent Maintenance Fees について

Patent Maintenance Fees は、USPTO の一括データのローカルミラーを使い、米国特許の維持年金イベントと状態を調べる MCP サーバーです。個別特許の履歴確認やイベント検索に対応しますが、ミラーは未準備のため、現在の呼び出しは dataset_unavailable エラーになります。

主な機能

  1. 01特許の費用状態とイベント履歴
  2. 02納付期限と支払い状況の確認
  3. 03該当イベントの検索と集計
  4. 04意匠・植物特許の免除判定

活用シーン

  1. 01実用特許の未納による失効確認
  2. 02納付、回復、権利者区分変更の確認
  3. 03期間内の失効イベントの集計

MCP 対応

Pipeworx ゲートウェイまたは単独の stdio MCP サーバーとして、特許費用に関する 2 つのツールを MCP クライアントに公開します。ローカルミラーが未ロードのため、現在は dataset_unavailable を返します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/patent-maintenance-fees/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/patent-maintenance-fees

米国特許が現在も有効か、または維持年金の未納により失効したかを判定します。これは、手続きイベントデータに料金の項目がまったくないため、patents パックでは答えられない唯一の質問です。

Pipeworx の一部です。AI エージェントを1831以上のライブデータソースにつなぐ MCP ゲートウェイです。これは独立した非公式のインテグレーションであり、上流プロバイダーとは提携・承認・公開のいずれの関係もありません。

ツール

  • get_patent_maintenance_status(patent_number) — 1件の特許に記録されたすべての維持年金イベント(納付、割増金、未納による失効、回復、権利者区分の変更)、算出されたstatus、および4年目・8年目・12年目の納付期間の内訳(納付期限、猶予期間の終了日、納付済みかどうか)を返します。意匠特許(Dで始まるもの)と植物特許(PPで始まるもの)は法律により維持年金が免除されており、単に該当なしとする代わりにsubject_to_maintenance_fees:falseを返します。
  • search_maintenance_fee_events(event_code?, patent_number_prefix?, date_from?, date_to?, limit?) — まず正確なtotal_matching件数を返し、次に一致したイベントから上限付きで新しい順にサンプルを返します。「前四半期に未納で失効した特許の数」などの質問に役立ちます。event_code: "EXP."と日付範囲を指定してください。

認証

不要です。

データソース

USPTO、Patent Maintenance Fee Events — Open Data Portalの一括データ製品です。1981-09-01から現在までに付与された米国特許のすべての維持年金イベントを記録しています。米国連邦政府のデータであり、パブリックドメインです。

ライブプロキシではなくローカルコピーのパックである理由

CLAUDE.mdのローカルコピー規則に従い、まず確認しました。ODPのPatent File Wrapper検索/番号指定取得API(mcps/patentsがすでに呼び出しているもの)は、手続きイベント(出願、公開、登録、オフィスアクション)をeventDataBagとして返しますが、維持年金の項目はまったくありません。維持年金の履歴は「PTMNFEE2」という一括データ製品としてのみ公開されており、単一の週次累積ファイルで、特許ごとの照会エンドポイントはありません。この製品の公開元だった従来のキー不要ホスト(bulkdata.uspto.gov)は、独立した2つの公開DNSリゾルバーで確認したところ、2026-10-17時点で名前解決できなくなっています(一時的なブロックではなく、NXDOMAIN/NODATA)。現在この製品にアクセスできるのは、ODP独自の認証が必要な一括データAPI経由のみです。このAPIは、APIキーがない場合、すべての/api/v1/*パスに401/403を返します(patentsパックのPLATFORM_USPTO_KEYと同じ種類の認証情報が必要です)。レコード単位のAPIがない一括ファイルは、CLAUDE.mdのデータ取得規則により、呼び出しごとに上流から取得するのではなく、更新されたバックエンドストアを使うべきケースです。

このパックはSupabaseミラー(uspto_maintenance_fee_events、スキーマはsupabase/migrations/260_uspto_maintenance_fee_events.sql)を読み込みます。データはscripts/ingest-uspto-maintenance-fees.mjsによって取り込まれます(.github/workflows/uspto-maintenance-fees-refresh.yml、手動実行のみ — 下記参照)。すべてのレスポンスには、ミラー自身のloaded_atをもとにしたdata_as_ofが含まれます。

未プロビジョニング(このパックを追加したコミット時点)

uspto_maintenance_fee_events にデータが格納されるには、まだ2つの作業が必要です。どちらもコミットのみのビルドセッションでは実行できません。

  1. リポジトリシークレット USPTO_ODP_API_KEY としての ODP API キー。 https://data.uspto.gov/myodp から無料で取得してください(patents パック用にゲートウェイがサーバー側で PLATFORM_USPTO_KEY としてすでに保持しているものと同じ種類の認証情報です。更新ジョブはゲートウェイの Worker の外部で実行されるため、ここにも保存します)。
  2. uspto-maintenance-fees-refresh.yml の初回ディスパッチ。 取り込みスクリプトの取得・検出ステップ(ODP バルクデータ API 経由で最新の MaintFeeEvents_*.zip を探してダウンロードする処理)は、その API のドキュメントに記載された仕様に沿っていますが、本番エンドポイントに対して実行されたことは一度もありません。スクリプトを作成したビルドセッションではキーを利用できなかったためです。想定と異なるレスポンス形状の場合は、誤って解析することなく、実際のレスポンス形状を示して明示的に失敗します。スクリプトのヘッダーを参照してください。その後に解析する固定幅レコードのレイアウト(1レコード57バイト、USPTO が独自に文書化した列オフセット)は、別途確認済みで、scripts/__tests__/ingest-uspto-maintenance-fees.test.mjs のユニットテストでもカバーされています。

両方が完了するまでは、すべてのツール呼び出しが dataset_unavailable エラーを明示的に返します。すべての特許に料金イベントがないと黙って報告することはありません。下記の「空のミラーに対するガード」を参照してください。

規模と負荷への対応方針

2026-10 時点で、ファイル全体には約2,700万件のイベント行が含まれています(特許ごとではなく、イベントごとに1行)。更新ワークフローは実行のたびに、テーブル全体を TRUNCATE してから psql \copy で再読み込みします。ファイルは累積形式のため、全件を再処理すれば毎回正しい完全な履歴が再現されます。これは scripts/ingest-faa-aircraft-registry.mjs と同じく、「差分処理を微妙に間違える余地をなくす」という方針です。2,700万行の再読み込みは大規模な処理となるため、このワークフローは cron ではなく workflow_dispatch のみで実行します(sec-13f-load.yml と同様の構成です)。初回のバックフィルは、Bruce が SEC 13F に関して2026-09-30に決定した「supa stagger」の方針に従い、実行前後に Supabase のレイテンシと PGRST002 を確認しながら、監視下で一度だけ実行してください。

空のミラーに対するガード

faa_reg_aircraft(fleet #2790)で修正されたのと同じ、ゼロ件を黙って返してしまう問題です。バックエンドのテーブルが空でも REST クエリは正常に成功して0行を返すため、単純な読み取りではすべての特許に維持費イベントがないと報告されてしまいます。正常なデータに対する本当の該当なしと区別できません。どちらのツールも、まず読み込み済みの行が1件以上あるかを確認し、実際の状態を示す dataset_unavailable エラーを明示的に返します。

対象範囲 — このパックで判定しないこと

維持費の未納による権利消滅は、特許の権利行使ができなくなる1つの理由であり、唯一の理由ではありません。このパックでは、以下のことは判定しません。

  • 存続期間満了(出願から20年)。 維持費がすべて適切に支払われている特許も、法定存続期間の満了時に失効します。
  • 無効、再審査の結果、または訴訟の状況。
  • 意匠特許および植物特許全般 — 詳細は下記を参照してください。

出願経過には patents パックを、米国以外の特許には epo-ops パックを併用してください。

意匠特許および植物特許の適用除外

35 U.S.C. 41(b) に基づく維持費の適用対象は、実用特許および再発行特許のみです。D で始まる意匠特許番号と、PP で始まる植物特許番号については、維持費イベントが発生することはなく、このデータセットにも含まれません。get_patent_maintenance_status は接頭辞を検出し、単に「イベントが見つからない」とだけ返すのではなく、その理由を説明して subject_to_maintenance_fees:false を報告します。単なる「イベントなし」という結果では、実際のデータ欠落と同じ表示になってしまうためです。

先頭のゼロ — 未解決の正規化に関する問題

ファイル内の固定幅特許番号列で先頭のゼロが保持されるか、削除されるかは、本番ファイルのサンプルで確認されていません(このパックの作成中に API キーを利用できなかったためです。上記の「未プロビジョニング」を参照してください)。get_patent_maintenance_status は一方に決めつけず、正規化した値と、先頭のゼロを削除した同じ値の両方を使って照会します。

イベントコード

USPTO 独自の、長年にわたって安定している維持手数料イベントコード(納付期間/事業体規模/公法の時代区分による納付、追加料金、EXP./EXPX による失効/回復、事業体ステータスの変更、申立て)は、src/index.ts の EVENT_CODES テーブルでデコードされ、説明とともに常に生コードが含まれます。テーブルにない一般的でないコードや将来追加されるコードは、推測した説明ではなく、生コードと null の説明を返します。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。

{
  "mcpServers": {
    "patent-maintenance-fees": {
      "url": "https://gateway.pipeworx.io/patent-maintenance-fees/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/patent-maintenance-fees/mcp の tools/list は、上のテーブルにあるツールに加えて、共有 Pipeworx メタツール(ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツール一式)も返します。そのため、表示されるツール数はこのテーブルより多くなります。現在、単一パックのエンドポイントには、パック独自のツールに加えて共有ツールが約 30 個表示されます。接続時の initialize 応答に正確な範囲が記載されており、その日の時点での確定情報です。

これは意図的な設計であり、誤って多重化しているわけではありません。メタツールを使うと、このパックが対象としていない質問にも対応できます。ask_pipeworx がカタログ全体にルーティングするため、MCP サーバーをもう 1 つ追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントを利用する方法はありません。追加のスキーマによるコンテキスト消費がルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度接続してください。

または、Pipeworx のフルゲートウェイに接続すると、このパックだけではなく、すべてのパックのツールが直接一覧表示されます。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらの URL も、同じゲートウェイと同じ 1831 以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも ask_pipeworx を使ってすべてのツールにアクセスできます。

MCP クライアントをお持ちでない場合:HTTP で呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/get_patent_maintenance_status \
  -H 'Content-Type: application/json' \
  -d '{"patent_number":"10835610"}'

最初の呼び出しにアカウントは不要です。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/get_patent_maintenance_status を使用します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を使用します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージはローカルの stdio MCP サーバーとしても実行でき、Pipeworx アカウントもゲートウェイへの往復通信も不要です。

{
  "mcpServers": {
    "patent-maintenance-fees": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-patent-maintenance-fees"]
    }
  }
}

または、起動を確認するために直接実行します。

npx -y @pipeworx/mcp-patent-maintenance-fees

stdin/stdout 経由で MCP を使用し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。

ask_pipeworx を使う

ツールを直接呼び出す代わりに、自然な英語で質問できます。上記のパックエンドポイントでも、フルゲートウェイでも利用できます。

ask_pipeworx({ question: "your question about Patent Maintenance Fees data" })

ゲートウェイが適切なツールを選び、引数を自動で設定します。

詳細

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。