mcpField
M
Mapbox MCP Server

Mapbox MCP Server

远程服务
github.com/mapbox地图与出行363今天更新
代码仓库

关于 Mapbox MCP Server

Mapbox MCP Server 是基于 Node.js 实现的 MCP 服务,为 AI 应用提供 Mapbox 的地理编码、地点搜索、路线规划、等时圈和地图渲染等能力。它适合构建旅行助手、物流优化或基于位置的推荐等应用。该服务需要 Mapbox 访问令牌,并提供托管的 MCP 端点。

主要功能

  1. 01地理编码与兴趣点搜索
  2. 02驾车、步行、骑行路线规划
  3. 03旅行时间矩阵与路线优化
  4. 04GPS 轨迹匹配到道路网络
  5. 05离线几何计算与交互式地图渲染

适用场景

  1. 01为旅行助手查询地点并规划导航路线
  2. 02计算多个站点之间的旅行时间矩阵
  3. 03在聊天中显示路线或自定义 GeoJSON 地图

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 Mapbox 的地理与路线工具,以及静态参考数据资源。若客户端不支持资源,可启用备用工具读取这些资源。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.mapbox.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npm@mapbox/mcp-server99.0.0-dev

工具

详细介绍

Mapbox MCP 服务

npm version

用于 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 等常用客户端中启用它。详情见下文。

Mapbox MCP 服务演示

使用方法

使用此 MCP 服务需要 Mapbox 访问令牌。

托管 MCP 端点

如需快速接入,可以使用我们托管的 MCP 端点:

端点:https://mcp.mapbox.com/mcp

有关不同客户端的详细设置说明和 API 使用方法,请参阅托管 MCP 服务指南。

获取 Mapbox 访问令牌:

  1. 在 mapbox.com/signup 注册免费的 Mapbox 账号
  2. 前往你的账号页面
  3. 创建新令牌,或使用默认的公开令牌

有关 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/read MCP 协议方法
  • 不支持资源的客户端:使用 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。

完整的标准和指南:

贡献者快速入门
  1. Fork 仓库并克隆你的 Fork
  2. 安装依赖项:npm install
  3. 按照我们的编码标准进行修改
  4. 运行测试和代码检查:npm test && npm run lint
  5. 为任何新功能添加测试
  6. 提交拉取请求,并附上清晰的说明

所有贡献都必须通过我们的 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 服务问题
Mapbox API 问题
维护承诺

此 MCP 服务由 Mapbox, Inc. 官方维护。我们提供:

  • 定期更新,以支持 Mapbox API 的新功能
  • 错误修复和安全更新
  • 与最新 MCP 协议版本兼容
  • 通过 GitHub issues 提供社区支持

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

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

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