geodata について
geodataは、ApogeoAPIの地理・通貨データをAPIキーで利用するクライアントで、場所の検索を必要とするアプリケーション向けです。8種類の検索ツールを備え、成功時はJSONを加工せず返します。
主な機能
- 01国の詳細と一覧の取得
- 02国名による検索
- 03州と都市の取得
- 04リアルタイム為替レートの取得
- 05IPv4およびIPv6アドレスの位置特定
- 06国、州、都市を横断する検索
活用シーン
- 01ISOコードによる国情報の表示
- 02州と都市の選択欄の作成
- 03国別為替レートの表示
- 04IPアドレスの位置特定
MCP 対応
必須のAPIキーをリクエストに使用して、ApogeoAPIの8種類の検索ツールをMCPクライアントに提供します。成功時は上流のJSONをそのまま返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| base | string | いいえ | 為替レートの基準通貨(例:EUR、デフォルトは USD)。 |
| code | string | はい | この呼び出しで使用するコード。 |
詳細
geodata
国、州、都市のデータ、最新の通貨レート、IP ジオロケーションを、1 つの API キーで利用できます。geodata は ApogeoAPI REST API の薄いクライアントです。API キーを用意するだけで、8 つのツールを使ってあらゆる検索に対応できます。国の詳細情報、ページ分割された国のカタログ、名前による検索、国に属する州や都市、国の通貨の現在の為替レート、IP アドレスの位置情報、そして国・州・都市の 3 つすべてを対象にした 1 つの検索ボックスを利用できます。
成功した呼び出しでは、上流の JSON が API から送信されたとおりに返されます。処理の過程で形を変えたり、名前を変更したり、要約したりすることはないため、クライアントに表示されるのはサービスから返された内容そのものです。
Configuration
2 つの環境変数でクライアントを制御します。
APOGEOAPI_KEY(必須)— API キーです。すべてのリクエストでX-API-Keyヘッダーとして送信されます。設定されていない場合、すべてのツールはAPOGEOAPI_KEY is not setで失敗し、リクエストは送信されません。APOGEOAPI_BASE_URL(任意)— API のベース URL です。デフォルトはhttps://api.apogeoapi.comです。
Tools
get_country— ISO2/ISO3codeによる国の全データです。国名、首都、地域、人口、通貨、最新の USD レート、タイムゾーン、電話番号コードが含まれます。任意のbase(例:EUR)で、レートの通貨ベースを変更できます。list_countries— 250 以上のすべての国を収録したページ分割カタログです。任意のpage、limit、baseは、指定された場合にクエリパラメーターとして送信されます。search_countries— 部分的なquery名に一致する国を検索します。get_states—countryコードに属するすべての州・省を取得します。get_cities— 数値のstate_idで指定した州のすべての都市を取得します。get_currency_rate—countryの通貨の最新 USD 為替レート(4 時間ごとに更新)を取得します。任意のbaseを指定できます。geolocate_ip— IPv4/IPv6 のipに対応する国、地域、都市、座標、タイムゾーン、EU 加盟状況を取得します。global_search— 1 つのqueryで国、州、都市を同時に検索します。
検証エラーはリクエスト送信前に発生し、次のいずれかの具体的なメッセージが返されます:code must be a non-empty string、country must be a non-empty string、query must be a non-empty string、ip must be a non-empty string、または state_id must be a positive integer。上流からの 2xx 以外の応答では apogeoapi error: HTTP <status> が返され、API に接続できない場合は apogeoapi unreachable が返されます。
Endpoint provenance
4 つのリクエストパスは、ベンダーサイトの実行例で確認されています。
GET /v1/countries/{code}(任意の?base=付き)GET /v1/countriesGET /v1/countries/{country}/currency-rateGET /v1/ip/{ip}
残りの 4 つのパスは再構成したものとして明記しています。サイトに記載されたコレクションのパターンに沿っていますが、実行例では確認されていません。
GET /v1/countries?search=<query>— 再構成したパス (search_countriesで使用)GET /v1/countries/{country}/states— 再構成したパス (get_statesで使用)GET /v1/states/{state_id}/cities— 再構成したパス (get_citiesで使用)GET /v1/search?q=<query>— 再構成したパス (global_searchで使用)
list_countries では、コレクションのエンドポイントとクエリ形式は確認されていますが、page/limit/base パラメーター名は再構成したものです。
CLI
各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドです。
export APOGEOAPI_KEY="<your key>"
npx @reneturcios/geodata get_country '{"code":"US"}'
npx @reneturcios/geodata get_country '{"code":"FR","base":"EUR"}'
npx @reneturcios/geodata list_countries '{"page":1,"limit":50}'
npx @reneturcios/geodata search_countries '{"query":"united"}'
npx @reneturcios/geodata get_states '{"country":"US"}'
npx @reneturcios/geodata get_cities '{"state_id":42}'
npx @reneturcios/geodata get_currency_rate '{"country":"DE"}'
npx @reneturcios/geodata geolocate_ip '{"ip":"8.8.8.8"}'
npx @reneturcios/geodata global_search '{"query":"paris"}'
npx @reneturcios/geodata --version
出力はツールの結果テキストです(成功時は上流の JSON)。終了コード:成功時は 0、実行時エラー(検証エラー、キーの未設定、上流での失敗を含む)時は 1、使用方法エラー時は 2 です。
MCP server
npx -y @reneturcios/geodata mcp
MCP クライアントの設定(キーはクライアントの環境変数を通じて指定してください):
{
"mcpServers": {
"geodata": {
"command": "npx",
"args": ["-y", "@reneturcios/geodata", "mcp"],
"env": {
"APOGEOAPI_KEY": "<your key>"
}
}
}
}
Docker
docker run -i -e APOGEOAPI_KEY="<your key>" ghcr.io/cloudcorprecords/geodata
docker run --rm -e APOGEOAPI_KEY="<your key>" ghcr.io/cloudcorprecords/geodata get_country '{"code":"US"}'
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。