关于 Mapbox MCP Server
Mapbox MCP Server 是基于 Node.js 实现的 MCP 服务,为 AI 应用提供 Mapbox 的地理编码、地点搜索、路线规划、等时圈和地图渲染等能力。它适合构建旅行助手、物流优化或基于位置的推荐等应用。该服务需要 Mapbox 访问令牌,并提供托管的 MCP 端点。
主要功能
- 01地理编码与兴趣点搜索
- 02驾车、步行、骑行路线规划
- 03旅行时间矩阵与路线优化
- 04GPS 轨迹匹配到道路网络
- 05离线几何计算与交互式地图渲染
适用场景
- 01为旅行助手查询地点并规划导航路线
- 02计算多个站点之间的旅行时间矩阵
- 03在聊天中显示路线或自定义 GeoJSON 地图
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 Mapbox 的地理与路线工具,以及静态参考数据资源。若客户端不支持资源,可启用备用工具读取这些资源。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.mapbox.com/mcpclaude mcp add --transport http mapbox https://mcp.mapbox.com/mcp{"mcpServers":{"mapbox":{"type":"http","url":"https://mcp.mapbox.com/mcp"}}}在 Cursor 中打开{"servers":{"mapbox":{"type":"http","url":"https://mcp.mapbox.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"mapbox":{"type":"http","url":"https://mcp.mapbox.com/mcp"}}}{"mcpServers":{"mapbox":{"serverUrl":"https://mcp.mapbox.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Mapbox MCP 服务
用于 Mapbox API 的 Node.js 服务,实现了模型上下文协议(MCP)。
为 AI 应用解锁地理空间智能
Mapbox MCP 服务通过无缝接入 Mapbox 全面的位置信息平台,将任何 AI Agent 或应用转变为具备地理空间感知能力的系统。借助此服务,你的 AI 可以理解地点并进行推理、探索现实世界,并访问丰富的地理空间数据,包括:
- 全球地理编码,可将地址和地点名称转换为坐标,反之亦然
- 兴趣点(POI)搜索,可搜索全球数百万家商户、地标和地点
- 多模式路线规划,支持驾车、步行和骑行,并提供实时交通信息
- 出行时间矩阵,用于分析可达性并优化物流
- 路线优化,为多个停靠点规划最优访问顺序(旅行商问题)
- 地图匹配,将 GPS 轨迹吸附到道路网络,以便清晰地可视化路线
- 等时圈生成,可视化在特定时间或距离限制内能够到达的区域
- 实时交互式地图渲染(
render_map_tool),可直接在聊天中通过真实的 Mapbox GL JS 地图显示路线、搜索结果和你自己的自定义 GeoJSON - 静态地图图像,用于创建地点、路线和地理数据的可视化表示
- 离线地理空间计算,无需调用 API 即可进行距离、面积、方位角、缓冲区和空间分析计算
无论你是在构建 AI 旅行助手、物流优化工具、基于位置的推荐系统,还是任何需要理解“位置”的应用,Mapbox MCP 服务都能提供实现这一切所需的空间智能。你也可以在 Claude Desktop 和 VS Code 等常用客户端中启用它。详情见下文。

使用方法
使用此 MCP 服务需要 Mapbox 访问令牌。
托管 MCP 端点
如需快速接入,可以使用我们托管的 MCP 端点:
有关不同客户端的详细设置说明和 API 使用方法,请参阅托管 MCP 服务指南。
获取 Mapbox 访问令牌:
- 在 mapbox.com/signup 注册免费的 Mapbox 账号
- 前往你的账号页面
- 创建新令牌,或使用默认的公开令牌
有关 Mapbox 访问令牌的更多信息,请参阅 Mapbox 访问令牌文档。
集成指南
有关不同集成方式的详细设置说明,请参阅以下指南:
- Claude Desktop 设置 - 配置 Claude Desktop 以使用此 MCP 服务的说明
- Goose 设置 - 设置 Goose AI Agent 框架
- VS Code 设置 - 在 Visual Studio Code 中设置开发环境
- Cursor AI IDE 设置 - 在 Cursor AI IDE 中设置开发环境
- Smolagents 集成 - 展示如何将 Smolagents AI Agent 连接到 Mapbox 工具的示例
- 直接导入工具 - 无需运行 MCP 服务,即可在自己的应用中使用 Mapbox 工具
render_map_tool指南 - 地图可视化基本工具:完整的负载架构,以及如何独立渲染自己的数据,无需使用任何其他 Mapbox 工具- 用户确认请求 - 了解
search_and_geocode_tool和directions_tool如何请求用户消除结果歧义或选择路线,以及在客户端不支持此功能时如何妥善回退
示例提示词
完成设置后,可在 Claude Desktop 或其他 MCP 客户端中尝试这些提示词:
位置定位
对于以坐标为起点的查询——“我附近有什么”、“这里是什么街区”、“N 分钟内能到哪里”——请使用 ground_location_tool。它会在一次调用中组合反向地理编码、类别搜索和等时圈,并根据查询自适应地选择合适的策略,返回带引用的类型化记录(名称、地址、坐标、距离、可达范围多边形)。
以下四个提示词分别通过一次工具调用测试不同的策略:
- 街区 — “47.6097, -122.3408 是什么街区,我附近有什么?”
- 兴趣点 — “40.7580, -73.9855 附近步行 10 分钟范围内的咖啡店”
- 区域 — “从 37.7749, -122.4194 步行 15 分钟能到哪里?”
- 路线规划 — “34.0522, -118.2437 附近最近的可通行上下车点”
位置发现
- “查找帝国大厦步行可达范围内的咖啡店”
- “我想从西雅图去波特兰,沿途有星巴克吗?”
- “显示波士顿到纽约路线沿途的加油站”
- “时代广场附近有什么餐厅?”
导航与出行
- “获取从 LAX 到好莱坞的驾车路线,并考虑当前交通状况”
- “从中央公园步行到时代广场需要多长时间?”
- “计算高峰时段从我的酒店(Four Seasons)乘出租车到 JFK Airport 的出行时间”
可视化与地图
- “使用 Mapbox 地图渲染工具,显示旧金山金门大桥到联合广场的路线” — 在真实的 Mapbox 地图上渲染实时交互式路线
- “创建一张地图图片,显示从金门大桥到渔人码头的路线,并在两个地点添加标记”
- “显示曼哈顿的卫星视图,并标记主要地标”
- “生成一张地图,突出显示西雅图市中心方圆一英里内的所有星巴克门店”
- “在这些坐标上显示填充多边形:[...],并在 [...] 处放置一个标注为‘仓库’的标记” — 通过
render_map_tool直接渲染你自己的 GeoJSON,无需其他 Mapbox 工具
分析与规划
- “显示从波特兰市中心驾车 30 分钟内可到达的区域”
- “计算丹佛的 3 家酒店(Marriott、Sheraton 和 Hilton)到会议中心之间的出行时间矩阵”
- “规划一条游览旧金山这 3 个景点(金门大桥、音乐阶梯和渔人码头)的最优路线”
- “为以下 8 个地址优化配送路线:[地址列表]”
GPS 与路线匹配
- “清理这段 GPS 轨迹,并在道路上显示实际路线:[包含时间戳的坐标列表]”
- “将这次记录的自行车骑行轨迹匹配到骑行路网:[GPS 坐标]”
- “将这条驾车路线匹配到道路网络,并显示交通拥堵程度”
离线地理空间计算
- “这两个坐标之间的距离是多少英里?”
- “计算这个多边形的面积,单位为平方公里”
- “坐标 37.7749°N, 122.4194°W 的点是否位于这个服务区域多边形内?”
- “旧金山到纽约的方位角是多少?”
- “求伦敦和巴黎的中点”
- “围绕这个位置创建一个 5 英里缓冲区”
- “计算这个街区边界的质心”
- “这些路线坐标的边界框是什么?”
- “简化这个复杂多边形,减少点的数量”
提升结果质量的提示
- 明确指定地点(使用完整地址或地标名称)
- 指定首选出行方式(驾车、步行、骑行)
- 在适用时注明时间限制(“高峰时段”“下午 3 点”)
- 需要时指定输出格式(“地图图片”“JSON 格式”)
详细示例: 请参阅 examples/search-along-route.md,了解不同用例下 search-along-route 提示词的完整示例,以及 MCP Inspector 测试说明。
资源
MCP 服务会将静态参考数据作为 MCP 资源公开。资源提供对数据的只读访问,客户端无需调用工具即可直接引用这些数据。
可用资源
Mapbox 分类资源
URI 模式:mapbox://categories 或 mapbox://categories/{language}
访问可用于分类搜索工具的完整分类 ID 列表。分类可用于按类型筛选搜索结果(例如,“餐厅”“酒店”“加油站”)。
示例:
mapbox://categories- 默认(英语)分类列表mapbox://categories/ja- 日语分类名称mapbox://categories/es- 西班牙语分类名称
访问资源:
- 支持原生 MCP 资源的客户端:使用
resources/readMCP 协议方法 - 不支持资源的客户端:使用
resource_reader_tool和资源 URI
丰富的地图预览(render_map_tool)
此服务中的每个地理空间工具(路线规划、等时圈、搜索等)都可以通过 render_map_tool 将结果显示为实时交互式 Mapbox GL JS 地图,这是服务唯一的可视化原语。它通过 MCP Apps 协议(@modelcontextprotocol/ext-apps)将地图渲染为聊天中的独立 HTML 面板,并在支持的客户端中提供全屏切换功能:
- Claude Desktop ✅
- 支持 GitHub Copilot 的 VS Code ✅
- Claude Code ✅
- Goose ✅
使用它不需要此服务的任何其他工具。 render_map_tool 也可以直接接收手动编写的 GeoJSON——包括你自己的多边形、标记和路线——无需依赖 directions_tool、isochrone_tool 或任何其他 Mapbox API 调用。有关载荷架构和完整独立示例,请参阅 render_map_tool 完整指南。
如果你需要在不支持 MCP Apps 的客户端中获得可靠的静态图像,请改用 static_map_image_tool——它会返回 base64 编码的 PNG/JPEG,所有客户端都能显示。
CLIENT_NEEDS_RESOURCE_FALLBACK
资源回退工具(非兼容客户端可选择启用)
资源是 MCP 的核心功能,大多数客户端(Claude Desktop、VS Code、MCP Inspector 等)都支持。不过,有些客户端(例如 smolagents)完全不支持资源。对于这些客户端,服务可以提供“资源回退工具”,通过工具调用提供与资源相同的内容。
回退工具:
resource_reader_tool- 根据 URI 读取任意资源的通用回退工具category_list_tool- 提供对分类列表(mapbox://categories)的访问
默认情况下,不包含这些工具(假定客户端支持资源)。如果客户端不支持资源,请启用回退工具:
export CLIENT_NEEDS_RESOURCE_FALLBACK=true
何时设置此项:
- ✅ 如果使用 smolagents 或其他不支持资源的客户端,请设为
true - ❌ 如果使用 Claude Desktop、VS Code、MCP Inspector 或任何支持资源的客户端,请保持未设置(默认)
- ❌ 如果不确定,请保持未设置(大多数客户端都支持资源)
工具
实用工具
资源读取工具
为不支持原生 MCP 资源 API 的客户端提供 MCP 资源访问能力。可使用此工具读取分类列表等资源。
参数:
uri:要读取的资源 URI(例如,mapbox://categories、mapbox://categories/ja)
用法示例:
- 读取默认分类:
{"uri": "mapbox://categories"} - 读取日语分类:
{"uri": "mapbox://categories/ja"}
注意:如果 MCP 客户端支持原生资源,请优先直接使用资源 API,以获得更好的性能。
离线地理空间工具
这些工具完全离线执行地理空间计算,无需调用 Mapbox API。它们使用 Turf.js 进行精确的地理计算,可在任何地方使用,即使没有互联网连接也能正常工作。
距离工具
使用 Haversine 公式计算两个地理坐标之间的距离。
功能:
- 支持多种单位:千米、英里、米、英尺、海里
- 精确计算大圆距离
- 无需调用 API
使用示例:“旧金山(北纬 37.7749°,西经 122.4194°)和纽约(北纬 40.7128°,西经 74.0060°)之间的距离是多少?”
多边形内点工具
测试一个或多个点是否位于多边形或多多边形内,并仅返回位于其中的点。一次调用即可处理单个点或一批点。
功能:
- 适用于包含孔洞的复杂多边形
- 支持多多边形
- 一次调用即可批量测试任意数量的点
- 适用于地理围栏、配送区域验证和客户细分
使用示例:“这些配送地址中,哪些位于我们的服务区域内?”
目的地工具
根据起点、方位角和距离,使用测地线(大圆)偏移计算目的地点。
功能:
- 直线偏移,而非沿路线行进
- 适用于“查找 X 以北 5 km 处的点”或构建搜索偏移
- 无需调用 API
使用示例:“太空针塔东北方向 10 km 处是什么位置?”
方位角工具
计算从一个坐标到另一个坐标的罗盘方向(方位角)。
功能:
- 返回以度为单位的方位角(0-360°)
- 提供罗盘方位(N、NE、E、SE、S、SW、W、NW)
- 适用于导航和方向查询
使用示例:“从这里去机场,我该朝哪个方向走?”
中点工具
查找沿大圆路径连接两个坐标的地理中点。
功能:
- 计算地球曲面上的真实中点
- 适用于推荐会面地点
- 正确处理长距离计算
使用示例:“旧金山和纽约的中点在哪里?”
质心工具
计算多边形或多多边形的几何中心(质心)。
功能:
- 适用于复杂形状
- 返回所有点的算术平均值
- 适用于放置标签或标记
使用示例:“我应该把标记放在这个社区边界的什么位置?”
面积工具
计算多边形的面积。
功能:
- 支持多种单位:平方米、平方千米、英亩、公顷、平方英里、平方英尺
- 精确计算地球表面的面积
- 适用于任意大小的多边形
使用示例:“这个公园的面积是多少英亩?”
边界框工具
计算包含某个几何图形的最小边界框(bbox)。
功能:
- 适用于点、线、多边形和多多边形
- 返回 [minLongitude, minLatitude, maxLongitude, maxLatitude]
- 适用于视口计算和空间索引
使用示例:“这条路线的边界框是什么?”
缓冲区工具
围绕点、线或多边形创建缓冲区(多边形)。
功能:
- 支持多种距离单位
- 围绕点创建圆形缓冲区
- 适用于邻近分析和创建影响区
使用示例:“显示此位置周围 5 km 的缓冲区”
简化工具
使用 Douglas-Peucker 算法减少线或多边形的顶点数量。
功能:
- 可配置细节级别的容差
- 在降低复杂度的同时保留整体形状
- 适用于减小文件大小并提升渲染性能
- 可选择保持拓扑结构(防止自相交)
使用示例:“简化这个复杂边界,减少点的数量”
长度工具
测量由一系列坐标定义的线的总长度。
功能:
- 支持千米、英里、米和英尺
- 适用于测量绘制的路线、路径或边界,无需调用路线规划 API
使用示例:“这条徒步路线有多长?”
凸包工具
计算一组点的凸包——包含所有点的最小凸多边形。
功能:
- 适用于边界区域分析或覆盖面积估算
- 可离线运行,无需调用 API
使用示例:“包含所有这些商店位置的最小多边形是什么?”
最近点工具
在一个点集合中,查找距离给定目标点最近的点。
功能:
- 比对每个候选点调用
distance_tool再排序更高效 - 适用于查找距离某个位置最近的商店、站点或地标
使用示例:“这些商店中,哪一家离我现在的位置最近?”
线上的最近点工具
将一个点吸附到某条线或路线上的最近位置,并返回该点及其与原点的距离。
功能:
- 适用于回答“这条路线上的哪个点离我最近?”或无需调用 API 即可进行地图匹配
使用示例:“我现在离这条徒步路线上的哪个位置最近?”
并集、交集和差集工具
合并或比较两个或多个多边形——union_tool 将它们合并为一个几何图形,intersect_tool 查找它们共有的区域,difference_tool 则从一个多边形中减去另一个多边形。
功能:
- 适用于合并服务区域、查找覆盖范围重叠部分或计算排除区域(例如:“区域 A 覆盖了哪些区域,而区域 B 没有覆盖?”)
- 完全离线运行,无需调用 API
- 每个工具都会返回一个
render_map_tool引用,可直接将结果可视化
使用示例:“将这两个配送区域合并为一个覆盖区域” / “这两个等时圈的重叠区域在哪里?” / “这个服务区域中有哪些部分不在我们的 15 分钟等时圈覆盖范围内?”
Mapbox API 工具
类别列表工具(已弃用)
⚠️ 已弃用:请改用带有 URI mapbox://categories 的 resource_reader_tool,或者在客户端支持 MCP 资源时直接访问 mapbox://categories 资源。
为保持向后兼容,此工具仍会提供给不支持 MCP 资源或 resource_reader_tool 的客户端。
矩阵工具
使用 Mapbox Matrix API 计算多个点之间的行程时间和距离。功能包括:
- 高效计算单对多、多对单或多对多路线
- 支持不同出行方式(驾车交通、驾车、步行、骑行)
- 可指定出发时间,以进行感知交通状况的计算
- 汇总路线的距离和时长指标
- 控制接近方式(路缘/不受限制)以及允许的出发方位范围
静态图像工具
使用 Mapbox 静态图像 API 生成静态地图图像。功能包括:
- 自定义地图样式(街道、户外、卫星等)
- 可调整图像尺寸和缩放级别
- 支持添加带有自定义颜色和标签的多个标记
- 支持叠加折线和多边形
- 自动适配指定坐标范围
类别搜索工具
使用 Mapbox Search Box 类别搜索 API 按类别搜索。功能包括:
- 按类别搜索兴趣点(餐馆、酒店、加油站等)
- 按地理距离筛选
- 可自定义结果数量限制
- 每条结果均包含丰富的元数据
- 支持多种语言
反向地理编码工具
使用 Mapbox Geocoding V6 API 进行反向地理编码。功能包括:
- 将地理坐标转换为易读的地址
- 可自定义详细程度(街道、社区、城市等)
- 按类型筛选结果(地址、兴趣点、社区等)
- 支持多种语言
- 提供丰富的位置上下文信息
地点周边查询工具
一次调用即可回答“这个坐标附近有什么?”——提供地点名称、附近兴趣点和出行时间可达范围,数据来自 Mapbox 实时数据,并附有引用。请使用此工具,而不是依次调用 reverse_geocode_tool 和网页搜索。
功能:
- 对查询进行分类(路线规划、周边环境、兴趣点搜索或区域/可达范围),并仅获取相关数据
- 按类别搜索附近兴趣点(按需)
- 出行时间可达范围摘要(基于等时圈)
- 返回
render_map_tool引用,在地图上标出有依据的地点和附近兴趣点
使用示例:“这个坐标属于哪个街区?附近有咖啡店吗?”
地点详情工具
使用 Mapbox ID 获取特定地点的详细信息,包括照片、营业时间、评分、电话号码和网站 URL。可在调用 search_and_geocode_tool、category_search_tool 或 reverse_geocode_tool 后,获取特定搜索结果的更多详情。
使用示例:“详细介绍一下第一个咖啡店搜索结果——营业时间、电话号码和网站。”
路线规划工具
使用 Mapbox Directions API 获取路线指引。功能包括:
- 支持不同的路线规划模式:驾车(实时路况或典型路况)、步行和骑行
- 支持多个途经点的路线规划(2–25 组坐标对)
- 可选择备选路线
- 路线注释(距离、时长、速度、拥堵情况)
- 时间安排选项:
- 为驾车和实时路况驾车模式设置未来出发时间(
depart_at) - 仅为驾车模式设置期望到达时间(
arrive_by)
- 为驾车和实时路况驾车模式设置未来出发时间(
- 特定模式的优化选项:
- 驾车:车辆尺寸限制(高度、宽度、重量)
- 路线规划的排除选项:
- 常见排除项:渡轮路线、仅接受现金的收费道路
- 驾车专用排除项:收费道路、高速公路、未铺装道路、隧道、国界、州界
- 自定义排除点(最多可避开 50 个地理点)
- GeoJSON 几何数据输出格式
等时圈工具
使用 Mapbox Isochrone API,计算从某个地点出发,在指定时间内可到达的区域。功能包括:
- 支持不同的出行模式(驾车、步行、骑行)
- 可自定义出行时间或距离
- 生成多个范围等时圈(例如,15、30、45 分钟范围)
- 可选指定出发或到达时间
- 可自定义可视化颜色
搜索与地理编码工具
使用 Mapbox Search Box Text Search API 端点,搜索兴趣点、地址、地点及该 API 支持的其他类型,并进行地理编码。 此工具将此前由 ForwardGeocodeTool 和 PoiSearchTool(来自此 MCP 服务的早期版本)分别提供的功能整合为一个工具。
地图匹配工具
使用 Mapbox Map Matching API,将 GPS 轨迹匹配到道路网络。功能包括:
- 将有噪声的 GPS 轨迹转换为道路网络上的清晰路线
- 支持不同的出行模式(驾车、实时路况驾车、步行、骑行)
- 每次请求最多处理 100 组坐标对
- 可选提供时间戳,以根据速度提高准确度
- 可根据不同的 GPS 质量等级配置吸附半径
- 路线注释(限速、距离、时长、交通拥堵情况)
- 多种几何数据输出格式(GeoJSON、polyline)
使用示例:“清理这段 GPS 轨迹,并将其匹配到道路上:[带时间戳的坐标]”
优化工具
使用 Mapbox Optimization API 查找经过多个地点的最优路线。功能包括:
- 求解 2-12 个地点的旅行商问题(TSP)
- 支持不同的出行方式(驾车、驾车并考虑交通状况、步行、骑行)
- 灵活配置起点和终点
- 优化环线或单程行程
- 转弯导航指示(可选)
- 路线注释(距离、时长、速度)
- 多种几何图形输出格式(GeoJSON、polyline)
使用示例:“查找游览以下 5 个站点的最优路线:[地址或坐标列表]”
注意:V2 API 提供高级功能(时间窗、容量限制、多辆车),但需要 beta 访问权限。代码库中包含 V2 实现,但默认未注册。
反馈工具
通过 Mapbox Feedback API(公开预览版)向 Mapbox 报告 Mapbox 地图、地点或路线数据的问题。Mapbox 会审核每条报告,并可能修正数据。适用于以下情况:
- 地点已关闭、详情有误或位置不正确
- 找不到地点或地址
- 道路已关闭、限速有误或交通状况显示错误
- 路线包含不合法的转弯或入口,或者根本没有路线
该工具会发送报告文本、类别和位置,并返回报告 ID 和状态。未经用户同意不会发送任何内容:支持征询功能的客户端会先显示确认提示;其他情况下,工具描述会要求模型在聊天中确认。
每条报告都可能产生费用(Feedback API 退出公开预览版后,每项收费 $0.02),因此发送前,工具会检查该账户过去 30 天内提交的报告。如果 50 米范围内存在同一类别且仍在等待审核的报告,工具会返回该报告,而不是发送新报告。Feedback API 只会列出该账户自己的报告,因此无法发现其他账户提交的报告。当用户表示自己的问题不同,send_anyway: true 可跳过检查。
要求:发送报告需要访问令牌具备 user-feedback:write 作用域,重复报告检查需要具备 user-feedback:read 作用域。若没有写入作用域,工具会返回相应错误。若没有读取作用域,工具会跳过检查并在结果中说明。要禁用此工具,请使用 --disable-tools feedback_tool 启动服务。
使用示例:“Mint St 上的 Blue Bottle 去年就关门了,你能向 Mapbox 报告吗?”
开发
检查服务
使用 Node.js
# Run the built image
npm run inspect:build
使用 Docker
# Build the Docker image
docker build -t mapbox-mcp-server .
# Run and inspect the server
npx @modelcontextprotocol/inspector docker run -i --rm --env MAPBOX_ACCESS_TOKEN="YOUR_TOKEN" mapbox-mcp-server
创建新工具
npx plop create-tool
# provide tool name without suffix (e.g. Search)
发布新版本
# 1. Bump version in package.json
npm version <new-version> --no-git-tag-version
# 2. Sync version to manifest.json and server.json
npm run sync-manifest
# 3. Prepare CHANGELOG (replaces "Unreleased" with version and date)
npm run changelog:prepare-release <new-version>
# 4. Update package-lock.json
npm install
# 5. Review changes, then commit and tag
git add package.json package-lock.json manifest.json server.json CHANGELOG.md
git commit -m "Release v<new-version>"
git tag v<new-version>
git push && git push --tags
重要:发布工作流会验证 package.json 和 server.json 中的版本是否与发布版本一致。跳过版本升级或清单同步会导致发布失败。
OpenTelemetry 跟踪
此 MCP 服务包含全面的 OpenTelemetry 跟踪功能,可用于生产环境的可观测性:
快速演示
# 1. Copy the example configuration
cp .env.example .env
# 2. Edit .env to add your MAPBOX_ACCESS_TOKEN and configure tracing
# 3. Start Jaeger for local development
npm run tracing:jaeger:start
# 4. Run the server (it will automatically use .env configuration)
npm run inspect:build
# 5. View traces at http://localhost:16686
# 6. Stop Jaeger when done
npm run tracing:jaeger:stop
**注意:**服务启动时会自动从 .env 文件加载配置。.env.example 文件中包含多个可观测性平台的配置示例。
支持的可观测性平台
.env.example 中包含以下平台的配置示例:
云服务提供商:
- ☁️ AWS X-Ray
- ☁️ Azure Monitor(Application Insights)
- ☁️ Google Cloud Trace
SaaS 平台:
- 📊 Datadog
- 📊 New Relic
- 📊 Honeycomb
- 📊 任何兼容 OTLP 的后端
生产环境配置
请参阅 docs/tracing.md,获取完整的设置说明,包括:
- 🔧 特定平台的配置指南
- 📊 身份验证和端点设置
- 🎯 自定义跟踪属性和上下文
- 🚀 性能优化(开销极低)
- 🔍 故障排查与调试
跟踪功能:
- ✅ 配置加载跟踪(.env 文件加载)
- ✅ 自动跟踪工具执行
- ✅ 使用 CloudFront 关联 ID 对 HTTP 请求进行检测
- ✅ 可配置的导出器(console、OTLP)
- ✅ 注重安全性(数据保护、JWT 验证)
- ✅ 适用于生产环境(CPU 开销低于 1%)
贡献
欢迎为 Mapbox MCP Server 贡献代码!提交拉取请求前,请阅读 CONTRIBUTING.md。
完整的标准和指南:
- CONTRIBUTING.md - 入门指南、PR 流程、快速参考
- 工程标准(docs/engineering_standards.md) - 完整的代码质量、测试、文档和协作标准
- Claude Code 指南(CLAUDE.md) - 使用 Claude Code 贡献代码时的标准和模式
- AI Agent 说明(AGENTS.md) - 其他 AI 编码助手(Cursor、Continue、Aider 等)的使用指南
- GitHub Copilot 指南 - 负责任地使用 GitHub Copilot 的最佳实践
贡献者快速入门
- Fork 仓库并克隆你的 Fork
- 安装依赖项:
npm install - 按照我们的编码标准进行修改
- 运行测试和代码检查:
npm test && npm run lint - 为任何新功能添加测试
- 提交拉取请求,并附上清晰的说明
所有贡献都必须通过我们的 CI 检查和代码审查流程。详细要求请参阅 docs/engineering_standards.md。
数据使用与隐私
发送到 Mapbox API 的数据
使用 MCP 服务工具时,以下数据会从你的环境直接发送到 Mapbox API:
- 地理编码工具:地址/位置文本、坐标、国家/地区筛选条件
- 搜索工具:搜索查询、用于计算邻近度的位置坐标、类别筛选条件
- 路线规划工具:起点/终点坐标、途经点、路线偏好、车辆限制
- 矩阵工具:多组坐标对、出行方式、出发时间
- 静态地图工具:坐标、缩放级别、样式偏好、标记信息
- 等时圈工具:起点坐标、时间/距离参数、出行方式
你的隐私
- 本地执行:所有 API 调用均从你的环境直接发送到 Mapbox API
- 令牌安全:你的 Mapbox API 令牌保留在本地计算机上,不会传输给此 MCP 服务,也不会由其存储
- 不存储数据:此 MCP 服务不会存储、记录或收集你的任何数据或 API 请求
- 直接通信:你与 Mapbox API 之间没有中间服务
第三方数据使用
- Mapbox 的隐私政策适用于发送到其 API 的数据:https://www.mapbox.com/legal/privacy/
- API 使用:通过这些工具发出的所有请求均遵循 Mapbox 的标准 API 条款
- 数据保留:请参阅 Mapbox 文档,了解其数据保留政策
支持与联系
MCP 服务问题
- 电子邮件:[email protected]
- GitHub Issues:报告 Bug 和功能请求
Mapbox API 问题
- Mapbox 支持:https://support.mapbox.com/
- 文档:https://docs.mapbox.com/
- API 状态:https://status.mapbox.com/
维护承诺
此 MCP 服务由 Mapbox, Inc. 官方维护。我们提供:
- 定期更新,以支持 Mapbox API 的新功能
- 错误修复和安全更新
- 与最新 MCP 协议版本兼容
- 通过 GitHub issues 提供社区支持
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。