IP-MCP
IP-MCP
English · 日本語
Claudeから自然言語で日本の特許を検索できます。 IP-MCPは、特許庁公式の「特許情報取得API」をMCPサーバーとしてラップし、Claude Desktop、Claude Code、iPhone版Claudeから特許番号の解決、登録状況の確認、引用文献の取得、五大庁ファミリーの参照が可能です。公式APIツール12個に加え、意図的に分離されたキーワード検索ツール1個を提供します。
30秒でClaudeに聞けること
あなた: 「JP-2010-228687の登録状況と先行技術を教えて。」
Claude(内部の処理):
jpo_convert_patent_number→ 出願番号2009080841
jpo_get_patent_registration→ 登録番号5094774、株式会社日立製作所、2029-03-30満了、存続中
jpo_get_patent_citations→ 先行技術文献20件回答: 「列車制御地上装置およびシステム」(株式会社日立製作所)は2012-09-28にJP5094774として登録され、現在有効、2029-03-30に満了予定です。調査報告書および拒絶理由から先行技術引用20件、すべて特許文献(非特許文献なし)…
キーワード検索は別ツール(external_search_patents_by_keyword、Google Patents XHR)に分離されています。LLMが公式APIから非公式ソースへ誤ってフォールバックすることは絶対にありません。すべてのレスポンスには明示的なsourceフィールドが付与されます。
Related MCP server: Patent Intelligence MCP
比較
J-PlatPat(手動Web UI) | 自作Flaskラッパー | IP-MCP | Google Patents直接利用 | |
データソース | 公式(JPO) | 公式(JPO) | 公式(JPO)+外部(任意) | 非公式 |
番号変換/進行/登録/引用 | ✓(手動) | ✓ | ✓ | ❌ |
キーワード検索 | ✓ | ✓ | △(分離された外部ツール) | ✓ |
LLMから直接呼び出し可能 | ❌ | ❌(REST+パース処理が必要) | ✅ ネイティブMCP | △(HTML/JSONパースが必要) |
公式と非公式の区別 | — | 単一ソース | ✅ 必須の | — |
自動フォールバック | — | — | ❌ 禁止(LLMが判断) | — |
認証 | セッション | env | envまたはOAuth 2.1(DCR+PKCE) | なし |
デプロイ | — | DIY | Docker Compose | — |
キーワード検索を別ツールカテゴリにする理由
公式JPO APIは番号検索のみです。すべてのエンドポイントは出願/公開/登録番号、出願人コード、または完全一致の出願人名を受け取ります。キーワード/IPC/Fターム/日付範囲/部分一致検索は仕様に存在しません。そこで:
tools_official/— ツール名はjpo_*で始まり、レスポンスは{"source": "jpo_official", …}tools_external/— ツール名はexternal_*で始まり、レスポンスは{"source": "google_patents_unofficial", …}境界テストにより、
tools_external/からtools_official/へのimportは禁止されています。サイレントフォールバックなし — 非公式ソースを参照するかどうかはLLMが判断します。
アーキテクチャ
flowchart LR
User["Claude Desktop /<br/>Claude Code /<br/>iPhone Claude"]
CF["Cloudflare<br/>(Edge TLS + Tunnel)"]
Caddy["Caddy<br/>(CF Origin Cert)"]
User -->|"HTTPS + OAuth"| CF
CF -->|"outbound from home<br/>via cloudflared"| Caddy
Caddy -->|"http+SSE"| MCP
subgraph Docker["Docker container (Python 3.12 + FastMCP)"]
MCP["MCP server<br/>:8765"]
Official["tools_official/<br/>(jpo_* 12 tools)"]
External["tools_external/<br/>(external_* 1 tool)"]
OAuth["OAuth 2.1<br/>SQLite-backed"]
MCP --> Official
MCP --> External
MCP -.->|"persisted"| OAuth
end
Official -->|"OAuth2 password grant"| JPO[("JPO Patent API")]
External -->|"3s spacing + 503 backoff"| GP[("Google Patents XHR")]
classDef boundary stroke-dasharray: 5 5
class External,GP boundary中核となる設計ルール:
tools_official/(公式JPO)とtools_external/(非公式Google Patents)は、コード階層、呼び出し箇所、ロガーレベルで完全に分離されています。境界テストにより、tools_external/からtools_official/へのimportはブロックされます。リトライは同じデータソース内でのみ許可されます(401→トークン更新、303→指数バックオフ)。失敗時のソース間の自動フォールバックは禁止されています — LLMが判断します。
すべてのレスポンスには
{"source": "jpo_official"}または{"source": "google_patents_unofficial"}が付与されます。
クイックスタート
ローカル開発
cp .env.example .env # Fill in JPO_USERNAME / JPO_PASSWORD
chmod 600 .env
docker compose up -d --buildLANデプロイ(認証なし)
docker-compose.override.ymlを作成してLANインターフェースにバインドします(リポジトリにはdocker-compose.override.yml.exampleが同梱されています):
services:
ip-mcp:
ports:
- "YOUR_SERVER_IP:8765:8765" # your LAN IPClaude Desktop / Codeの設定:
{
"mcpServers": {
"ip-mcp": {
"transport": { "type": "sse", "url": "http://YOUR_SERVER_IP:8765/sse" }
}
}
}Codex CLIの直接HTTP MCP(codex mcp add --url)はStreamable HTTPを期待するため、Codexから直接使用する場合は/mcpパスを登録します:
CODEX_HOME=/path/to/codex-home codex mcp add ip-mcp --url https://your-host.example.com/mcp
CODEX_HOME=/path/to/codex-home codex mcp login ip-mcpSSEクライアントは/sseを登録します。Codex直接HTTPとSSEクライアントの両方を同じ公開サーバーで提供するには、MCP_TRANSPORT=bothで起動して、同じOAuth設定の下で/mcpと/sseの両方を公開します。単一クライアントの場合は、MCP_TRANSPORT=sse(デフォルト)またはMCP_TRANSPORT=streamable-httpでも動作します。
iPhone版Claude / claude.ai(公開、OAuth 2.1)
公開公開にはCloudflare Tunnel+Caddy(CF Origin Cert)の構成が推奨されます — cloudflaredが自宅ネットワークからCFエッジへ発信接続するため、ルーターのポートフォワーディングは不要で、ヘアピンNATの問題もありません。Let's Encrypt+直接443を使用した従来のリバースプロキシでも動作します。いずれの場合も、MCP_OAUTH_MASTER_PASSWORD+MCP_OAUTH_ISSUER_URLを設定してOAuth 2.1(DCR+PKCE+マスターパスワード同意)を有効にします。発行されたクライアントトークンはSQLiteに永続化され、コンテナ再起動後も保持されます。
MCP_OAUTH_MASTER_PASSWORD=<24+ chars random>
MCP_OAUTH_ISSUER_URL=https://your-host.example.com
# optional: MCP_OAUTH_DB_PATH=/app/data/oauth.db完全なデプロイ+運用の詳細はPLAN.md §9-§10およびOPERATIONS.mdを参照してください(現在は日本語のみ)。
ツール一覧
名前 | 目的 |
| 出願/公開/登録番号の相互変換 |
| 審査進行状況(詳細/簡易切替) |
| 登録情報と権利状況 |
| 引用された先行技術文献 |
| 分割出願 |
| 優先権主張出願 |
| 出願人コード⇄名称(完全一致のみ) |
| 拒絶理由通知/意見書/補正書(インラインZIP+署名付きURL対応) |
| J-PlatPat正規URL |
| 五大庁特許ファミリー(JPO/USPTO/EPO/CNIPA/KIPO) |
| OPD文書一覧 |
| 複数の公式エンドポイントに展開する高レベル複合ツール(公式API内に完全に留まる) |
レスポンス: {"ok": true, "source": "jpo_official", "data": {…}, "remaining_today": "…"}
名前 | 目的 |
| 日本語特許のフリーテキスト/権利者/IPC/日付範囲検索(Google Patents XHR、参考用) |
レスポンス: {"ok": true, "source": "google_patents_unofficial", "data": {…}}
公式APIにはキーワード検索がない(番号検索のみ)ため分離されています。失敗時は{"ok": false, "kind": "search_unavailable"}を返し、公式ツールへのフォールバックは絶対にしません。
レート制限(運用)
公式JPO APIは自己スロットリングの責任を運用者に委ねています:
分単位レート:
/api/patent/*は10 req/min、/opdapi/*は5 req/min(OPDは独自のバケットで別途カウント)。日次クォータ: エンドポイントごとに30〜800/日(2026年3月に国別APIクォータが2倍に増加)。権威あるライブカウンターは
result.remainAccessCountで、すべてのレスポンスで返されます。jpo_fetch_full_recordは4つの公式エンドポイントに並列展開するため、1回の呼び出しで4つの別々の日次クォータからそれぞれ1単位を消費します(同じクォータから4単位ではありません)。ボトルネックは最も低いクォータです。
ツールとエンドポイントの対応および運用上のしきい値については、OPERATIONS.md §JPO API レート制約とクォータ(日本語)を参照してください。
ドキュメント
📐 PLAN.md — 設計計画(アーキテクチャ、全ツール一覧、段階的計画)[JP]
🤖 CLAUDE.md — Claude Codeガイド(譲れない設計ルール、JPO APIの落とし穴)[JP]
🔧 OPERATIONS.md — 運用ランブック(アクセスログ集計、マスターパスワードのローテーション、トラブルシューティング)[JP]
プレースホルダー | 例 | 設定方法 |
|
| デプロイホストのLAN IP |
|
| ホスト上のSSHユーザー名 |
| ご自身のドメイン | Cloudflare/リバースプロキシの背後にある公開ホスト名 |
docker-compose.ymlのポートバインドはデフォルトで127.0.0.1:8765(同一マシンのみ)です。LANで公開するには、別のdocker-compose.override.yml(すでにgitignore済み)を作成して上書きします。
ライセンス
MIT — LICENSEを参照してください。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseAqualityCmaintenanceEnables searching J-Quants API endpoints, retrieving detailed documentation, generating executable sample code, and answering FAQs via MCP clients like Claude Desktop.712MIT- AlicenseNot gradedqualityFmaintenanceEnables AI agents to perform patent search, portfolio analysis, technology trend tracking, and semantic prior-art search using USPTO data.MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural language search of Japan's National Diet Library bibliographic database via Claude Desktop, allowing users to find books and academic materials using intuitive Japanese queries.6
- AlicenseBqualityDmaintenanceEnables Claude Desktop to interact with freee accounting API for expense registration, transaction management, and receipt image processing.151MIT
Related MCP Connectors
Patent search, USPTO data, patent landscape & pgvector prior-art search for agents.
AI-optimized patent data marketplace providing structured JSON datasets.
Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kitepon/IP-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server