IP-MCP
IP-MCP
English · 日本語
Fragen Sie japanische Patente in natürlicher Sprache von Claude ab. IP-MCP kapselt die offizielle „Patent Information Retrieval API" des japanischen Patentamts als MCP-Server, sodass Claude Desktop, Claude Code und iPhone Claude Patentnummern auflösen, den Registrierungsstatus prüfen, Zitate abrufen und Fünf-Ämter-Familien durchlaufen können — 12 offizielle API-Tools plus 1 bewusst isoliertes Stichwortsuch-Tool.
Was Sie Claude in 30 Sekunden fragen können
Sie: „Sagen Sie mir den Registrierungsstatus und den Stand der Technik von JP-2010-228687."
Claude (unter der Haube):
jpo_convert_patent_number→ Anmeldenummer2009080841
jpo_get_patent_registration→ Registrierung 5094774, Hitachi Ltd., läuft ab am 2029-03-30, aktiv
jpo_get_patent_citations→ 20 Referenzen zum Stand der TechnikAntwort: „Train Control Ground Equipment and System" (Hitachi Ltd.) wurde am 2012-09-28 als JP5094774 registriert, derzeit in Kraft, fällig am 2029-03-30. 20 Zitate zum Stand der Technik aus Recherchebericht und Zurückweisungsgründen, alle Patentliteratur (keine NPL)…
Die Stichwortsuche ist in ein separates Tool aufgeteilt (external_search_patents_by_keyword, Google Patents XHR). Das LLM kann niemals versehentlich von der offiziellen API auf die inoffizielle Quelle zurückfallen — jede Antwort trägt ein explizites source-Feld.
Related MCP server: Patent Intelligence MCP
Vergleich
J-PlatPat (manuelle Web-UI) | Handgebaute Flask-Wrapper | IP-MCP | Direkt auf Google Patents zugreifen | |
Datenquelle | Offiziell (JPO) | Offiziell (JPO) | Offiziell (JPO) + extern (optional) | Inoffiziell |
Nummer umwandeln / Fortschritt / Registrierung / Zitate | ✓ (von Hand) | ✓ | ✓ | ❌ |
Stichwortsuche | ✓ | ✓ | △ (isoliertes externes Tool) | ✓ |
Direkt von einem LLM aufrufbar | ❌ | ❌ (REST + Parsing nötig) | ✅ natives MCP | △ (HTML/JSON-Parsing nötig) |
Offiziell vs. inoffiziell unterscheidbar | — | einzelne Quelle | ✅ obligatorisches | — |
Automatischer Fallback | — | — | ❌ verboten (das LLM entscheidet) | — |
Authentifizierung | Sitzung | env | env oder OAuth 2.1 (DCR + PKCE) | keine |
Bereitstellung | — | DIY | Docker Compose | — |
Warum eine separate Tool-Kategorie für die Stichwortsuche?
Die offizielle JPO-API ist nur für Nummern-Lookups gedacht — jeder Endpunkt nimmt eine Anmelde-/Veröffentlichungs-/Registrierungsnummer, einen Anmeldercode oder einen exakt übereinstimmenden Anmeldernamen entgegen. Stichwort-/IPC-/F-Term-/Datumsbereich-/Teilnamenssuche existiert in der Spezifikation nicht. Deshalb:
tools_official/— Namen beginnen mitjpo_*, Antwort ist{"source": "jpo_official", …}tools_external/— Namen beginnen mitexternal_*, Antwort ist{"source": "google_patents_unofficial", …}Ein Grenztest verbietet jeden
importvontools_external/intools_official/. Kein stiller Fallback — das LLM entscheidet, ob es die inoffizielle Quelle konsultiert.
Architektur
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 boundaryKernentwurfsregeln:
tools_official/(offizielles JPO) undtools_external/(inoffizielles Google Patents) sind vollständig getrennt auf Code-Ebene, Aufrufstelle und Logger-Ebene. Ein Grenztest blockiert jedenimportvontools_external/intools_official/.Wiederholungen sind nur innerhalb derselben Datenquelle erlaubt (401 → Token-Refresh; 303 → exponentielles Backoff). Automatischer Quellen-übergreifender Fallback bei Fehlern ist verboten — das LLM entscheidet.
Jede Antwort trägt
{"source": "jpo_official"}oder{"source": "google_patents_unofficial"}.
Schnellstart
Lokale Entwicklung
cp .env.example .env # Fill in JPO_USERNAME / JPO_PASSWORD
chmod 600 .env
docker compose up -d --buildLAN-Bereitstellung (ohne Authentifizierung)
Erstellen Sie docker-compose.override.yml, um an Ihre LAN-Schnittstelle zu binden (das Repository enthält eine docker-compose.override.yml.example):
services:
ip-mcp:
ports:
- "YOUR_SERVER_IP:8765:8765" # your LAN IPClaude Desktop / Code-Konfiguration:
{
"mcpServers": {
"ip-mcp": {
"transport": { "type": "sse", "url": "http://YOUR_SERVER_IP:8765/sse" }
}
}
}Codex CLIs direkter HTTP-MCP (codex mcp add --url) erwartet Streamable HTTP, daher registrieren Sie den /mcp-Pfad, wenn Sie ihn direkt von Codex aus verwenden:
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-Clients registrieren /sse. Um Codex direktem HTTP und SSE-Clients vom selben öffentlichen Server zu bedienen, starten Sie mit MCP_TRANSPORT=both, um sowohl /mcp als auch /sse unter derselben OAuth-Konfiguration bereitzustellen. Für einen einzelnen Client funktioniert auch MCP_TRANSPORT=sse (Standard) oder MCP_TRANSPORT=streamable-http.
iPhone Claude / claude.ai (öffentlich, OAuth 2.1)
Für die öffentliche Bereitstellung ist die empfohlene Einrichtung Cloudflare Tunnel + Caddy (CF Origin Cert) — cloudflared wählt von Ihrem Heimnetzwerk aus zum CF-Edge, sodass kein Router-Port-Forwarding erforderlich ist und Hairpin-NAT kein Problem darstellt. Ein traditioneller Reverse-Proxy mit Let's Encrypt + direktem 443 funktioniert ebenfalls. Setzen Sie in jedem Fall MCP_OAUTH_MASTER_PASSWORD + MCP_OAUTH_ISSUER_URL, um OAuth 2.1 (DCR + PKCE + Master-Passwort-Zustimmung) zu aktivieren. Ausgestellte Client-Tokens werden in SQLite gespeichert und überleben Container-Neustarts.
MCP_OAUTH_MASTER_PASSWORD=<24+ chars random>
MCP_OAUTH_ISSUER_URL=https://your-host.example.com
# optional: MCP_OAUTH_DB_PATH=/app/data/oauth.dbSiehe PLAN.md §9-§10 und OPERATIONS.md für vollständige Bereitstellungs- und Betriebsdetails (derzeit auf Japanisch).
Tool-Liste
Name | Zweck |
| Zwischen Anmelde-/Veröffentlichungs-/Registrierungsnummern umwandeln |
| Prüfungsfortschritt (voll / einfach umschaltbar) |
| Registrierungsinformationen & Rechtsstatus |
| Zitierte Dokumente zum Stand der Technik |
| Teilanmeldungen |
| Prioritätsbasierte Anmeldungen |
| Anmeldercode ⇄ Name (nur exakte Übereinstimmung) |
| Amtshandlungen / Zurückweisungsgründe / Änderungen (verarbeitet Inline-ZIP + signierte URLs) |
| Kanonische J-PlatPat-URL |
| Fünf-Ämter-Patentfamilie (JPO / USPTO / EPO / CNIPA / KIPO) |
| OPD-Dokumentliste |
| Hochrangiger zusammengesetzter Aufruf, der auf mehrere offizielle Endpunkte verteilt (bleibt vollständig innerhalb der offiziellen API) |
Antwort: {"ok": true, "source": "jpo_official", "data": {…}, "remaining_today": "…"}
Name | Zweck |
| Freitext-/Anmelder-/IPC-/Datumsbereichssuche japanischer Patente (Google Patents XHR, Referenznutzung) |
Antwort: {"ok": true, "source": "google_patents_unofficial", "data": {…}}
Isoliert, weil die offizielle API keine Stichwortsuche bietet (nur Nummern-Lookup). Bei Fehlern gibt sie {"ok": false, "kind": "search_unavailable"} zurück und fällt niemals auf ein offizielles Tool zurück.
Ratenbegrenzungen (Betrieb)
Die offizielle JPO-API überträgt die Verantwortung für die Selbstbegrenzung dem Betreiber:
Pro-Minuten-Rate:
/api/patent/*ist 10 Anfragen/min,/opdapi/*ist 5 Anfragen/min (OPD wird separat in einem eigenen Bucket gezählt).Tageskontingent: 30–800/Tag pro Endpunkt (nationale API-Kontingente wurden im März 2026 verdoppelt). Der maßgebliche Live-Zähler ist
result.remainAccessCount, der in jeder Antwort zurückgegeben wird.jpo_fetch_full_recordverteilt auf 4 offizielle Endpunkte parallel, sodass ein Aufruf 1 Einheit von jedem von 4 separaten Tageskontingenten verbraucht (nicht 4 vom selben Kontingent). Der Engpass ist das jeweils niedrigste Kontingent.
Für die Tool-zu-Endpunkt-Zuordnung und betriebliche Schwellenwerte siehe OPERATIONS.md §JPO API レート制約とクォータ (Japanisch).
Dokumentation
📐 PLAN.md — Designplan (Architektur, vollständige Tool-Liste, Phasenplan) [JP]
🤖 CLAUDE.md — Claude Code-Anleitung (unverhandelbare Designregeln, JPO-API-Stolperfallen) [JP]
🔧 OPERATIONS.md — Betriebsrunbook (Zugriffsprotokoll-Zusammenfassung, Master-Passwort-Rotation, Fehlerbehebung) [JP]
Platzhalter | Beispiel | So einstellen |
|
| LAN-IP Ihres Bereitstellungshosts |
|
| SSH-Benutzername auf dem Host |
| Ihre eigene Domain | Öffentlicher Hostname hinter Cloudflare / Ihrem Reverse-Proxy |
Die Portbindung in docker-compose.yml ist standardmäßig 127.0.0.1:8765 (nur gleiche Maschine). Um sie im LAN verfügbar zu machen, erstellen Sie eine separate docker-compose.override.yml (bereits gitignored), um sie zu überschreiben.
Lizenz
MIT — siehe 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