mcpField
B
Bbox Mcp Server

Bbox Mcp Server

ローカル
vibhorsingh.com開発ツール312 週間前に更新

Bbox Mcp Server について

Bbox Mcp Serverは、OpenStreetMapの検索、バウンディングボックスの変換、空間分布の分析に使える地理空間ツールを提供します。AIエージェントやGIS利用者向けに、構造化データと地図で確認できるリンクを返します。

主な機能

  1. 01形式や投影法をまたぐバウンディングボックス変換
  2. 02バウンディングボックスを覆うH3セルの生成
  3. 03OverpassによるOpenStreetMap検索
  4. 04整理済みOpenStreetMapタグの検索
  5. 05検索結果のH3セルへの集計
  6. 06共有可能な地図リンクの作成

活用シーン

  1. 01OpenStreetMapで近隣の施設を検索
  2. 02WKTやGeoJSONのバウンディングボックスを別の投影法に変換
  3. 03地域ごとの空間密度を比較
  4. 04インタラクティブ地図で検索結果を確認

MCP 対応

バウンディングボックス変換、Overpass検索、H3集計、地図リンク生成など、6つの地理空間ツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"bbox": {
"command": "npx",
"args": [
"-y",
"bbox-mcp-server"
],
"env": {
"MAPBOX_ACCESS_TOKEN": "<MAPBOX_ACCESS_TOKEN>",
"OVERPASS_API_URL": "<OVERPASS_API_URL>",
"MAX_H3_CELLS": "<MAX_H3_CELLS>"
}
}
}
}
起動コマンドnpx -y bbox-mcp-server
設定が必要な環境変数
MAPBOX_ACCESS_TOKENシークレットMapbox token for natural-language location search (e.g. 'San Francisco')
OVERPASS_API_URLCustom Overpass API endpoint URL (defaults rotate between public instances)
MAX_H3_CELLSSafety cap for H3 grid generation (default: 50000)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmbbox-mcp-server1.2.6

ツール

7

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
locationstringいいえ検索する場所のテキスト(例:'New York City')。MAPBOX_ACCESS_TOKEN 環境変数が必要です。'location' または 'bbox' のいずれかを指定する必要があります。
bboxstringいいえ解析するジオメトリ。生のバウンディングボックス文字列('lat1,lng1,lat2,lng2')、WKT のポリゴン/ラインストリング/ポイント、GeoJSON ペイロード、または `ogrinfo` の範囲ブロックを指定できます。ジオメトリを囲む最小外接矩形(MBR)が抽出されます。'location' または 'bbox' のいずれかを指定する必要があります。
epsgstringいいえ投影 EPSG コード(例:'3857')。既定値は '4326'(WGS84)です。3,900 種類以上の投影がバンドルされており、不明なコードは epsg.io から自動取得されます。
formatenumいいえ出力形式。選択肢:wkt、geojson-bbox、leaflet、overpass、ogc-bbox、kml、geojson-polygon、csv、stac-bbox。デフォルト:csv。wkt | geojson-bbox | leaflet | overpass | ogc-bbox | kml | geojson-polygon | csv | stac-bbox
coord_orderenumいいえフォーマット済み出力の座標順序を 'lng,lat'(デフォルト)と 'lat,lng' の間で切り替えます。座標順序の入れ替えを要求する API に便利です。lng,lat | lat,lng
zoomnumberいいえ重心のマップタイル座標の計算に使用するマップのズームレベル(0~22)。デフォルトは 15 です。
precisionnumberいいえ座標文字列の出力時の小数点以下の桁数(デフォルトは 6)。

詳細

🌍 bbox-mcp-server

どこでも、あらゆることを AI に尋ねて、地図で回答を確認できます。無料です

AI エージェントのための地理空間ツールキットです。ツールは 6 つ、設定は不要。オープンデータを使って、あらゆる LLM が空間データの検索、照会、変換、集計を行えるようにします。利用開始に API キーやサインアップは不要です。

すべての応答には、共有可能な検証リンク vibhorsingh.com/boundingbox が含まれます。クリックすると、インタラクティブマップで結果を視覚的に確認できます。この機能を備えた MCP サーバーはほかにありません。

Node.js License: MIT


これで何ができますか?

活用するのに GIS の専門家である必要はありません。 この MCP サーバーを使う AI エージェントなら、実際の OpenStreetMap データを使って空間に関する質問に回答でき、でたらめな幻覚を出力することもありません。

AI エージェントへの質問…内部で行われる処理
「デンバーのダウンタウンに EV 充電器はいくつありますか?」Overpass クエリ → H3 六角形ビニング → 密度分析
「この Airbnb の近くに病院はありますか?」構造化タグを使った POI 検索 → 地図で確認できるリンク
「この住所から 1km 以内の遊び場をすべて検索して」Overpass クエリ + 半径フィルター → 共有可能な地図上に結果をピン留め
「この WKT を EPSG:3857 の GeoJSON に変換して」6 種類の入力形式、9 種類の出力形式、3,900 以上の投影法に対応した形式変換
「アムステルダムの自転車シェアのステーションをすべて表示して」厳選された OSM タグ → Overpass クエリ → 地図上に結果を表示
「シアトルの近隣地域ごとに公園の密度を比較して」Overpass + H3 集計 → 六角形ビンによる空間分析

すべての回答にはリンクが付いています。クリックして AI の回答が正しいか確認でき、ほかの人と共有することもできます。


何が違うのか

多くの AI ツールは、信頼するしかないテキストを返します。このツールは、確認・検証できるインタラクティブマップを提供します!

  • 検証可能 — すべての応答には、あなた(またはほかの人)が結果を視覚的に確認できる公開 URL が含まれます。あらゆる分野を見渡しても、この機能を備えた MCP サーバーはこれだけです。
  • 決定論的 — クエリは実際の OpenStreetMap データに対して実行され、実際の座標を返します。AI が質問を解釈し、データは、素晴らしい OSM ボランティアの皆さんによるたゆまぬ努力の成果です。
  • 無料 — 有料サービスはありません。Overpass API も OSM データも、このツールも無料です。Mapbox トークン(無料枠、支払い情報の登録不要)があれば自然言語による場所検索を利用できますが、必須ではありません。
  • 設定不要 — npx -y bbox-mcp-server を実行すれば、すぐに使えます。

なぜ作られたのか

課題bbox-mcp による解決方法
「WKT はあるのに、API には EPSG:3857 の GeoJSON bbox が必要です。」1 回の呼び出しで 6 種類の入力形式を解析し、3,900 以上の EPSG コードに投影して、9 種類の形式で出力します。
「Overpass クエリに使う OSM タグがいつも間違っています。」list_osm_tags が厳選したタグの組み合わせを返します。amenity=grocery のような幻覚はもうありません。
「この地区に病院はいくつありますか?」aggregate_overpass_h3 が Overpass にクエリを実行し、結果をサーバー側で H3 六角形にビニングします。
「このバウンディングボックスは本当に正しいですか?」すべての応答に、視覚的に確認できるクリック可能な地図リンクが含まれます。

ツール一覧

ツール機能主なパラメーター
get_bounds形式や座標系をまたいで bbox を変換・投影しますbbox、epsg、format、coord_order、zoom
get_h3_indicesbbox をカバーする H3 六角形セルのインデックスを生成しますbbox、resolution、compact
generate_share_urlbbox の共有可能なマップリンクを作成しますbbox
search_overpassbbox または半径内の OpenStreetMap を Overpass QL で検索しますbbox、query、limit、radius_meters
list_osm_tagsカテゴリーに対応する正しい OSM タグを検索しますcategory
aggregate_overpass_h3Overpass クエリを実行し、結果を H3 六角形にまとめますbbox、query、resolution

すべてのツールは、location(自然言語。Mapbox トークンが必要)または bbox(座標、WKT、GeoJSON など)を受け付けます。


クイックスタート

MCP クライアントの設定に追加します。

Claude Desktop (クリックして展開)

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"]
    }
  }
}
Cursor (クリックして展開)

.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"]
    }
  }
}
Windsurf (クリックして展開)

~/.codeium/windsurf/mcp_config.json に追加します。

{
  "mcpServers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"]
    }
  }
}
VS Code (GitHub Copilot) or Google Antigravity (クリックして展開)

ワークスペース内の .vscode/mcp.json に追加します。

{
  "servers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"]
    }
  }
}

例:「Times Square から 500m 以内のコーヒーショップをすべて検索して」

オプションの設定
{
  "mcpServers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"],
      "env": {
        "MAPBOX_ACCESS_TOKEN": "pk.your-token-here",
        "OVERPASS_API_URL": "https://your.custom.overpass.instance/api/interpreter",
        "NOMINATIM_API_URL": "https://your.custom.nominatim.instance"
      }
    }
  }
}
変数デフォルト説明
MAPBOX_ACCESS_TOKEN—自然言語による位置検索を有効にします(例:「San Francisco」)
OVERPASS_API_URLautoカスタム Overpass エンドポイントです。デフォルトでは overpass-api.de と kumi.systems を交互に使用します。
NOMINATIM_API_URLhttps://nominatim.openstreetmap.orgカスタム Nominatim エンドポイントです。共有/リモート MCP サーバーとしてホストする場合、または商用プロバイダーを使用する場合に設定してください。
MAX_H3_CELLS50000H3 グリッド生成の安全上限です

またはグローバルにインストールします:npm install -g bbox-mcp-server


ツールリファレンス

get_bounds

6 種類の入力形式、9 種類の出力形式、3,900 以上の座標系に対応し、バウンディングボックスを変換・投影します。重心の中心点とタイル座標を返します。

パラメーター型デフォルト説明
bboxstring—入力ジオメトリ(座標、WKT、GeoJSON、ogrinfo の範囲)
epsgstring"4326"変換先の投影法です。不明なコードは epsg.io から自動取得されます。
formatstring"csv"出力形式:csv、wkt、geojson-bbox、geojson-polygon、leaflet、overpass、ogc-bbox、kml、stac-bbox
coord_orderstring"lng,lat"緯度を先に指定する API 用に "lat,lng" に入れ替えます
zoomnumber15タイル座標の計算に使うズームレベル
precisionnumber6出力形式での小数点以下の桁数

💡 プロンプト: 「Central Park のバウンディングボックスを WKT 形式で取得し、EPSG:32618 に投影して」


get_h3_indices

バウンディングボックスをカバーする Uber H3 六角形セルのインデックスを生成します。

パラメーター型デフォルト説明
bboxstring—入力ジオメトリ
resolutionnumber—H3 の解像度(0~15)
compactbooleanfalse可能な場合、セルをより粗い親セルに統合します
return_geometrybooleanfalseGeoJSON の六角形境界を含めます

💡 プロンプト: 「シカゴ中心部の解像度 7 の H3 セルを、六角形ジオメトリを含めて取得して」


search_overpass

境界ボックスまたは半径内で Overpass クエリを実行します。名前、座標、タグを含む構造化された結果を返します。検証リンクでは、各結果が地図上にピンとして表示されます。

ParamTypeDefaultDescription
bboxstring—入力ジオメトリ
querystring—Overpass QL(例:nwr["amenity"="cafe"])。サーバーが適切な空間フィルターを自動的に適用します。
radius_metersnumber—検索半径(メートル)。ユーザーが距離を明示した場合のみ使用します(例:「2km以内」の場合は2000)。エリアや地域を対象とするクエリでは省略します。
limitnumber100返される要素の最大数

💡 プロンプト: 「JFK 空港から2km以内の駐車場をすべて探して」

💡 プロンプト: 「マンハッタンの病院を検索して。上限は50件」


list_osm_tags

Overpass クエリを作成する前に、カテゴリに対応する正しい OpenStreetMap タグを調べます。

ParamTypeDescription
categorystring大まかなカテゴリ(例:"food"、"health"、"transport")

💡 プロンプト: 「スーパーマーケットに対応する正しい OSM タグは何ですか?」


aggregate_overpass_h3

Overpass クエリを実行し、空間密度分析のために結果を H3 六角形に分類します。セルごとの件数と、六角形の境界を示す GeoJSON を返します。

ParamTypeDefaultDescription
bboxstring—入力ジオメトリ
querystring—Overpass QL の基本クエリ
resolutionnumber8分類に使用する H3 解像度

💡 プロンプト: 「シアトルの病院をすべて、解像度7で H3 セルに集計して」


generate_share_url

vibhorsingh.com/boundingbox のインタラクティブマップ上で境界ボックスを表示する、共有可能なリンクを生成します。

ParamTypeDescription
bboxstring入力ジオメトリ

💡 プロンプト: 「bbox 40.7128,-74.0060,40.7580,-73.9855 の共有リンクを生成して」


対応する入力形式

すべてのツールが入力形式を自動で判別します。使用する形式を指定する必要はありません。

FormatExample
生の座標40.7128,-74.0060,40.7580,-73.9855
WKTPOLYGON((-74.006 40.712, -73.985 40.712, ...))
GeoJSON{"type":"Feature","geometry":{...}}
GeoJSON bbox{"bbox":[-74.006,40.712,-73.985,40.758]}
ogrinfo extentExtent: (-74.006, 40.712) - (-73.985, 40.758)
スペース区切り40.7128 -74.0060 40.7580 -73.9855

🤖 AI エージェント開発者向け

レスポンス構造

各ツールは、次の2つのコンテンツブロックを返します。

  1. 人が読めるテキスト — 地図の検証リンクを含む整形済みの出力
  2. 構造化 JSON — 算出されたすべてのデータを含む、機械で解析可能なデータ

get_bounds の JSON レスポンスの例:

{
  "original_wgs84": { "lat1": 40.7128, "lng1": -74.006, "lat2": 40.758, "lng2": -73.9855 },
  "projected": { "xmin": -8238310.23, "ymin": 4970241.32, "xmax": -8235527.11, "ymax": 4976491.56 },
  "center": { "lat": 40.7354, "lng": -73.99575 },
  "tile_indices": { "z": 15, "x": 9660, "y": 12284 },
  "epsg": "3857",
  "coord_order": "lng,lat",
  "area_km2": 8.681,
  "dimensions": { "width_km": 1.714, "height_km": 5.066 },
  "share_url": "https://vibhorsingh.com/boundingbox/#40.712800,-74.006000,40.758000,-73.985500"
}
エラー処理

すべてのエラーは、説明メッセージとともにisError: trueを返します。無効な座標、未知の EPSG コード、過大な H3 リクエストはすべて適切にエラーとして返されます。サーバーは不正な入力によってクラッシュすることはありません。

ログ記録

構造化 JSON ログはstderrに出力されます(stdout は MCP プロトコル専用です)。各エントリーにはタイムスタンプ、レベル、コンテキストが含まれます。


謝辞と適正利用

OpenStreetMap

このツールはOpenStreetMapを基盤としています。OpenStreetMap は、何百万人ものボランティアが作成し、維持しているグローバルなデータセットです。実行するクエリによって返されるデータは、誰かが実際に歩いて調べ、地図に記録し、手作業で検証したものです。このツールが役立つと感じたら、OSM への貢献をご検討ください。

責任ある利用

公開されている Overpass API と Nominatim API のインスタンスは、容量に限りのある無料のコミュニティリソースです。短い間隔でのループや過剰なポーリング、大量のスクレイピングは避けてください。共有またはリモートの MCP サーバーとしてホストする場合は、NOMINATIM_API_URL と OVERPASS_API_URL をご自身のインスタンスまたは商用プロバイダーに向けてください(Overpass API のインストールおよび Nominatim のインストールを参照)。Overpass のデフォルトのサーバーローテーションは負荷の分散に役立ちますが、責任ある利用に代わるものではありません。


ライセンス

MIT

MCP Badge

コメント

MCP は初めてですか?

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

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