AtlasFetch について
AtlasFetchは、位置検索、南アフリカの住所ジオコーディング、ルート検索、カスタムジオフェンスに対応するMCPサーバーです。座標から行政区域や道路情報を返し、独自の境界を避けるルートや通過距離の計測も行えます。
主な機能
- 01座標から行政区域を検索
- 02任意で最寄り道路情報を取得
- 03精度情報付きの南アフリカ住所ジオコーディング
- 04車、自転車、徒歩、トラックのルート検索
- 05カスタム境界セットの作成と照会
活用シーン
- 01地点の自治体と地域コードの特定
- 02配送区域やサービス区域との照合
- 03南アフリカの配送先住所のジオコーディング
- 04独自区域の回避や通過距離計測を含むルート計画
MCP 対応
AtlasFetchの位置検索、ジオコーディング、ルート検索、境界管理のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| lat | number | はい | 緯度。範囲は -90~90。 |
| lng | number | はい | 経度。範囲は -180~180。 |
| base | array | いいえ | 解決する参照レイヤー。デフォルトは country、region、municipal です。"street" はオプトイン項目です。最寄りの道路を取得するには明示的に追加してください。 |
| sets | array | いいえ | 照合対象とする、このアカウントの境界セット名。デフォルトでは対象なしです。 |
| h3res | integer | いいえ | H3 の解像度は 0~15 です。9 は幅が約 400 m です。 |
| encode | array | いいえ | その地点を H3 セルインデックスおよび/または Google Plus Code としても返します。出力専用です。どちらも地点ではなくエリアを示すため、位置としては使用できません。 |
| pluslen | any | いいえ | Plus Code の長さです。9 は有効な長さではありません。10 は約 14 m です。 |
詳細
atlasfetch-mcp
登録なしですぐに試せます: キーがない場合は、共有の公開デモキーにフォールバックします。このキーは、利用者全員で月間1,000回までの検索に制限されています。atlasfetch.xyzで無料登録すると、ご自身の利用枠を利用できます。
AtlasFetch の MCP サーバーです。行政境界や道路のリバースジオコーディング、ジオフェンシングを、AI アシスタントから直接呼び出せるツールとして提供します。
「-33.9249, 18.4241はどの自治体にありますか?」と尋ねると、モデルの記憶ではなく、実際にポイント・イン・ポリゴン検索を行い、ISO 3166コードとともに 南アフリカ、西ケープ州、ケープタウンを返します。
country: United Kingdom (GB) · region: England (GB-ENG) · municipal: City of Westminster (GB-WSM)
できること
| ツール | できること |
|---|---|
lookup_location | 座標から、その地点を含む国、地域、自治体とISO 3166-1/3166-2コードを返します。独自の境界セットとの一致情報も返します。オプションで最寄りの道路(streetレイヤーを指定)や、H3セルまたはGoogle Plus Codeとして表した地点も取得できます。 |
geocode_address | 住所を地点に変換します。現在は南アフリカに対応しており、家屋、道路、または郊外のどこまで特定できたかを示す精度と、次に取るべき対応も返します。 |
get_route | 2~25個の座標間を、車、自転車、徒歩、トラックで移動するルートと、ターンごとの案内を返します。独自のゾーンを避けるルートや、ゾーン内をどれだけ走行するか計測するルートも指定できます。 |
list_boundary_sets | 境界セット、その件数、およびどのAPIキーで照会できるかを一覧表示します。 |
create_boundary_set | 独自のポリゴンを登録するための空のセットを作成します。 |
add_boundary | GeoJSONポリゴンを1つ追加し、一致時に返すプロパティを設定します。 |
update_boundary | 境界の位置や形状を変更し、ID、名前、プロパティは維持します。 |
活用例: 行政区域のリバースジオコーディング、地点がどの道路上にあるかの特定、独自の配送ゾーンやサービスエリアに対するジオフェンシング、管轄区域や地域の確認、地域コードを位置データに付与する処理、南アフリカの配送先住所のジオコーディング、指定した区域を避けるルート検索。
対応していない用途: 南アフリカ以外のジオコーディング(現時点)、場所の名称による検索、交通状況を考慮した到着予定時刻、距離行列、等時間圏、地図タイル、境界のジオメトリのダウンロード。
ルート検索
get_routeは、car、bike、foot、truckで移動する、2~25個の座標間の距離、所要時間、ターンごとの案内を返します。
car: 3.5 km · 5 min · 11 steps · a location moved 62 m to reach a road — free-flow, no traffic
設定する前に、知っておくべきことが3つあります。
- ルート検索の料金は10回分の検索です。 返される情報はすべて料金に含まれますが、検索1回分の10倍の料金がかかります。
- 所要時間は自由流動時のものです。 つまり、道路網の制限速度に基づいており、リアルタイムまたは過去の交通状況は考慮しません。到着予定時刻ではありません。到着予定時刻が必要な場合は、交通状況を考慮するサービスをご利用ください。
- ルートの線はデフォルトで無効です(
routeGeometry: "none")。エンコードされたポリラインは数千文字になり、アシスタントには読み取れません。描画する場合に限り、polyline6またはgeojsonを指定してください。
独自のゾーンをルートに適用する場合: avoidSetsには、ルートが避ける境界セットを指定します。exposureSetsには、ルートを変更せずに照合し、各ゾーン内を走行した距離をメートル単位で報告するセットを指定します。地点の1つがゾーン内にある場合、そのルートでゾーンを回避することはできません。そのゾーンはスキップされ、その旨が結果に記載されます。
プランの上限が適用されます。無料プランでは地点を2つまで、Proでは最大25個まで指定できます。トラックはPro限定で、代替ルートには地点がちょうど2つ必要です。上限を超えた場合は403が返され、課金されません。近くに道路がない地点の場合は422が返されます。この場合はルート検索が試行されているため、課金されます。
ジオコーディング
geocode_address は、1つの住所を地点に変換します。q に1行で入力するか、address に分割した住所の各要素を指定します。現在は南アフリカに対応しています。
address · confidence 0.96 · 25 Adderley Street, Cape Town, ZA-WC — dispatch
street · confidence 0.47 · ambiguous · Long Street, Cape Town, ZA-WC — ask the customer before dispatching
地点を使う前に、精度を確認してください。 address は番地まで特定できた住所、interpolated は前後の番地から推定された地点、intersection は交差点(「Cnr Main Rd and Belmont Rd」)、site はショッピングセンター、オフィスパーク、病院などの名称のある施設です(店舗名や部屋番号は配達員に伝えてください)。street は通りまでは特定できていますが、番地は不明です。locality は郊外名のみです。結果の行には、配達に関する API 独自の推奨事項が適用されます。曖昧でない番地・交差点・施設レベルの結果でのみ発送し、通りレベルの結果では受取人に位置情報の共有を依頼し、曖昧な場合は顧客に確認してください。南アフリカでは、OpenStreetMap に番地が登録されている通りが約13%しかないため、多くの結果は通りレベルになります。
1回の呼び出しにつき住所は1件で、見つかったかどうかにかかわらず検索は1回です。これは意図的な仕様です。配達リストは1行ずつ処理するため、使用量を確認できます。数千行を処理するプログラムでは、API に直接 POST /geocode/batch を呼び出してください。
通り
street レイヤーを追加すると、最寄りの通りと、地図に登録されている場合は番地も結果に含まれます。対応範囲は全世界で、オプトイン方式です。デフォルトの country, region, municipal には含まれません。
どこまで探すかによって「最寄りの通り」は変わるため、5 m、20 m、無制限の3種類の結果が常に返されます。
"street": [
{ "radiusMeters": 5, "streetNumber": null, "streetName": "Adderley Street", "postcode": null, "distanceMeters": 2.7 },
{ "radiusMeters": 20, "streetNumber": "25", "streetName": "Adderley Street", "postcode": "8001", "distanceMeters": 9.6 },
{ "radiusMeters": null, "streetNumber": "25", "streetName": "Adderley Street", "postcode": "8001", "distanceMeters": 9.6 }
]
意味の異なる2種類の null: "street": null はその国に通りのデータがないことを示します。一方、フィールドが null のエントリーは、その半径内に該当するものがなかったことを示します。streetNumber と postcode は文字列です(44A、12-14、0181)。十分にマッピングされた地域以外では、番地はまれです。streetGeometry を設定すると、各結果に通りの線形ジオメトリも含まれます。長さは約250 mに切り詰められます。描画に使う場合以外は設定しないでください。
インストール
Claude Code
claude mcp add atlasfetch -- npx -y atlasfetch-mcp
Claude Desktop、Cursor、VS Code およびその他のクライアント
MCP 設定(claude_desktop_config.json、.cursor/mcp.json、またはクライアントに相当する設定ファイル)に追加してください。
{
"mcpServers": {
"atlasfetch": {
"command": "npx",
"args": ["-y", "atlasfetch-mcp"],
"env": {
"ATLASFETCH_API_KEY": "your-key-here"
}
}
}
}
Node 20 以降が必要です。
キーの取得
デモキーはインターネット上のすべての匿名ユーザーで共有され、クォータとレート制限も共有です。まず試してみる用途には適していますが、実際の利用には向きません。
atlasfetch.xyz/dashboard で独自のキーを作成し、ATLASFETCH_API_KEY を設定してください。無料の Personal プランではカードは不要です。キーはいつでもダッシュボードからコピーできます。そのため、そこで自分のドメインに制限してください。2026年10月12日より前に作成されたキーは失効しています。キーが使えなくなった場合は、有効なキーをコピーしてください。
| 変数 | デフォルト | 用途 |
|---|---|---|
ATLASFETCH_API_KEY | (デモキー) | API キーです。 |
ATLASFETCH_API_URL | https://api.atlasfetch.xyz | ローカル API またはステージング API の場合にのみ上書きします。 |
意外に思われる2つの点
municipal は利用可能な最も細かい単位ですが、常に同じ種類のものを示すとは限りません。 ロサンゼルスでは市が返されますが、カンザス州の農村部では郡が返され、地域によっては地区が返されます。国によって詳細な区分のデータが不完全な場合、代わりに完全な粗い区分が返されます。多くの用途では、郡の情報が null よりも役立つためです。値が市の名称だと決めつけないでください。
新しい境界データセットをここから検索可能にはできません。 データセットは無効な状態で作成され、どのキーにも付与されません。また、付与先は API キーの id で指定しますが、キーの一覧を取得できるのはサインイン済みブラウザーセッションだけです。そのため、このサーバーでデータセットを作成してデータを追加することはできますが、最後の手順はダッシュボードで行います。create_boundary_set は、検索しても何も返さないデータセットだけが残らないよう、レスポンスでその旨を伝えます。
請求
検索またはジオコーディング済み住所は1回の検索としてカウントされます。標準プランでは、ルートは10回分です。検索は、対象となるレイヤー、セット、グリッドコードの数にかかわらず1回です。計測は照合の前に行われるため、一致するものがない検索もカウントされます。無効なリクエストやレート制限で拒否されたリクエストには課金されません。
規則
7つのツールすべてに共通する規則がいくつかあり、入力がどこに現れても同じ意味になります。
-
setは1つのセット、setsは複数のセットを指定します。add_boundaryとupdate_boundaryは1つのセット(set)に作用します。lookup_locationとgeocode_addressは任意の数のセット(sets)を対象に照合します。 -
get_routeは2つのAPIオブジェクトをフラット化します。 APIではavoid: { sets: [...] }とexposure: { sets: [...] }を指定します。このツールではavoidSetsとexposureSetsを使います。1つのキーだけを持つラッパーオブジェクトは、モデルが間違えやすいためです。 -
…Geometryは常に、取得をリクエストするラインであり、デフォルトではオフです。get_routeのrouteGeometry、およびlookup_locationとgeocode_addressのstreetGeometryが該当します。単独のgeometry入力は送信するポリゴンで、add_boundaryとupdate_boundaryで使います。(get_routeでは旧名のrouteGeometryとしてgeometryも引き続き受け付けます。これは1.0で廃止されます。) -
APIとデフォルトが異なる場合、それは意図的なものです。
ツール 入力 このサーバー API 理由 get_routestepstruefalseターンごとの案内は、ユーザーがアシスタントに求めるものだからです lookup_locationstreetGeometrybaseにstreetを追加streetがないと400道路のラインを求めることは、その道路を求めることだからです -
各回答の最初の行は人向けであり、仕様上の保証ではありません。 回答を要約し、どう扱うか(
— dispatch、— ask the customer)を示します。表現は今後も改善されます。その下のJSONはAPIの回答そのままであり、解析対象となるのはこちらです。
安定性
1.0より前は、マイナーバージョン(0.3 → 0.4)で入力名の変更や入力の削除が行われる場合があります。0.4.0がその例ですが、必ず先に非推奨の別名が導入されます。
1.0以降:
- 変更なし: ツール名、入力名、入力型、デフォルト値。
- マイナーリリースで変更される場合があります: 新しいツール、新しい任意入力、出力が取りうる新しい値(
precisionにintersectionとsiteが追加された例など)、説明文と各回答の最初の行の表現。 - 破壊的変更には非推奨化の手順を設けます。 旧形式は少なくとも1回のマイナーリリースの間は引き続き動作し、説明に置き換え先が記載されます。削除されるのは次のメジャーバージョン以降です。
- 各回答のJSONはAtlasFetch APIに準拠します。 APIはOpenAPI仕様で独自の契約をバージョン管理しています。
各リリースの内容はCHANGELOG.mdに記載されています。
開発
npm install
npm run build
node scripts/smoke.mjs # drives the built server with a real MCP client, against the live API
リンク
ライセンス
このサーバーはMITライセンスです。参照境界データはOpenStreetMapに由来し、ODbLに基づいています。帰属表示および継承共有の義務は利用者にも適用されます。検索した座標は保存されません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。