mcpField
E
European IP Data & Analytics — IPRATE

European IP Data & Analytics — IPRATE

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

European IP Data & Analytics — IPRATE について

IPRATE Free Public MCPは、公開済みの欧州知的財産データを範囲限定で照会する読み取り専用サービスです。データベースや稼働中のアプリケーション API ではなく、静的リリースを参照します。

主な機能

  1. 01知財代理人の検索
  2. 02代理人プロフィールの取得
  3. 03市場スナップショットの表示
  4. 04データ対象範囲の確認
  5. 05文書の検索と取得

活用シーン

  1. 01欧州の知財代理人を探す
  2. 02代理人や市場データを確認する
  3. 03調査用に公開資料を取得する

MCP 対応

MCP 経由で、公開データを匿名で照会する6つのツールを提供します。別途、有料の Data API MCP エンドポイントがあり、API キーが必要です。

設定

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

エンドポイントhttps://mcp.iprate.eu/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

6
パラメーター型必須説明
namestringいいえ代表者名の一部。公開済みプロフィールの本人情報と照合します。
tierenumいいえ任意の公開済み国内ルートまたは欧州ルート。national | euro
limitintegerいいえ結果の最大数。上限は 5 件です。
windowenumいいえ任意の公開済み長期または直近の分析期間。long | recent
right_typeenumいいえ知的財産権の種類。trademark | design | patent
client_namestringいいえ照合する指定クライアント。プロフィールで既に公開されている主要クライアント情報とのみ照合します。
jurisdictionstringいいえISO 3166-1 alpha-2 の管轄区域コード。欧州ルートには EU を指定します。
nice_classesarrayいいえNice 分類番号を 1~5 個指定します。商標のみが対象です。
representative_typeenumいいえ法律事務所、弁護士、またはその両方を返します。firm | attorney | both

詳細

IPRATE Free Public MCP

IPRATE の匿名・読み取り専用 MCP エンドポイント向けオープンソースアダプターです。

https://mcp.iprate.eu/mcp

本番エンドポイントは worker/ 内の Cloudflare Worker です。完了済みの IPRATE 静的リリース 1 件から、範囲を限定したデータを次の 6 つのツールで公開します。

  • find_ip_representatives
  • get_ip_representative_profile
  • get_ip_market_snapshot
  • get_iprate_coverage
  • search と fetch。ChatGPT のディープリサーチと社内ナレッジ向けの検索に使われる取得ペアです(検索 1 回につきドキュメント参照は最大 10 件、fetch 1 回につきドキュメントは 1 件)

すべてのツールで出力スキーマが宣言されています。src/ 内の Python パッケージは、最初の 4 つのツールのセルフホスト用リファレンス実装です。

アシスタントから接続する

無料で利用でき、アカウントもキーも不要です。

Claude Code:

claude mcp add --transport http iprate https://mcp.iprate.eu/mcp

Claude Desktop と claude.ai:Settings から Connectors を開き、URL https://mcp.iprate.eu/mcp を指定してカスタムコネクターを追加します。

Cursor(~/.cursor/mcp.json):

{ "mcpServers": { "iprate": { "url": "https://mcp.iprate.eu/mcp" } } }

ChatGPT:1 ユーザー用の開発者モードのカスタムコネクター、または Business か Enterprise の管理者が追加するワークスペースコネクターを使用します。ディープリサーチでは search と fetch ツールを使用します。

OpenAI Responses API:

{ "type": "mcp", "server_label": "iprate", "server_url": "https://mcp.iprate.eu/mcp", "require_approval": "never" }

有料 Data API の利用方法(キーは IPRATE アカウントで発行):

claude mcp add --transport http iprate-data https://mcp.iprate.eu/data-api/mcp --header "X-IPRATE-API-Key: YOUR_KEY"

価格と注文手順は https://iprate.eu/developers/data-api/ にあります。同じ手順を記載したセットアップページは https://iprate.eu/developers/mcp/ です。

同じ Worker には、次の場所に別個の有料 Data API アダプターも含まれています。

https://mcp.iprate.eu/data-api/mcp

Data API v1 の 8 つのツール(get_coverage、resolve_entity、get_portfolio、get_trademark、search_trademarks、find_representative、get_firm_profile、create_watch)を公開します。カスタム MCP クライアントは、発行された API 認証情報を X-IPRATE-API-Key として送信します。これは明示的な API キーアダプターの契約であり、OAuth ベアラートークンは受け付けず、転送もしません。バックエンドは、ツール呼び出しのたびにスコープ、管轄庁とフィールドの利用権限、クォータ、冪等性、課金を再確認します。create_watch は、クライアントの確認が必要な永続的な書き込みとしてマークされています。返される登録簿のテキストは、信頼できないデータとして引用されます。

DATA_API_WORKER_SECRET シークレットバインディングが設定されている場合(wrangler secret put DATA_API_WORKER_SECRET を実行し、API の DATA_API_WORKER_SECRET と同じ値を設定)、中継されるすべてのリクエストには、エンドクライアントのアドレスが X-IPRATE-Client-IP として含まれ、X-IPRATE-Worker-Timestamp と、<timestamp>.<address> に対する HMAC-SHA256 の X-IPRATE-Worker-Signature も付与されます。これにより API の認証前レートリミッターは、Worker の送信元アドレスではなくエンドクライアントごとにバケットを分けます。シークレットがない場合はこれらのヘッダーが省略され、API は共有の中継用バケットを適用します。

データベース、ORM、SQL、データベース認証情報、アプリケーション API へのフォールバック、非公開の IPRATE パッケージへの依存はありません。レーティングと統計はリリース済みの JSON アセットからコピーされ、MCP サービス側で再計算されることはありません。匿名での呼び出しはメモリ内でレート制限されます(HTTP 429 と Retry-After を返し、結果を黙って切り詰めることはありません)。また、GET /healthz では、内部整合性の取れたリリースが 1 件提供可能かどうかを確認できます。

静的入力

IPRATE_MCP_ASSET_ROOT に、manifest.json、リリース済みのコホートおよびグローバルアセット、mcp/v0.1/catalog.json を含む、完成済みの /data/v1 形式のリリースディレクトリを設定します。IPRATE_MCP_ASSET_BASE_URL には、出典の引用で使う公開 URL を設定します。

カタログは静的なプロファイルアセットのみから作成されます。

iprate-free-mcp-build-catalog /path/to/data/v1

必須インデックスがない場合、チェックサムが一致しない場合、プロファイル数がリリースマニフェストと一致しない場合、またはプロファイルアセットを読み取れない場合、ビルダーはエラーで終了します。IPRATE のデータベース、API、モデル、パイプラインをインポートしたり、それらに接続したりすることはありません。

リリーススナップショット

本番環境では、アダプターが変更され続けるライブのエクスポートツリーを読み取ることはありません。リフレッシャー (iprate-free-mcp-refresh-release)はライブの manifest.json を監視し、新しい release_id が現れると、マニフェストで宣言されたすべてのアセットをリリースごとの不変な スナップショットにコピーし(マニフェストとのチェックサム照合を実施)、その スナップショット内にカタログを構築してから、current シンボリックリンクをアトミックに付け替えます。サーバーは 次のリリースが有効化されるまで、以前の完全なリリースを引き続き提供します。スナップショットの作成中に リリースが変更された場合、そのリリースは破棄され、次回の処理で再試行されます。スナップショットにエンティティの プロフィールファイルは含まれません。プロフィールデータは派生カタログを通じてのみ取り込まれ、 カタログが公開提供されるツリーに書き込まれることはありません。

開発

python -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/pytest
.venv/bin/ruff check .

互換性のある静的リリースに対してアダプターを実行します。

export IPRATE_MCP_ASSET_ROOT=/path/to/data/v1
export IPRATE_MCP_ASSET_BASE_URL=https://iprate.eu/data/v1
iprate-free-mcp

ローカルエンドポイントは http://127.0.0.1:8000/mcp です。稼働確認には GET /healthz を使用します。

本番コンテナ

compose.yaml は、同じイメージからビルドされる、セキュリティ強化済みの2つのサービスを実行します。

  • mcp — サーバーです。非特権ユーザーで読み取り専用として動作し、スナップショットディレクトリのみを (読み取り専用で)マウントして、IPRATE_MCP_ASSET_ROOT=/data/current から提供します。Cloudflare Tunnel のルーティング用に既存の runtime_default ネットワークに接続し、ホストポートは公開しません。
  • refresher — スナップショットビルダーです。network_mode: none を設定し、ライブの エクスポートツリーを読み取り専用で、スナップショットディレクトリを読み書き可能としてマウントします。
docker compose up -d --build

環境変数による上書き:IPRATE_STATIC_ROOT(ライブのエクスポートツリー)、 IPRATE_MCP_RELEASES_ROOT(スナップショットディレクトリ)、IPRATE_MCP_REFRESH_UID/GID (スナップショットディレクトリの所有者)、IPRATE_MCP_RATE_LIMIT_PER_MINUTE(デフォルトは120)。 どちらのサービスにも、データベースやアプリケーションシークレットは渡されません。

ドキュメント:https://iprate.eu/developers/mcp/

Cloudflare Worker(本番環境)

Worker は POST /mcp、GET /healthz、および OpenAI のドメイン検証トークンを GET /.well-known/openai-apps-challenge で提供します。リリースビルダー (iprate-free-mcp-build-worker-release)が格納するプライベートな R2 バケットから、不変のリリースを1つ読み取ります。

cd worker
npm ci
npx tsc --noEmit
npx vitest run

0.4.0以降のレスポンス仕様:レスポンスでは release_id と as_of によってリリースを示します。リリースインシデントの記録、リリースのステータスを表す語、 リリース経過時間の通知は含まれなくなりました。hold_state は引き続き held または partial を報告します。

ドメイン検証トークンは Worker の変数です。OpenAI プラグインポータルから発行されたら、デプロイ前に worker/wrangler.toml の [vars] に OPENAI_APPS_CHALLENGE = "<token>" を追加してください。 wrangler deploy はダッシュボードでのみ設定された変数を置き換えます。変数が設定されていない場合、このパスは404を返します。

ChatGPT プラグインパッケージ

plugin/ は OpenAI プラグインポータルにアップロードするパッケージ(Agent Plugins 形式)です。 リスティング、レビューケース、リリースノートを extensions.com.openai の下に含む plugin.json、本番エンドポイントを指す mcp.json、 select-european-ip-counsel スキル、およびロゴで構成されます。tests/test_plugin_package.py は ポータルのフィールド制限と、レビューケースに Worker の実際のツール名が記載されていることを確認します。

アップロードするアーカイブは、フォルダー自体ではなく、その中身から作成してください。

python -c "import pathlib, zipfile; root = pathlib.Path('plugin'); z = zipfile.ZipFile('dist/iprate-plugin.zip', 'w', zipfile.ZIP_DEFLATED); [z.write(p, p.relative_to(root).as_posix()) for p in sorted(root.rglob('*')) if p.is_file()]; z.close()"

動画ウォークスルーの URL(review.demo_recording_url)と、各国の許可リスト (publication.countries)がある場合は、提出前に追加します。サーバーは匿名で利用できるため、レビュー担当者の認証情報は不要です。

ライセンス

アダプターコードは Apache-2.0 です。IPRATE のデータとウェブサイトのコンテンツには、それぞれ別の利用条件と ライセンスが適用されます。このコードのライセンスは、それらの利用権や IPRATE の商標権を付与するものではありません。

コメント

MCP は初めてですか?

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

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