mcp/mapbox Docker Image
通过Mapbox API将任何AI代理转换为地理空间感知系统,提供地理编码、POI搜索、路由规划、行程时间矩阵、等时线和静态地图生成功能。
Mapbox MCP Server
镜像概述和主要用途
Mapbox MCP Server是一个通过Mapbox API增强AI代理地理空间能力的服务,可将任何AI代理转换为地理空间感知系统。它集成了Mapbox的核心地理空间功能,支持地理编码、兴趣点(POI)搜索、多模式路由规划、行程时间矩阵计算、等时线分析以及静态地图图像生成,适用于需要地理空间数据处理的AI应用场景。
MCP信息
| 属性 | 详情 |
|---|---|
| Docker镜像 | https://hub.docker.com/repository/docker/mcp/mapbox |
| 作者 | https://github.com/mapbox |
| 代码仓库 | https://github.com/mapbox/mcp-server |
镜像构建信息
| 属性 | 详情 |
|---|---|
| Dockerfile | https://github.com/mapbox/mcp-server/blob/main/Dockerfile |
| Docker镜像构建者 | Docker Inc. |
| Docker Scout健康评分 | |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/mapbox --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| 许可证 | MIT License |
可用工具(9种)
| 工具名称 | 简短描述 |
|---|---|
category_list_tool | 类别列表工具 |
category_search_tool | 类别搜索工具 |
directions_tool | 路线规划工具 |
isochrone_tool | 等时线工具 |
matrix_tool | 矩阵工具 |
reverse_geocode_tool | 反向地理编码工具 |
search_and_geocode_tool | 搜索与地理编码工具 |
static_map_image_tool | 静态地图图像工具 |
version_tool | 版本信息工具 |
工具详情
工具:category_list_tool
用于从Mapbox Search API检索支持的类别列表。当其他功能需要类别列表时使用。默认返回所有可用类别ID。仅在需要优化令牌使用时才使用分页(limit/offset)。如果使用分页,请在继续其他任务前多次调用以检索所有类别,确保数据完整。
| 参数 | 类型 | 描述 |
|---|---|---|
language | string 可选 | 响应的IETF语言标签(例如:"en"、"es"、"fr"、"de"、"ja") |
limit | number 可选 | 返回的类别数量(1-100)。警告:仅在需要优化令牌使用时使用此参数。如果使用分页,请在继续其他任务前多次调用以检索所有类别。未指定时返回所有类别。 |
offset | number 可选 | 分页跳过的类别数量。默认值为0。 |
此工具为只读,不修改环境。
此工具与外部实体交互。
工具:category_search_tool
返回所有匹配特定类别的地点(行业、设施或NAICS风格代码)。当用户询问地点类型、复数或通用术语(如"博物馆"、"咖啡店"、"电动汽车充电器"),或查询包含"any"、"all"、"nearby"等短语时使用。当提供唯一名称或品牌时不使用。支持JSON和文本输出格式。
| 参数 | 类型 | 描述 |
|---|---|---|
category | string | 要搜索的标准地点类别名称(例如:"restaurant"、"hotel"、"cafe")。要获取所有支持的类别,请使用category_list_tool。 |
bbox | object 可选 | 限制结果在指定范围内的边界框 |
country | array 可选 | 限制结果的ISO 3166 alpha 2国家代码数组 |
format | string 可选 | 输出格式:"json_string"返回原始GeoJSON数据(可解析的JSON字符串);"formatted_text"返回包含地点名称、地址和坐标的人类可读文本。两者均返回文本内容,但json_string包含可解析的JSON数据,而formatted_text用于显示。 |
language | string 可选 | 响应的IETF语言标签(例如:"en"、"es"、"fr"、"de"、"ja") |
limit | number 可选 | 返回结果的最大数量(1-25) |
poi_category_exclusions | array 可选 | 要从结果中排除的POI类别数组 |
proximity | string 可选 | 偏向结果的位置。可以是包含经度和纬度的坐标对象,或"ip"(基于IP的位置) |
此工具为只读,不修改环境。
此工具与外部实体交互。
工具:directions_tool
基于提供的坐标和路线方法从Mapbox API获取路线。
| 参数 | 类型 | 描述 |
|---|---|---|
coordinates | array | 按顺序访问的坐标对象数组(包含longitude和latitude属性)。必须至少包含2个坐标对(起点和终点)。最多支持25个坐标。 |
alternatives | boolean 可选 | 是否尝试返回备选路线(true)或不返回(false,默认)。最多可返回两条备选路线。 |
arrive_by | string 可选 | ISO 8601格式的期望到达时间(YYYY-MM-DDThh:mm:ssZ、YYYY-MM-DDThh:mmss±hh:mm或YYYY-MM-DDThh:mm)。此参数仅适用于driving配置文件,不适用于其他配置文件(包括driving-traffic)。行程时间基于历史和实时交通数据计算。 |
depart_at | string 可选 | ISO 8601格式的出发时间(YYYY-MM-DDThh:mm:ssZ、YYYY-MM-DDThh:mmss±hh:mm或YYYY-MM-DDThh:mm)。此参数仅适用于driving和driving-traffic配置文件。行程时间基于历史和实时交通数据计算。 |
exclude | string 可选 | 是否从路线中排除某些道路类型和自定义位置。多个值可用逗号分隔列表指定。可用选项: - 所有配置文件:ferry、cash_only_tolls - 仅Driving/Driving-traffic配置文件:motorway、toll、unpaved、tunnel、country_border、state_border或point( 对于自定义位置,可使用点排除(注意lng和lat用空格分隔,最多允许50个点) 注意:country_border排除所有受控国家边界;申根区内的边界不排除。 |
geometries | string 可选 | 返回的几何图形格式。选项: - none(默认):不返回几何对象,不需要中间坐标时使用 - geojson:作为GeoJSON LineString(可能很长,因为可能有很多点) |
max_height | number 可选 | 车辆最大高度(米)。路线API将计算仅包含高度限制大于或等于车辆最大高度的道路的路线。必须在0-10米之间。默认值为1.6米。仅适用于driving和driving-traffic配置文件。 |
max_weight | number 可选 | 车辆最大重量(公吨,1000 kg)。路线API将计算仅包含重量限制大于或等于车辆最大重量的道路的路线。必须在0-100公吨之间。默认值为2.5公吨。仅适用于driving和driving-traffic配置文件。 |
max_width | number 可选 | 车辆最大宽度(米)。路线API将计算仅包含宽度限制大于或等于车辆最大宽度的道路的路线。必须在0-10米之间。默认值为1.9米。仅适用于driving和driving-traffic配置文件。 |
routing_profile | string 可选 | 不同交通方式的路线配置文件。选项: - driving-traffic(默认):考虑当前交通状况的汽车路线 - driving:基于典型交通的汽车路线 - walking:步行/徒步路线 - cycling:自行车路线 |
此工具为只读,不修改环境。
此工具与外部实体交互。
工具:isochrone_tool
计算从某个位置在指定时间内可到达的区域,并以GeoJSON格式的多边形或线串轮廓返回可到达区域,可显示在地图上。
常见用例:
- 向用户显示从当前位置X分钟内可到达的范围
- 确定目的地是否在特定行程时间阈值内
- 比较不同交通方式的行程范围
| 参数 | 类型 | 描述 |
|---|---|---|
coordinates | object | 等时线围绕的坐标对象(包含longitude和latitude属性)。经度:-180至180,纬度:-85.0511至85.0511 |
generalize | number | 用于简化几何图形的正数值(米)。 - 步行:使用0-500。短轮廓(分钟<10或米<5000)推荐50-200,长轮廓推荐300-500 - 驾驶:使用1000-5000。起始2000,分钟>10或米>20000时使用3000,接近60分钟或***米时使用4000-5000 |
contours_colors | array 可选 | 轮廓颜色(十六进制字符串,不带#开头,例如ff0000表示红色)。如果提供,必须与contours_minutes或contours_meters长度匹配。 |
contours_meters | array 可选 | 距离(米)。距离必须按递增顺序排列。必须指定contours_minutes或contours_meters之一。 |
contours_minutes | array 可选 | 时间轮廓(分钟)。时间必须按递增顺序排列。必须指定contours_minutes或contours_meters之一。 |
denoise | number 可选 | 可用于移除较小轮廓的浮点值。值为1.0将仅返回给定值的最大轮廓。 |
depart_at | string 可选 | ISO 8601日期时间字符串表示出发时间(格式:YYYY-MM-DDThh:mmss±hh:mm)。 |
exclude | array 可选 | 从路线中排除的某些道路类型和自定义位置。 |
polygons | boolean 可选 | 是否返回多边形(true)或线串(false)。 |
profile | string 可选 | 交通方式。 |
此工具为只读,不修改环境。
此工具与外部实体交互。
工具:matrix_tool
使用Mapbox Matrix API计算多个点之间的行程时间和距离。
| 参数 | 类型 | 描述 |
|---|---|---|
coordinates | array | 坐标对象数组(包含longitude和latitude属性)。必须至少包含2个坐标对。大多数配置文件最多支持25个坐标(driving-traffic为10个)。 |
profile | string | 不同交通方式的路线配置文件。选项: - driving-traffic:考虑当前交通状况的汽车路线(限制10个坐标) - driving:基于典型交通的汽车路线 - walking:步行/徒步路线 - cycling:自行车路线 |
annotations | string 可选 | 指定结果矩阵。可能值:duration(默认)、distance或两者用逗号分隔。 |
approaches | string 可选 | 分号分隔的列表,指示到达路点的道路一侧。接受"unrestricted"(默认,路线可从道路任一侧到达路点)或"curb"(路线将到达路点所在区域的driving_side一侧)。如果提供,approaches数量必须与路点数量相同。可使用;分隔符跳过坐标并显示其位置。 |
bearings | string 可选 | 分号分隔的航向和允许偏差列表,指示移动方向。每个位置输入两个逗号分隔值:从正北顺时针测量的航向(0-360),以及角度允许偏差范围(推荐值45°或90°),格式为{angle,degrees}。如果提供,bearings数量必须等于坐标数量。可使用;分隔符跳过坐标并显示其在列表中的位置。 |
destinations | string 可选 | 使用给定索引的坐标作为目的地。可能值:0-based索引的分号分隔列表,或"all"(默认)。"all"允许使用所有坐标作为目的地。 |
sources | string 可选 | 使用给定索引的坐标作为起点。可能值:0-based索引的分号分隔列表,或"all"(默认)。"all"允许使用所有坐标作为起点。 |
此工具为只读,不修改环境。
此工具与外部实体交互。
工具:reverse_geocode_tool
查找指定地理坐标对周围的地址、城市、城镇、社区、邮政编码、地区、区域和国家。将地理坐标(经度、纬度)转换为人类可读的地址或地点名称。使用limit=1可获得最佳结果。此工具无法反向地理编码企业、地标、历史遗迹和其他非上述类型的兴趣点。支持JSON和文本输出格式。
| 参数 | 类型 | 描述 |
|---|---|---|
latitude | number | 要反向地理编码的纬度坐标 |
longitude | number | 要反向地理编码的经度坐标 |
country | array 可选 | 限制结果的ISO 3166 alpha 2国家代码数组 |
format | string 可选 | 输出格式:"json_string"返回原始GeoJSON数据(可解析的JSON字符串);"formatted_text"返回包含地点名称、地址和坐标的人类可读文本。两者均返回文本内容,但json_string包含可解析的JSON数据,而formatted_text用于显示。 |
language | string 可选 | 响应的IETF语言标签(例如:"en"、"es"、"fr"、"de"、"ja") |
limit | number 可选 | 最大结果数(1-5)。使用1可获得最佳结果。如果需要超过1个结果,必须在types参数中指定确切类型。 |
permanent | boolean 可选 | 结果是否可永久存储 |
types | array 可选 | 过滤结果的要素类型数组 |
worldview | string 可选 | 返回特定区域视角的要素 |
此工具为只读,不修改环境。
此工具与外部实体交互。
工具:search_and_geocode_tool
搜索POI、品牌、连锁店,地理编码城市、城镇、地址。不要用于通用地点类型(如"博物馆"、"咖啡店"、" tacos"等),因为category_search_tool更适合此类查询。强烈建议设置proximity点以获得更本地的结果。
| 参数 | 类型 | 描述 |
|---|---|---|
q | string | 搜索查询文本。限制为256个字符。 |
auto_complete | boolean 可选 | 启用部分和模糊匹配 |
bbox | object 可选 | 限制结果在[minLon, minLat, maxLon, maxLat]范围内的边界框 |
country | array 可选 | 限制结果的ISO 3166 alpha 2国家代码数组 |
eta_type | string 可选 | 请求结果的预计到达时间(ETA) |
language | string 可选 | 响应的ISO语言代码(例如:"en"、"es"、"fr"、"de"、"ja") |
navigation_profile | string 可选 | ETA计算的路线配置文件 |
origin | object 可选 | 起点坐标 |
poi_category | array 可选 | 要包含的POI类别数组(例如:["restaurant", "cafe"]) |
proximity | string 可选 | 偏向结果的位置。可以是[longitude, latitude]或"ip"(基于IP的位置)。强烈建议用于相关结果。 |
types | array 可选 | 过滤结果的要素类型数组(例如:["poi", "address", "place"]) |
此工具为只读,不修改环境。
此工具与外部实体交互。
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表。
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务