Patent by Ouroboros Apps について
Patent by Ouroboros Appsは、発明者、エンジニア、創業者、特許実務者向けのリモートMCPサーバーです。USPTOのデータを検索して記録や引用情報を返しますが、法的助言は行いません。
主な機能
- 01キーワード、請求項、CPC、出願人、発明者、日付で米国特許を検索
- 02要約、請求項、ステータス、ファミリー、引用情報を取得
- 03特許を引用する文献と引用先の文献を検索
- 04アイデアの説明から先行技術を検索
活用シーン
- 01アイデアが公開済みの米国特許記録にあるか確認
- 02特許の請求項、ステータス、引用履歴を確認
- 03発明の構想に関連するUSPTO記録を検索
MCP 対応
Streamable HTTP経由で、特許検索用の4つのツールをMCPクライアントに提供し、OAuthログインに対応します。ホスト版はUSPTO Open Data Portalの米国特許記録を検索します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://patent-mcp.vercel.app/mcpclaude mcp add --transport http lahutchins91-patent https://patent-mcp.vercel.app/mcp{"mcpServers":{"lahutchins91-patent":{"type":"http","url":"https://patent-mcp.vercel.app/mcp"}}}Cursor で開く{"servers":{"lahutchins91-patent":{"type":"http","url":"https://patent-mcp.vercel.app/mcp"}}}VS Code で開く{"mcpServers":{"lahutchins91-patent":{"type":"http","url":"https://patent-mcp.vercel.app/mcp"}}}{"mcpServers":{"lahutchins91-patent":{"serverUrl":"https://patent-mcp.vercel.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| cpc | string | いいえ | CPC 記号。例:H04L、C07H19/207。 |
| limit | integer | いいえ | 最大検索結果数。1~25。 |
| claims | string | いいえ | クレームの文言。USPTO はファイルラッパー全体からこれらの語句を照合します。 |
| dateTo | string | いいえ | 登録日または公開日の終了日。形式:YYYY-MM-DD。 |
| assignee | string | いいえ | 出願人または譲受人の名称。 |
| dateFrom | string | いいえ | 登録日または公開日の開始日。形式:YYYY-MM-DD。 |
| inventor | string | いいえ | 発明者名。 |
| keywords | string | いいえ | 出願書類、タイトル、または概要から検索する語句。 |
詳細
Ouroboros Patent
Ouroboros Patent は、アイデアがすでに公開特許記録に掲載されているかを確認したい発明者、スタートアップ創業者、特許代理人や弁護士、エンジニア向けのリモート MCP サーバーです。
USPTO Open Data Portal で米国の特許記録を検索します。Google Patents はリンク先としてのみ使用します。ツールの結果に含まれる特許番号はすべて、USPTO の応答からコピーしたものです。USPTO から応答がない場合、サーバーが番号を補完することはありません。
これは法律上の助言ではありません。 登録済みの特許弁護士や代理人に代わるものではありません。検索結果は、特許性、侵害、有効性、または実施の自由に関する意見ではありません。
ホステッドサーバー
- MCP サーバーの URL:
https://patent-mcp.vercel.app/mcp(稼働中、Streamable HTTP、OAuth サインイン) - ヘルスチェック:https://patent-mcp.vercel.app/health
- 保護リソースのメタデータ:https://patent-mcp.vercel.app/.well-known/oauth-protected-resource
- 接続ガイド:https://patent-mcp.vercel.app/connect
- ドキュメント:https://ouroborosapps.com/docs/patent
- ホステッドサーバーでの対象範囲:USPTO Open Data Portal の米国特許。
- レジストリ名:
io.github.LAHutchins91/patent
接続
ホステッド MCP のアドレスは https://patent-mcp.vercel.app/mcp です。セルフホストしたコピーでは、独自のオリジンに /mcp を追加します。ローカルの場合は http://127.0.0.1:8787/mcp です。
アシスタントで OAuth を開いたらサインインしてください。クライアント ID とシークレットは空欄のままにしてください。サーバーは OAuth 2.1 の動的クライアント登録と PKCE(S256)をサポートしています。パスワードやオフィスの API キーをアシスタントに貼り付けないでください。
Cursor の場合は、~/.cursor/mcp.json またはプロジェクトの .cursor/mcp.json に追加します。
{
"mcpServers": {
"patent": {
"url": "https://patent-mcp.vercel.app/mcp"
}
}
}
Claude Code:
claude mcp add --transport http patent https://patent-mcp.vercel.app/mcp
ChatGPT、Claude、Gemini、Grok、その他の Streamable HTTP クライアントでは、同じ URL を追加して OAuth を選択し、クライアント ID とシークレットは空欄のままにしてください。詳しい手順は /connect にあります。
新規アカウントには14日間の検索アクセスが含まれます。トライアル終了後は、Stripe Checkout を通じて Pro を継続できます。料金はこのリポジトリではなく、Stripe に表示されます。
server.json は MCP Registry のマニフェスト(io.github.LAHutchins91/patent)です。remotes[0].url はホステッドサーバー https://patent-mcp.vercel.app/mcp を指し、アイコンは https://patent-mcp.vercel.app/logo.jpg です。セルフホストしたコピーでは、両方を独自のオリジンに設定してください。
ツール
search_patents— キーワード、クレームの文言、CPC 分類、譲受人、発明者、日付で検索しますget_patent— 1件の記録について、要約、クレーム、ステータス、ファミリー、引用文献を取得しますfind_patent_citations— 特許を引用している文書と、その特許が引用している文書を検索しますsearch_prior_art— アイデアの説明から最も近い USPTO の記録を検索し、Google Patents のリンクを提示します
引用文献の対象範囲は、USPTO の特許付与文書と USPTO のオフィスアクションに記載された引用です。PatentsView の引用グラフは一時停止中です。PatentsView が 2026年3月20日に Open Data Portal に移行した際、USPTO は PatentsView PatentSearch API を一時停止しました。
ローカルで実行
npm install
cp .env.example .env
npm run dev
サーバーはポート 8787 でリッスンします。GET /health は JSON を返します。billingConfigured が true になるのは、STRIPE_SECRET_KEY、STRIPE_PRICE_MONTHLY、STRIPE_PRICE_YEARLY がすべて設定されている場合のみです。
npm test
npm run typecheck
テストでは、公開されている USPTO ホストにアクセスします。キーが必要なオフィスのペイロードはモックを使用します。環境変数に USPTO_API_KEY が設定されている場合、ライブテストでは未認証の応答を想定せず、そのキーを使用します。
環境
Lawrence は以下を設定する必要があります。
| 変数 | 用途 |
|---|---|
APP_BASE_URL | OAuth の発行者および Stripe のリターン URL として使用する公開オリジン |
AUTH_SECRET | ブラウザーセッションに署名します。本番環境では必須です |
USPTO_API_KEY | USPTO Open Data Portal のキーです。X-API-KEY として送信されます。ホストされたサーバーが使用するキーです。 |
EPO_CONSUMER_KEY | ホストされたサーバーでは設定しないでください。未使用のクライアントは、シークレットも設定されている場合にのみこれを読み取ります。 |
EPO_CONSUMER_SECRET | ホストされたサーバーでは設定しないでください。検索対象は USPTO の米国特許のままです。 |
STRIPE_SECRET_KEY | 既存の Stripe シークレット |
STRIPE_PRICE_MONTHLY | 既存の月額料金 ID |
STRIPE_PRICE_YEARLY | 既存の年額料金 ID |
STRIPE_WEBHOOK_SECRET | Stripe webhook の署名シークレット |
STORAGE_BACKEND | memory(デフォルト)、file、http、または blob |
STORAGE_PATH | バックエンドが file の場合に使用する JSON ファイル |
STORAGE_URL | バックエンドが http の場合に使用する、1 つの JSON ドキュメント用の GET/PUT URL |
STORAGE_TOKEN | この URL 用の任意のベアラートークン |
BLOB_READ_WRITE_TOKEN | Vercel Blob の読み書きトークン。ストアを接続すると Vercel が設定します。STORAGE_BACKEND=blob の場合は必須です |
STORAGE_BLOB_PATH | アカウントドキュメント用の Blob パス名。デフォルトは patent/accounts.json です |
このアプリで Stripe の商品や料金を作成しないでください。シークレットをコミットしないでください。
USPTO キー
- USPTO.gov アカウントを作成します。
- ID.me を認証してリンクします。このリンクは一度しか設定できません。
- Open Data Portal の利用開始ガイドを開き、API キーをリクエストします。
USPTO_API_KEYを設定します。
以前の PatentsView API キーは Open Data Portal では使用できません。
アカウントとストレージ
特許ツールは、USPTO Open Data Portal 上の米国特許を対象とするステートレスな検索を行います。トライアルとサブスクリプションの状態、OAuth クライアント、トークンは、AccountStore の背後にある 1 つの JSON ドキュメントに保存されます。
memoryは、そのドキュメントをプロセス内に保持します。デフォルトであり、ローカルテストで使用されます。再起動や、2 つ目のサーバーレスインスタンスをまたいで保持されることはありません。fileはSTORAGE_PATH(デフォルトは./data/patent-store.json)に書き込みます。Docker または長時間稼働する Node プロセスで使用してください。httpはSTORAGE_URLにある同じドキュメントを GET および PUT します。すでに運用しているストレージを指定してください。このサーバーはデータベースを作成しません。blobは、Vercel Blob のSTORAGE_BLOB_PATH(デフォルトはpatent/accounts.json)に同じドキュメントを保存します。Vercel ではSTORAGE_BACKEND=blobを設定してください。Blob ストアが接続されると、Vercel が設定するBLOB_READ_WRITE_TOKENを Blob クライアントが使用します。読み取りでは CDN キャッシュを迂回します。書き込みではifMatchを送信し、別のインスタンスが先にドキュメントを更新していた場合は再試行します。
OAuth クライアント、認可コード、アクセストークン、リフレッシュトークンは、そのドキュメント内のフィールドです。同意画面は認可リクエストを承認とともに送信します。許可に関する情報がプロセス内メモリに保存されることはありません。期限切れのコードとリフレッシュトークンは、書き込みのたびに削除されます。
デプロイ
Vercel:Express アプリは api/index.ts のデフォルトエクスポートです。vercel.json はすべてのパスをその関数に送信し、logo.jpg をバンドルします。そのため、/logo.jpg はアプリによって配信され、/package.json などのリポジトリファイルは静的アセットではありません。STORAGE_BACKEND=blob を含め、上記の環境変数を設定してください。Stripe webhook の送信先を https://<your-host>/billing/webhook に設定してください。
Docker:
docker build -t patent-mcp .
docker run --env-file .env -p 8787:8787 patent-mcp
検証済みの項目
ローカルでは、Streamable HTTP 経由で tools/list と 4 つの各ツール、PKCE を使用した OAuth 登録、トライアルの有効期限、Stripe チェックアウトリクエストの形式、webhook 署名の検証を確認しました。テストでは実際の Stripe 決済は行っていません。
ホスト環境:サーバーは https://patent-mcp.vercel.app にデプロイされています。tools/list はトークンなしで応答し、署名のないツール呼び出しは WWW-Authenticate ヘッダーとともに 401 を返し、/.well-known/oauth-protected-resource は 200 を返します。また、/health は USPTO キーが設定済みであることを報告します。
Ouroboros による Patent。Ouroboros の詳細はこちら:https://ouroborosapps.com
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。