mcpField
B
Bbox Mcp Server

Bbox Mcp Server

本地服务
vibhorsingh.com开发工具312 周前更新

关于 Bbox Mcp Server

Bbox Mcp Server 提供地理空间工具,用于查询 OpenStreetMap 数据、转换边界框和分析空间分布。它面向 AI Agent 和 GIS 用户,返回结构化结果及可用于地图核验的链接。

主要功能

  1. 01跨格式和投影转换边界框
  2. 02为边界框生成 H3 网格
  3. 03通过 Overpass 搜索 OpenStreetMap
  4. 04查询整理过的 OpenStreetMap 标签
  5. 05将查询结果聚合到 H3 网格
  6. 06创建可分享的地图链接

适用场景

  1. 01在 OpenStreetMap 中查找附近兴趣点
  2. 02将 WKT 或 GeoJSON 边界框转换为其他投影
  3. 03比较某区域的空间密度
  4. 04在交互式地图上核验查询结果

MCP 相关

它向 MCP 客户端提供六种地理空间工具,包括边界框转换、Overpass 查询、H3 聚合和地图链接生成。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 Agent 的地理空间工具包。6 个工具,零配置——让任何大模型都能使用开放数据查找、查询、转换和汇总空间数据。无需 API 密钥或注册即可开始使用。

每条响应都包含一个可分享的验证链接,指向 vibhorsingh.com/boundingbox——点击即可在交互式地图上直观确认结果。没有其他 MCP 服务能做到这一点。

Node.js License: MIT


你可以用它做什么?

**你不必是 GIS 专业人士也能使用它。**任何连接了此 MCP 服务的 AI Agent,都能使用真实的 OpenStreetMap 数据回答空间问题,而不是吐出一堆幻觉内容。

向你的 AI Agent 提问……背后的处理流程
“丹佛市中心有多少个电动汽车充电桩?”Overpass 查询 → H3 六边形分箱 → 密度分析
“这家 Airbnb 附近有医院吗?”使用结构化标签搜索 POI → 地图验证链接
“查找这个地址 1 km 范围内的所有游乐场”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。”解析 6 种输入格式,投影到 3,900 多种 EPSG 代码,并以 9 种格式输出——一次调用即可完成。
“我总是为 Overpass 查询选错 OSM 标签。”list_osm_tags 会返回精选的标签组合。再也不会凭空编造 amenity=grocery 了。
“这个区有多少家医院?”aggregate_overpass_h3 会查询 Overpass,并在服务端将结果分入 H3 六边形。
“这个边界框真的正确吗?”每条响应都包含一个可点击的地图链接,方便直观验证。

工具一览

工具功能关键参数
get_bounds在不同格式和坐标系之间转换并投影 bboxbbox、epsg、format、coord_order、zoom
get_h3_indices生成覆盖 bbox 的 H3 六边形网格单元索引bbox、resolution、compact
generate_share_url为 bbox 创建可分享的地图链接bbox
search_overpass通过 Overpass QL 在 bbox 或半径范围内查询 OpenStreetMapbbox、query、limit、radius_meters
list_osm_tags查询某个类别对应的正确 OSM 标签category
aggregate_overpass_h3运行 Overpass 查询,并将结果归入 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) 或 Google Antigravity (点击展开)

添加到工作区中的 .vscode/mcp.json:

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

试试:“查找时代广场周围 500 米内的所有咖啡店”

可选配置
{
  "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格式化输出中的小数位数

💡 提示词: “获取中央公园的边界框,以 WKT 格式输出,并投影到 EPSG:32618”


get_h3_indices

生成覆盖边界框的 Uber H3 六边形网格单元索引。

参数类型默认值说明
bboxstring—输入几何数据
resolutionnumber—H3 分辨率(0–15)
compactbooleanfalse尽可能将网格单元合并为较粗级别的父单元
return_geometrybooleanfalse包含 GeoJSON 六边形边界

💡 提示词: “为芝加哥市中心生成分辨率为 7 的 H3 网格单元,并包含六边形几何数据”


search_overpass

在边界框或半径范围内执行 Overpass 查询。返回包含名称、坐标和标签的结构化结果。验证链接会在地图上为每个结果标出图钉。

参数类型默认值描述
bboxstring—输入几何
querystring—Overpass QL(例如 nwr["amenity"="cafe"])。服务会自动将其包装在适当的空间筛选条件中。
radius_metersnumber—搜索半径,单位为米。仅在用户明确指定距离时使用(例如,搜索“2km 范围内”的地点时使用 2000)。区域查询时省略。
limitnumber100返回的最大元素数

💡 提示词: “查找 JFK 机场 2km 范围内的所有停车场”

💡 提示词: “搜索曼哈顿的医院,限制为 50 个”


list_osm_tags

编写 Overpass 查询前,先查找某个类别对应的正确 OpenStreetMap 标签。

参数类型描述
categorystring大类(例如 "food"、"health"、"transport")

💡 提示词: “超市对应的正确 OSM 标签是什么?”


aggregate_overpass_h3

运行 Overpass 查询,并将结果归入 H3 六边形网格,以进行空间密度分析。返回每个网格单元的计数以及 GeoJSON 六边形边界。

参数类型默认值描述
bboxstring—输入几何
querystring—Overpass QL 核心查询
resolutionnumber8用于分箱的 H3 分辨率

💡 提示词: “将西雅图的所有医院按分辨率 7 汇总到 H3 网格中”


generate_share_url

生成可分享的链接,在 vibhorsingh.com/boundingbox 的交互式地图上显示边界框。

参数类型描述
bboxstring输入几何

💡 提示词: “为 bbox 40.7128,-74.0060,40.7580,-73.9855 生成分享链接”


支持的输入格式

所有工具都会自动检测输入格式。无需指定所用格式。

格式示例
原始坐标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 范围Extent: (-74.006, 40.712) - (-73.985, 40.758)
空格分隔40.7128 -74.0060 40.7580 -73.9855

🤖 面向 AI Agent 开发者

响应结构

每个工具都会返回两个内容块:

  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 构建:这是一个由数百万志愿者创建并维护的全球数据集。你运行的每条查询都会返回有人亲自实地考察、绘制或核实过的数据。如果你觉得它有用,不妨考虑为 OSM 作出贡献。

负责任地使用

公开的 Overpass 和 Nominatim API 实例是容量有限的免费社区资源。请避免紧密循环、过度轮询或批量抓取。如果将其作为共享/远程 MCP 服务托管,请将 NOMINATIM_API_URL 和 OVERPASS_API_URL 指向你自己的实例或商业服务提供商(参见 Overpass API 安装 和 Nominatim 安装)。Overpass 的默认服务轮换有助于分散负载,但不能替代负责任地使用。


许可证

MIT

MCP Badge

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。