🌍 bbox-mcp服务器
随时随地向AI询问任何事情,并在地图上验证答案。义务地
AI代理的地理空间工具包。 6个工具,零配置 --赋予任何LLM使用开放数据查找、查询、转换和聚合空间数据的能力。无需API密钥或注册即可启动。
每个响应都包含一个可共享的验证链接 vibhorsingh.com/boundingbox --单击它可以在交互式地图上直观地确认结果。没有其他MCP服务器这样做。
](https://nodejs.org/) 
______________________________________________________________________
你能用这个做什么?
你不必是GIS专业人员就可以使用它。 任何具有此MCP服务器的AI代理都可以使用真实的OpenStreetMap数据回答空间问题,而不会吐出幻觉般的垃圾。
| 问问你的人工智能代理。.. | 引擎盖下面发生了什么 |
|---|---|
| *“丹佛市中心有多少个电动汽车充电器?”* | 越权查询→ H3六角形分箱→ 密度分析 |
| *“Airbnb附近有医院吗?”* | 使用结构化标签进行POI搜索→ 地图验证链接 |
| *“查找此地址1公里范围内的所有游乐场*“\* | 超限查询+半径过滤器→ 将结果固定在可共享的地图上 |
| *“在EPSG:3857中将此WKT转换为GeoJSON”* | 6个输入、9个输出、3900多个投影的格式转换 |
| *“给我看看阿姆斯特丹的所有自行车共享站”* | 整理OSM标签→ 越权查询→ 地图上的结果 |
| *“比较西雅图各社区的公园密度”* | 天桥+H3聚集→ 六边形分箱空间分析 |
每个答案都有一个链接。点击它,看看AI是否正确,你也可以与其他人分享。
______________________________________________________________________
是什么让这与众不同
大多数人工智能工具都会给你必须信任的文本。这个给你一个交互式地图,你可以检查和验证!
- 可验证的 --每个响应都包含一个公共URL,您(或任何人)都可以在其中直观地确认结果。这是在任何域中唯一执行此操作的MCP服务器。
- 确定性的 --查询访问真实的OpenStreetMap数据并返回真实的坐标。AI会解释你的问题。这些数据来自所有出色的OSM志愿者所做的辛勤工作。
- 自由 --没有付费服务。天桥API免费,OSM数据免费,工具免费。Mapbox令牌(免费层,无支付信息)解锁自然语言位置搜索,但不是必需的。
- 零配置 —
npx -y bbox-mcp-server而你正在奔跑。
______________________________________________________________________
为什么存在
| 问题 | bbox-mcp是如何解决的 |
|---|---|
| *“我有WKT,但API需要EPSG:3857中的GeoJSON bbox。”* | 在一次调用中,解析6种输入格式,投影到3900多个EPSG代码,以9种格式输出。 |
| *“我总是为Overpass查询得到错误的OSM标签。”* | list_osm_tags 返回精心策划的标签组合。不再产生幻觉 amenity=grocery. |
| *“这个地区有多少家医院?”* | aggregate_overpass_h3 查询Overpass和bin结果在服务器端转换为H3六边形。 |
| *“这个边界框真的正确吗?”* | 每个响应都包含一个可点击的地图链接,用于视觉验证。 |
______________________________________________________________________
工具一览
| 工具 | 功能 | 关键参数 |
|---|---|---|
get_bounds | 跨格式和坐标系转换和投影bbox | bbox, epsg, format, coord_order, zoom |
get_h3_indices | 生成覆盖bbox的H3十六进制单元格索引 | bbox, resolution, compact |
generate_share_url | 为bbox创建可共享的地图链接 | bbox |
search_overpass | 在bbox或半径范围内通过Overpass QL查询OpenStreetMap | bbox, 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 (Click to expand)
添加 claude_desktop_config.json:
{
"mcpServers": {
"bbox": {
"command": "npx",
"args": ["-y", "bbox-mcp-server"]
}
}
}Cursor (Click to expand)
添加 .cursor/mcp.json:
{
"mcpServers": {
"bbox": {
"command": "npx",
"args": ["-y", "bbox-mcp-server"]
}
}
}Windsurf (Click to expand)
添加 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"bbox": {
"command": "npx",
"args": ["-y", "bbox-mcp-server"]
}
}
}VS Code (GitHub Copilot) or Google Antigravity (Click to expand)
添加 .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"
}
}
}
}| 变量 | 默认值 | 描述 |
|---|---|---|
MAPBOX_ACCESS_TOKEN | -- | 启用自然语言位置搜索(例如。 *“旧金山”*) |
OVERPASS_API_URL | auto | 自定义超车端点。默认情况下,在以下位置之间旋转 overpass-api.de 和 kumi.systems. |
MAX_H3_CELLS | 50000 | H3电网发电安全帽 |
*或全局安装: npm install -g bbox-mcp-server*
______________________________________________________________________
工具参考
get_bounds
转换并投影一个跨越6种输入格式、9种输出格式和3900多个坐标系的边界框。返回质心的中心点和图块坐标。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
bbox | string | -- | 输入几何图形(坐标、WKT、GeoJSON、ogrinfo范围) |
epsg | 字符串 | "4326" | 目标投影。从epsg.io自动获取未知代码 |
format | 字符串 | "csv" | 输出: csv, wkt, geojson-bbox, geojson-polygon, leaflet, overpass, ogc-bbox, kml, stac-bbox |
coord_order | 字符串 | "lng,lat" | 交换到 "lat,lng" 对于希望纬度优先的API |
zoom | 编号 | 15 | 瓷砖坐标计算的缩放级别 |
precision | 编号 | 6 | 格式化输出中的小数位数 |
💡 提示: *“获取投影到EPSG:32618的WKT格式的中央公园边界框”*
______________________________________________________________________
get_h3_indices
生成覆盖边界框的Uber H3六边形单元格索引。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
bbox | string | -- | 输入几何图形 |
resolution | 数字 | -- | H3分辨率(0-15) |
compact | 布尔值 | false | 尽可能将单元格合并到较粗的父级中 |
return_geometry | 布尔值 | false | 包含GeoJSON十六进制边界 |
💡 提示: *“给我芝加哥市中心分辨率为7的H3细胞,包括六边形几何形状”*
______________________________________________________________________
search_overpass
在边界框或半径内执行超车查询。返回包含名称、坐标和标签的结构化结果。验证链接将每个结果绘制为地图上的一个引脚。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
bbox | string | -- | 输入几何图形 |
query | string | -- | 跳过QL(例如。 nwr["amenity"="cafe"]).服务器会自动将其包装在适当的空间过滤器中。 |
radius_meters | number | -- | 搜索半径,单位为米。仅在用户指定明确距离时使用(例如。 2000 “2km以内”)。省略区域/地区查询。 |
limit | 编号 | 100 | 返回的最大元素数 |
💡 提示: *“查找肯尼迪机场2公里范围内的所有停车位”*
💡 提示: *“在曼哈顿搜索医院,限制50家”*
______________________________________________________________________
list_osm_tags
在编写Overpass查询之前,查找类别的正确OpenStreetMap标签。
| 参数 | 类型 | 描述 |
|---|---|---|
category | string | 大类(例如。 "food", "health", "transport") |
💡 提示: *“超市的正确OSM标签是什么?”*
______________________________________________________________________
aggregate_overpass_h3
运行Overpass查询,将结果分为H3六边形,用于空间密度分析。返回每个单元格的计数和GeoJSON十六进制边界。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
bbox | string | -- | 输入几何图形 |
query | string | -- | 覆盖QL核心查询 |
resolution | 编号 | 8 | H3分箱分辨率 |
💡 提示: *“根据决议7,将西雅图的所有医院汇总到H3垃圾箱中”*
______________________________________________________________________
generate_share_url
在vibhorsingh.com/boundingbox上生成一个可共享的链接,以便在交互式地图上可视化边界框。
| 参数 | 类型 | 描述 |
|---|---|---|
bbox | string | 输入几何图形 |
💡 提示: *为bbox 40.7128、-74.0060、40.7580、-73.9855生成共享链接*
______________________________________________________________________
支持的输入格式
所有工具都会自动检测输入格式。无需指定您使用的是哪一个。
| 格式 | 示例 |
|---|---|
| 原始坐标 | 40.7128,-74.0060,40.7580,-73.9855 |
| WKT | POLYGON((-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代理开发人员
响应结构
每个工具返回两个内容块:
- 人类可读文本 --带有地图验证链接的格式化输出
- 结构化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日志转到 标准错误 (stdout保留用于MCP协议)。每个条目都包括时间戳、级别和上下文。
______________________________________________________________________
致谢与合理使用
开放街道图
此工具基于 开放街道图由数百万志愿者创建和维护的全球数据集。您运行的每个查询都会返回有人走过、映射或手工验证的数据。如果你觉得这很有用,请考虑 为OSM做出贡献.
负责任的使用
公共天桥API实例是容量有限的免费社区资源。避免紧密循环、过度轮询或批量刮擦。对于繁重的工作负载,设置 OVERPASS_API_URL 对于您自己的实例,请参见 天桥API安装默认的服务器轮换有助于分散负载,但它不能替代负责任的使用。
______________________________________________________________________
许可证
麻省理工学院
](https://lobehub.com/mcp/iamvibhorsingh-bbox-mcp-server)
