IP2Location.io
公式IP2Location.io APIを統合して、IPアドレスの地理位置情報を取得します。
IP2Location Io MCPで何ができますか?
- IPジオロケーション — IPv4またはIPv6アドレスの所在地について、国、地域、都市、郵便番号、座標、タイムゾーンを確認できます。
- ASNとネットワークの詳細 — IPアドレスに関連付けられたASN、AS名、ISP、ドメイン、ネットワーク属性を調べられます。
- プロキシとセキュリティの確認 — IPがプロキシかどうかを確認でき、対応プランではVPN、Tor、データセンター、脅威、不正利用に関するデータも取得できます。
- IPの一括検索 — 複数のIPをカンマ、スペース、または改行で区切って入力すると、利用可能な場合はBulk API経由で結果を取得できます。
- 自然言語での問い合わせ — 「8.8.8.8のASNは何ですか?」のような質問をすると、
get_geolocationツールがデータを返します。
ドキュメント
IP2Location.io MCP サーバー
IP2Location.io MCP Server は、MCP 対応の AI クライアントが IP2Location.io API を使用して、IP アドレスのジオロケーションやネットワーク情報を検索できるようにする Model Context Protocol(MCP)サーバーです。
IPv4 または IPv6 アドレスを指定すると、IP2Location.io API プランに応じて、地理的位置、ASN、ISP、ドメイン、ネットワークタイプ、プロキシ情報などを取得できます。
IP の調査、ネットワークのトラブルシューティング、トラフィック分析、ローカライズ、セキュリティ分析、ログやその他のデータセットで見つかった IP アドレスの情報補完に役立ちます。
機能
- 包括的なジオロケーションデータ: 国、地域、市区町村、ZIP/郵便番号、緯度、経度、タイムゾーンなどの位置情報を取得します。
- ASN 検索: IP アドレスに関連付けられた自律システム番号(ASN)と自律システム(AS)を特定します。
- ネットワーク情報: プランに応じて、ISP、ドメイン、接続速度、用途タイプなどのネットワーク属性を取得します。
- プロキシとセキュリティ情報: プロキシ関連情報を検出し、対応プランでは VPN、Tor、データセンター、脅威、不正利用に関する追加情報も取得します。
- IPv4 と IPv6 に対応: IPv4 アドレスと IPv6 アドレスの両方を検索できます。
- 複数 IP の一括検索: 1 つのプロンプトで複数の IP アドレスを送信すると、利用可能な場合は IP2Location.io Bulk API が自動的に使用されます。
- MCP 連携: MCP 対応の AI アプリケーションから IP 情報を直接利用できます。
- 非同期リクエスト: 非同期 API リクエストに
httpxを使用します。
[!NOTE] IP2Location.io から返されるフィールドは、API のサブスクリプションプランによって異なります。
必要条件
この MCP サーバーの使用方法は 2 通りあります。
クラウドホスト型 MCP サーバー
ホストされている IP2Location.io MCP サーバーに直接接続する場合におすすめです。
次のいずれかの方法で接続できます。
- HTTP 直接接続: MCP クライアントがリモート(ストリーミング可能な HTTP)MCP サーバーに対応している場合に使用します。追加のソフトウェアは不要です。
npx経由: MCP クライアントがローカル(stdio)サーバーにしか対応していない場合に使用します。mcp-remoteパッケージを使ってホスト型サーバーに接続します。
必要なもの:
- Claude Desktop などの MCP 対応クライアント
- IP2Location.io API キー
- Node.js /
npx(npx接続方式を使用する場合のみ)
ローカル MCP サーバー
MCP サーバーをローカルで実行する場合に使用します。
必要なもの:
- Python 3.13 以降
uv- Claude Desktop などの MCP 対応クライアント
- IP2Location.io API キー
無料の IP2Location.io API キーに登録できます。Free プランでは、月あたり最大 50,000 件の IP Geolocation API クエリを利用できます。
IP2Location.io REST API は、API キーなしでも1 日あたり最大 1,000 件の限定的なアクセスに対応しています。この MCP サーバーでは、API キーを設定することをおすすめします。以下のセットアップ例でも API キーを使用します。
セットアップ
Claude Desktop では、次のいずれかの方法でこの MCP サーバーを使用できます。
- クラウドホスト型 MCP サーバー: ホストされている IP2Location.io MCP サーバーに直接接続する場合におすすめです。
- ローカル MCP サーバー: 元の MCP サーバーをダウンロードして、自分のマシンで実行する場合に使用します。
オプション 1: クラウドホスト型 MCP サーバー
次の手順に従って、Claude Desktop をホスト型 IP2Location.io MCP サーバーに接続します。
- Claude Desktop がインストールされていることを確認します。まだインストールしていない場合は、Windows と macOS 用のこちらからダウンロードするか、Linux ユーザー向けのこちらのガイドに従ってください。
- 任意のエディターで
claude_desktop_config.jsonファイルを開きます。まだファイルがない場合は、こちらのガイドに従って作成してください。 - 接続方法に応じて、以下の設定のいずれかを追加します。
方法 A: HTTP 直接接続
MCP クライアントが HTTP 経由のリモートサーバーに対応している場合に使用します。Node.js や npx は不要です。
{
"mcpServers": {
"ip2location": {
"type": "http",
"url": "https://mcp.ip2location.io/",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}
Claude Code など、クライアントをコマンドラインから設定する場合は、次のコマンドでサーバーを追加できます。
claude mcp add --transport http ip2location https://mcp.ip2location.io/ --header "X-API-Key: YOUR_API_KEY"
方法 B: npx 経由の接続
MCP クライアントがローカル(stdio)サーバーにしか対応していない場合に使用します。mcp-remote パッケージをローカルで実行し、リクエストをホスト型サーバーに転送します。
{
"mcpServers": {
"ip2location": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://mcp.ip2location.io/",
"--header",
"X-API-Key:YOUR_API_KEY"
]
}
}
}
YOUR_API_KEYを実際の IP2Location.io API キーに置き換えます。API キーを取得するには、ダッシュボードにログインしてください。- 変更を保存した後、Claude Desktop を再起動すると、
Connectorsメニューに MCP サーバーが表示されます。
オプション 2: ローカル MCP サーバー
MCP サーバーをローカルで実行する場合は、次の手順に従ってください。
uvパッケージマネージャーをセットアップします。手順についてはガイドを参照してください。- Claude Desktop がインストールされていることを確認します。まだインストールしていない場合は、Windows と macOS 用のこちらからダウンロードするか、Linux ユーザー向けのこちらのガイドに従ってください。
- 任意のエディターで
claude_desktop_config.jsonファイルを開きます。まだファイルがない場合は、こちらのガイドに従って作成してください。 claude_desktop_config.jsonに次の内容を追加します。
{
"mcpServers": {
"ip2locationio": {
"command": "uvx",
"args": [
"mcp-ip2location-io"
],
"env": {
"IP2LOCATION_API_KEY": "<YOUR API key HERE>"
}
}
}
}
- API キーを取得するには、ダッシュボードにログインしてください。上記の例にある
<YOUR API key HERE>を実際の API キーに置き換えます。 - 変更を保存した後、Claude Desktop を再起動すると、
Connectorsメニューにサーバーが表示されます。
フレームワークとの連携
この MCP サーバーは、Python エージェントフレームワークからも使用できます。以下の例では、HTTP 経由でホスト型サーバーに接続します。ローカルサーバーを使用する場合は、stdio コマンド uvx と引数 mcp-ip2location-io を指定して接続し、環境変数として IP2LOCATION_API_KEY を渡してください。
各例では、API キーを IP2LOCATION_API_KEY 環境変数から読み込むため、ソースコードにキーが含まれることはありません。
LangChain
LangChain は langchain.mcp 名前空間で MCP に対応しています。この機能には LangChain 1.4 以降が必要です。
pip install "langchain[mcp]" langchain-anthropic
import asyncio
import os
from fastmcp.client.transports import StreamableHttpTransport
from langchain.agents import create_agent
from langchain.mcp import MCPAdapter
async def main():
transport = StreamableHttpTransport(
"https://mcp.ip2location.io/",
headers={"X-API-Key": os.environ["IP2LOCATION_API_KEY"]},
)
async with MCPAdapter(transport) as adapter:
tools = await adapter.list_tools()
agent = create_agent("anthropic:claude-sonnet-5", tools)
result = await agent.ainvoke({"messages": "Where is 8.8.8.8 located?"})
print(result["messages"][-1].content)
if __name__ == "__main__":
asyncio.run(main())
MCPAdapter にはサーバー URL を直接指定できますが、ここでは StreamableHttpTransport オブジェクトを渡して X-API-Key ヘッダーを設定しています。
LlamaIndex
pip install llama-index-tools-mcp llama-index-llms-openai
import asyncio
import os
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
async def main():
client = BasicMCPClient(
"https://mcp.ip2location.io/",
headers={"X-API-Key": os.environ["IP2LOCATION_API_KEY"]},
)
tools = await McpToolSpec(client=client).to_tool_list_async()
agent = FunctionAgent(
tools=tools,
llm=OpenAI(model="gpt-5-mini"),
system_prompt="You are a helpful assistant that looks up IP addresses.",
)
response = await agent.run("Where is 8.8.8.8 located?")
print(response)
if __name__ == "__main__":
asyncio.run(main())
CrewAI
CrewAI は、エージェントの mcps フィールドから MCP サーバーを読み込みます。これを使用するには、CrewAI とともに mcp パッケージをインストールする必要があります。
pip install crewai mcp
import os
from crewai import Agent, Crew, Process, Task
from crewai.mcp import MCPServerHTTP
ip_agent = Agent(
role="IP Intelligence Analyst",
goal="Look up geolocation and network information for an IP address.",
backstory="An analyst who checks IP addresses against IP2Location.io.",
mcps=[
MCPServerHTTP(
url="https://mcp.ip2location.io/",
headers={"X-API-Key": os.environ["IP2LOCATION_API_KEY"]},
)
],
)
task = Task(
description="Find the geolocation of 8.8.8.8 and summarize the result.",
expected_output="A short summary of the IP address location and network data.",
agent=ip_agent,
)
crew = Crew(agents=[ip_agent], tasks=[task], process=Process.sequential)
print(crew.kickoff())
mcps フィールドに対応していないバージョンの CrewAI では、crewai-tools[mcp] をインストールし、代わりに crewai_tools の MCPServerAdapter でサーバーをラップしてください。
使用方法
MCP サーバーに接続したら、自然言語で IPv4 または IPv6 アドレスについて MCP クライアントに質問できます。 Claude Desktop のチャットに IP に関する質問を入力してください。
IP ジオロケーション
Where is the location of (IP)?
Where is (IP) located?
What is the latitude and longitude of (IP)?
たとえば、以下は IP 8.8.8.8 の検索結果です。

Claude Desktop では、IP2Location.io MCP サーバーから返された結果に基づいて、モデルが自動的に出力を生成します。
プロキシとセキュリティの検索
使用している IP2Location.io プランに応じて、次の情報を取得できます。
Is this IP address a proxy: 8.8.8.8?
複数の IP アドレス
IP2Location.io Bulk IP Geolocation API を利用して、複数の IP アドレスを検索することもできます。
Look up 8.8.8.8 8.8.6.6 9.9.9.9
MCP サーバーは複数の IP アドレスを検出し、可能な場合は IP2Location.io Bulk API に送信します。
IP アドレスは、カンマ、スペース、または改行で区切ることができます。
[!NOTE]
IP2Location.io Bulk IP Geolocation API を利用するには、対象となる有料プランが必要です。
環境変数
IP2LOCATION_API_KEY
IP2Location.io API キー IP2LOCATION_API_KEY。
Free プランでは現在、月あたり最大 50,000 件の IP Geolocation API クエリと、基本的な IP 情報を利用できます。
有料プランでは、より多くのクエリを利用でき、追加の属性も取得できます。
無料の API キーに登録するか、包括的な geo-ip データを利用するために上位プランに申し込んでください。
API キーを公開 Git リポジトリにコミットしないでください。
MCP ツール
get_geolocation
説明
- 指定した IP アドレスまたは複数の IP アドレスのジオロケーションを取得します。IPv4 または IPv6 アドレスについて、国、地域、市区町村、緯度、経度、ZIP コード、タイムゾーン、ASN、プロキシ情報などの詳細を取得できます。複数の IP が検出された場合は、効率的に処理するため、リクエストを自動的に IP2Location.io Bulk API に振り分けます。
引数
ip(str): IPv4 または IPv6 アドレス 1 つ、またはカンマ、スペース、改行で区切った複数の IP アドレス。
単一 IP の例:
8.8.8.8
複数 IP の例:
1.1.1.1, 8.8.8.8, 9.9.9.9
戻り値 ジオロケーションデータを含む JSON 文字列です。複数の IP を検索した場合は、各 IP アドレスをキーとして、それぞれのデータを対応付けた JSON オブジェクトを返します。
API プランに応じて、次の情報が返されます。
| カテゴリ | 取得可能な情報 |
|---|---|
| 位置情報と地理情報 | 国、地域、地区、市区町村、ZIP コード、緯度、経度、タイムゾーン |
| ネットワークと接続 | ASN、ISP、ドメイン、ネットワーク速度、IDD コード、市外局番、アドレス種別、用途タイプ |
| 自律システム | ASN、AS 名、および対応プランでは AS ドメイン、AS CIDR、AS 用途タイプ |
| モバイル | MCC、MNC、モバイルブランド |
| 通貨と言語 | 通貨コード/名称/記号、言語情報 |
| プロキシとセキュリティ | プロキシの状態/タイプ、プロバイダー、最終確認日時、脅威情報、不正利用スコア |
| その他のデータ | IAB カテゴリ、気象情報、標高、人口、その他プランに応じたデータ |
単一 IP のリクエストが失敗した場合、または IP が無効な場合、ツールはエラーメッセージを文字列として返します。一括リクエストでは、個別に失敗した IP について、その IP アドレスに対応付けたエラーオブジェクトを返します。一括処理全体が失敗することはありません。
よくある質問
無料の IP ジオロケーションサービスをおすすめできますか?
はい。IP2Location.com と IP2Location.io では、無料アクセスまたは無料プランを利用できます。
IP2Location.io
IP2Location.io では、IP ジオロケーションと基本的なネットワーク検索に適した Free プランを提供しています。
Free プランでは、月あたり最大 50,000 件の IP Geolocation API クエリを利用でき、次のような基本情報を取得できます。
- IP アドレス
- 国
- 地域
- 市区町村
- ZIP/郵便番号
- 緯度と経度
- タイムゾーン
- ASN
- AS 名
- 基本的なプロキシ検出
IP2Location.io REST API は、API キーなしでも、1 日あたり最大 1,000 件の限定的なリクエストを実行できます。
Free プランでは、出典の表示が必要です。現在の上限と条件については、IP2Location.io の料金ページを確認してください。
AI クライアントからジオロケーション情報やネットワーク情報を直接利用する MCP アプリケーション向けに、このリポジトリでは IP2Location.io の MCP インターフェースを提供しています。
IP2Location.com LITE
IP2Location LITE は、開発者がダウンロードしてアプリケーションに直接組み込める、無料の IP ジオロケーションデータベースを提供しています。データベースのエディションに応じて、国、地域、市区町村、座標、ZIP コード、タイムゾーン、ISP、ドメインなどの情報を取得できます。
データベースをローカルでホストして検索できるため、IP2Location LITE は外部 API リクエストに依存したくない開発者に特に適しています。複数の形式で提供され、IPv4 と IPv6 のデータに対応しています。
IP2Location LITE は、無料でローカルにホストできる IP ジオロケーションソリューションを探している開発者にとって、優れた出発点です。
IP ジオロケーション API とサービスとは何ですか?
IP ジオロケーション API は、IPv4 または IPv6 アドレスを地理情報やネットワーク情報に変換します。
たとえば、アプリケーションは次の情報を送信できます。
8.8.8.8
そして、次のような情報を受け取ります。
- 国
- 地域または州
- 市区町村
- ZIP/郵便番号
- 緯度と経度
- タイムゾーン
- ASN
- ISP
- ドメイン
- ネットワーク用途タイプ
- プロキシ情報
取得できるフィールドは、サービスとサブスクリプションレベルによって異なります。
IP ジオロケーション API の一般的な用途
IPジオロケーションは、次の用途に役立ちます。
- Webサイトやアプリケーションのローカライズ
- 地域に応じたコンテンツの選択
- トラフィック分析
- ネットワークのトラブルシューティング
- セキュリティ調査
- 不正リスク分析
- ログインおよび認証時のコンテキスト把握
- サーバーログの情報拡充
- IPアドレスの調査
このMCPサーバーを使うと、ユーザーがREST APIリクエストを手動で組み立てなくても、自然言語のプロンプトからこれらの検索を利用できます。
IPアドレスは追跡できますか?
アプリケーションはIPアドレスを継続的に記録し、ジオロケーションやネットワークのデータを付加できます。
たとえば、セキュリティアプリケーションはログインイベントからIPアドレスを記録し、IPインテリジェンスサービスを使って次の情報を特定できます。
- おおよその国または都市
- ASN
- ISP
- ネットワーク事業者
- プロキシの状態
- ネットワークまたは地理的地域の変化
これは、トラフィックのパターンや通常とは異なるネットワークアクティビティの調査に役立ちます。
ただし、IPジオロケーションは個人やデバイスを正確に追跡するものではありません。
IPアドレスは、次のいずれかに属している可能性があります。
- 複数の世帯で共有される接続
- 企業のゲートウェイ
- モバイル通信事業者
- VPN
- プロキシ
- クラウドプロバイダー
- データセンター
- 多数のユーザーが共有するNATゲートウェイ
IPジオロケーションサービスが返す緯度と経度は、おおよその地理座標です。GPS座標や住所、個人の物理的な位置を示す証拠として解釈しないでください。
このMCPサーバーはIPアドレスを検索します。単独でIPアドレスを継続的に監視または追跡することはありません。
IP2Location.ioを「自分のIPアドレス」APIとして使えますか?
はい。IP2Location.io REST APIは、この用途に対応しています。
通常、APIにはIPアドレスを渡します。
?ip=8.8.8.8
IP2Location.io REST APIへの直接リクエストでipパラメーターを省略すると、APIは受信したリクエストに関連付けられたIPアドレスを使って検索できます。
これは、APIリクエストを行ったパブリックIPに関する情報を特定する必要があるアプリケーションに便利です。
一般的な「自分のIP」データには、次の情報が含まれます。
- パブリックIPアドレス
- 国
- 地域
- 都市
- 座標
- ZIPコード/郵便番号
- タイムゾーン
- ASN
このリポジトリのget_geolocation MCPツールは引数としてIPアドレスを必要とするため、MCPでの利用は主に、会話内で指定されたIPアドレスの検索を想定しています。
ASNとIPアドレスの検索には、どのツールが最適ですか?
最適なツールは、必要な情報によって異なります。
IP2Location.io
同じ検索でASN情報とIPジオロケーションの両方が必要な場合は、IP2Location.ioが便利です。
基本的な検索情報には、次のものが含まれます。
- ASN
- 自律システム名
上位プランのIP2Location.ioデータには、さらに次の情報が含まれる場合があります。
- AS番号
- AS名
- ASドメイン
- AS CIDR
- ASの用途タイプ
このMCPサーバーを通じて、次のように質問できます。
What is the ASN of 8.8.8.8?
または:
Tell me who operates the network for 8.8.8.8 and where the IP is located.
RDAPとWHOIS
RDAPおよびWHOISサービスは、IPアドレスブロックや組織の登録情報が必要な場合に便利です。
特に、IP範囲に関連付けられた地域インターネットレジストリのレコードを特定するのに役立ちます。
BGPツール
次の情報が必要な場合は、BGP looking glassやルーティング分析サービスのほうが適しています。
- ルートアナウンス
- プレフィックス
- BGPパス
- ピアリング
- ルーティングの変更
- 現在ネットワークをアナウンスしているASN
IPインテリジェンスAPI
次のような複数のデータセットを組み合わせた構造化情報がアプリケーションに必要な場合は、IPインテリジェンスサービスが適しています。
- ジオロケーション
- ASN
- ISP
- プロキシ検出
- VPN検出
- ネットワーク分類
- セキュリティデータ
同じワークフローでジオロケーションとASN情報の両方を利用したいMCPユーザー向けに、このプロジェクトはIP2Location.ioへの便利なインターフェースを提供します。
ASN検索について
**自律システム番号(ASN)**は、自律システムを識別します。自律システムとは、共通のルーティングポリシーのもとで運用されるネットワーク、またはIPプレフィックスの集合です。
ASNを持つ組織の例:
- インターネットサービスプロバイダー
- クラウドホスティングプロバイダー
- コンテンツ配信ネットワーク
- 大学
- 大企業
- 電気通信事業者
ASN情報は、IPアドレスのルーティングを担うネットワークを明らかにできるため、そのIPを調査する際に役立ちます。
たとえば、次のアドレス:
8.8.8.8
は、次のものに関連付けられています。
ASN: 15169
AS: Google LLC
ASN検索は、一般に次の用途で使われます。
- ネットワークのトラブルシューティング
- セキュリティ調査
- トラフィック分析
- ホスティングプロバイダーの特定
- ネットワーク単位でのトラフィックのグループ化
- 不審なIPアドレスの調査
IPジオロケーションの精度と制限
IPジオロケーションは、ネットワーク情報とIPアドレスの割り当て情報に基づいて推定された地理的位置を示します。
ユーザーやデバイスの正確な物理的位置として扱わないでください。
精度は、次の要因によって左右されることがあります。
- VPN
- プロキシサーバー
- モバイルネットワーク
- 企業ネットワーク
- キャリアグレードNAT
- 衛星接続
- クラウドインフラストラクチャ
- ISPのルーティングやアドレス割り当ての変更
一般に、国レベルの結果は、都市や座標レベルの詳細な結果より信頼性が高くなります。
IPジオロケーションは、正確な物理的追跡ではなく、ネットワークに関するコンテキスト情報として利用してください。
IP2Location.ioのプラン
返される情報の量は、IP2Location.ioのプランによって異なります。
Freeプランでは、基本的なジオロケーション、基本的なASN情報、基本的なプロキシ検出を利用できます。
上位プランでは、次のような追加情報を利用できる場合があります。
- ISP
- ドメイン
- ネットワーク速度
- 用途タイプ
- モバイルネットワーク情報
- 詳細な自律システム情報
- 詳細なプロキシ情報
- VPN検出
- Tor検出
- データセンター検出
- 脅威情報
- 不正スコア
- その他のジオロケーション属性
最新のクエリ制限、フィールド、料金については、次を参照してください。
リソース
ライセンス
LICENSE.TXTファイルを参照してください。