IP Geolocation MCP Server について
IP Geolocation MCP サーバーは、ipinfo.io API を AI エージェントに公開する MCP サーバーです。IP アドレスの位置特定や、ISP、ASN、ネットワークリスクのフラグを確認したい利用者に向いています。
主な機能
- 01IPv4 と IPv6 アドレスの位置特定
- 02ISP と ASN の詳細検索
- 03VPN、プロキシ、Tor 出口ノードの検出
- 04国や ASN によるバッチ集計
- 05IP 集合のインタラクティブマップ URL 生成
活用シーン
- 01大量のログに含まれる IP を国や ASN ごとに集計
- 02アクセス元が VPN や Tor ノードかどうかの確認
- 03IP アドレス群の地図表示の作成
MCP 対応
本プロジェクトは MCP サーバーであり、IP 検索、バッチ集計、プロキシ確認、マップ生成などのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
IP Geolocation MCP Server
Model Context Protocol サーバーです。ipinfo.io API を AI エージェントに公開します。IPv4 および IPv6 アドレスの位置情報を取得し、ISP と ASN を特定し、VPN/プロキシ/Tor の出口ノードを検出し、複数の IP を対象としたインタラクティブマップを生成します。
インストール
IPInfo API トークンをお持ちでない場合は、https://ipinfo.io/signup で無料のトークンを登録してください。トークンなしでもサーバーを実行できます(無料の Lite ティアでは国と ASN の基本情報を取得できます)が、ほとんどのフィールドにはトークンが必要です。
Claude Desktop(一括インストール用バンドル)
最新リリースから .mcpb バンドルをダウンロードして開くと、Claude Desktop にインストールできます。インストールダイアログで IPINFO_API_TOKEN(および任意のキャッシュ設定)を設定できます。トークン欄を空白のままにすると、無料の Lite ティアで実行されます。このバンドルは uv でサーバーを起動するため、uv をインストールし、システムの PATH に追加しておく必要があります(GUI アプリはシェルの PATH を継承しません)。
その他の MCP クライアント
ほとんどの MCP クライアントでは、次の値を使用できます。
| フィールド | 値 |
|---|---|
| コマンド | uvx |
| 引数 | mcp-server-ipinfo |
| 環境変数 | IPINFO_API_TOKEN = <YOUR TOKEN> |
開発版
main の最新バージョンを実行するには、次のようにします。
| フィールド | 値 |
|---|---|
| コマンド | uvx |
| 引数 | --from, git+https://github.com/briandconnelly/mcp-server-ipinfo, mcp-server-ipinfo |
| 環境変数 | IPINFO_API_TOKEN = <YOUR TOKEN> |
ツール
ipinfo_lookup_my_ip()— 呼び出し元クライアント自身の IP の位置情報を取得します。引数は不要です。stdio トランスポートでは、結果はエンドユーザーではなく、このサーバーの外向き IP を反映します。ipinfo_lookup_ips(ips, detail="summary")— 指定した 1 つ以上の IP の位置情報を取得します。デフォルトはdetail="summary"です。バッチ処理でのトークン消費を抑えるため、重いネストされたブロック(大陸、フラグ、通貨、不正利用、ドメイン)は省略されます。すべてのフィールドを取得するにはdetail="full"を指定してください。1 回の呼び出しで最大 500,000 件の IP を処理できます。無効なアドレスや特別用途のアドレス(プライベート、ループバックなど)はctx.warning()で警告され、結果リストから除外されます。上流での処理に失敗した IP も同様に除外されます。除外された IP を特定するには、返されたIPDetails.ipの値を入力と照合してください。すべての検索に失敗した場合は、一時的なapi_errorが発生します。ipinfo_summarize_ips(ips, group_by=("country", "asn"), top_n=50)— 複数の IP の位置情報を取得し、国、大陸、ASN、プライバシーフラグごとの件数と割合を固定サイズに集計します。IP ごとのレコードがコンテキストを無駄に消費するような、大規模なログ分析タスクに使用してください。マッピング済み、スキップ済み、失敗した件数と、上位 N グループ(上限あり)を返します。ipinfo_check_residential_proxy(ip)— その IP が既知のレジデンシャルプロキシ出口ノードかどうかを確認します。enterpriseのタグが付いており、IPInfo のレジデンシャルプロキシアドオンが必要です。ipinfo_generate_map_url(ips)— 複数の IP を対象としたインタラクティブな ipinfo.io マップを作成します。URL、マップに含まれた IP の数、除外された IP(理由付き、最大 100 件)、およびtruncatedフラグを含むMapResultを返します。
プランのティア
| ティア | 利用可能なフィールド |
|---|---|
| Free Lite(トークンなし) | 国、country_code、大陸、ASN の基本情報 |
| Core | 完全な位置情報、ASN の詳細、プライバシー/VPN/プロキシ/Tor/ホスティングのフラグ |
| Plus | 通信事業者と企業のデータを追加 |
| Enterprise | ドメインと不正利用の連絡先を追加 |
| レジデンシャルプロキシアドオン | ipinfo_check_residential_proxy を利用可能にします。Enterprise に追加して別途購入する必要があり、デフォルトでは含まれません。 |
エラー
すべてのツールは、安定したcode(invalid_ip_address、special_ip_unsupported、no_valid_ips、too_many_ips、auth_invalid、auth_insufficient_scope、quota_exceeded、timeout、api_error、unknown_error)、temporaryフラグ、任意のretry_after_ms、修正のヒントであるrepair、および相関 ID のrequest_idを含む JSON エンコードされたエンベロープをメッセージに持つToolErrorを発生させます。エージェントはメッセージを JSON として解析し、codeに応じて処理を分岐してください。各ツールは、発生しうるコードのサブセットもmeta.error_codesで通知するため、ツールのイントロスペクションで分岐対象を確認できます。
設定
環境変数
| 変数 | 説明 | デフォルト |
|---|---|---|
IPINFO_API_TOKEN | IPInfo API トークンです。設定されていない場合、サーバーは無料の Lite モードで動作します。 | 未設定(Lite) |
IPINFO_CACHE_TTL | IP ごとのキャッシュの有効期間(秒)です。キャッシュされた結果には、元のts_retrievedタイムスタンプが保持されます。 | 3600 |
IPINFO_CACHE_SIZE | 古いエントリから削除されるまでのキャッシュの最大件数です。 | 4096 |
ライセンス
MIT License — LICENSEを参照してください。リリース履歴はCHANGELOG.mdをご覧ください。
免責事項
このプロジェクトはIPInfoとは提携していません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。