推出 Mapbox MCP Server:为 AI 代理提供位置智能
Source: Dev.to
介绍
AI 代理每天都在变得更聪明——它们可以编写代码、分析数据并回答复杂问题。
但在了解事物所在位置方面,大多数代理都会遇到瓶颈。它们可以告诉你旧金山的餐厅,但却无法:
- 对地址进行地理编码
- 计算路线
- 判断两个地点是否在步行距离内
这就是Mapbox Model Context Protocol (MCP) Server的用武之地。它通过一个简单、标准化的接口,为 AI 代理提供 Mapbox 强大的位置服务。无需自定义 API 集成——只需将你的代理连接到 MCP 服务器,它即可立即:
- 对地址进行地理编码
- 规划路线
- 分析旅行时间
- 创建地图
示例
使用 MCP 构建的 AI 代理可以自然地处理位置查询并以可视化方式展示结果。
什么是模型上下文协议?
模型上下文协议是 Anthropic 创建的 开放标准,用于将 AI 模型连接到外部工具和数据源。可以把它想象成 AI 代理的 USB——一种在不同框架和平台之间通用的连接器。
与其为每个 API 编写自定义代码,你可以:
- 将你的代理连接到 MCP 服务器
- 服务器以标准化格式公开其工具
- 你的代理自动发现并使用这些工具
MCP 已得到诸如 CrewAI、LangGraph、Pydantic AI、Mastra 等流行框架的支持,以及 GitHub Copilot、Claude Desktop 等 AI 助手的支持。
Mapbox MCP 服务器 – 地理空间工具
The Mapbox MCP Server exposes nine powerful geospatial tools that give your agents comprehensive location intelligence.
| 工具 | 用途 | 示例用法 |
|---|---|---|
search_and_geocode_tool | 将地址/地点转换为坐标 | “查找 ‘1600 Pennsylvania Ave, Washington DC’ 的坐标” |
reverse_geocoding_tool | 将坐标转换为地址 | “38.8977, ‑77.0365 对应的地址是什么?” |
directions_tool | 计算点之间的路线 | “从 Boston 到 New York 的驾车路线(含交通情况)” |
matrix_tool | 多点之间的旅行时间 | “计算 3 个仓库 到 10 个地址 的配送时间” |
isochrone_tool | 在指定时间/距离内可达的区域 | “显示从市中心出发 30 分钟 可驾车到达的所有地点” |
static_image_tool | 生成地图图片 | “创建一张显示我的配送路线的地图” |
category_search_tool | 按类别查找兴趣点 (POI) | “查找 Central Park 附近的所有博物馆” |
resource_reader_tool | 访问参考数据 | “获取可用 POI 类别的列表” |
search_and_geocode_tool (Unified) | 前向地理编码 + POI 搜索合二为一 | 处理 “123 Main St”、 “Times Square 附近的 Starbucks”、 “Eiffel Tower” 等查询 |
亮点
- 交通感知路由 –
directions_tool支持实时交通、备选路线以及多种出行方式(驾车、步行、骑行)。 - 多点优化 –
matrix_tool能高效计算数十个地点之间的旅行时间——对物流和服务区分析至关重要。 - 可达性分析 –
isochrone_tool生成多边形,展示在特定时间或距离阈值内可达的区域。 - 可视化输出 –
static_image_tool创建可自定义的地图图片,支持标记、路线和叠加层——非常适合报告或通知使用。
使用 Mapbox MCP 服务器
您有 两种方式 使用该服务器:
1. 托管的 MCP 端点
Mapbox 提供了一个始终可用的托管 MCP 端点:
https://mcp.mapbox.com/mcp
身份验证
| 客户端类型 | 方法 |
|---|---|
| 交互式(Claude Desktop、VS Code 等) | 使用浏览器登录的 OAuth 流程 |
| 编程式(代理框架) | 使用您的 Mapbox 访问令牌的 Bearer‑token 身份验证 |
设置 – 交互式工具
在您的 MCP 设置中添加以下内容(通常是 settings.json 或类似的配置文件):
{
"mcpServers": {
"mapbox": {
"url": "https://mcp.mapbox.com/mcp"
}
}
}
Claude Desktop 配置位置
| 操作系统 | 路径 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
首次连接时,浏览器窗口会打开,要求您登录 Mapbox 账户并通过 OAuth 授权访问。
设置 – 编程式访问
- 创建一个 Mapbox 账户(免费套餐)——在此注册。
- 从账户仪表盘生成访问令牌。
在代码中将该令牌作为 Bearer token 使用(请参阅各框架的教程示例)。
参考资料: Hosted MCP Server Guide – 各客户端的详细设置。
优缺点
| 优点 | 缺点 |
|---|---|
| 无需本地安装或依赖 | 需要额外的网络跳转(您的机器 → 托管 MCP → Mapbox API) |
| 由 Mapbox 管理基础设施 | 需要稳定的互联网连接 |
| 始终可用且自动更新 | 对配置的控制较少 |
2. 本地运行 MCP 服务器
在本地运行服务器可让您拥有完整控制权——适合开发、调试或自定义。
前置条件
- Node.js LTS+(用于
npx方法)或 Python 3.10+ 并配合uv(用于uvx方法) - 一个 Mapbox 账户(免费套餐)——在此注册
- 您的 Mapbox 访问令牌
设置 – 交互式工具
在您的 MCP 设置中添加以下内容:
{
"mcpServers": {
"mapbox": {
"command": "npx",
"args": ["-y", "@mapbox/mcp-server"],
"env": {
"MAPBOX_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Claude Desktop 配置位置
| 操作系统 | 路径 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
运行服务器(Node)
npx -y @mapbox/mcp-server
运行服务器(Python/uv)
uvx @mapbox/mcp-server
优缺点
| 优点 | 缺点 |
|---|---|
| 对配置和依赖拥有完整控制 | 需要本地安装和维护 |
| 无额外网络跳转——直接调用 Mapbox API | 必须保持服务器运行并及时更新 |
| 适用于离线或高度自定义的环境 | 设置工作量稍大 |
关于 DevKit MCP 服务器的说明
Mapbox 还提供了 DevKit MCP Server(托管在 https://mcp-devkit.mapbox.com/mcp),旨在通过以下方式帮助开发者构建 Mapbox 应用:
- 代码示例
- 文档搜索
- 开发支持
本文重点介绍 用于位置情报的主 MCP 服务器。DevKit 将在后续文章中进行介绍。
快速入门指南
配置文件
| 平台 | 路径 |
|---|---|
| Claude Desktop | ort/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
运行服务器(命令行)
-
设置你的 Mapbox 访问令牌
export MAPBOX_ACCESS_TOKEN="your_token_here" -
启动服务器
Node.js(推荐)
npx -y @mapbox/mcp-serverPython(通过
uvx)pip install uv # if you don’t have uv yet uvx mapbox-mcp -
使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector npx -y @mapbox/mcp-server将打开一个网页 UI,让你探索已暴露的工具并进行交互式尝试。
示例自然语言请求
代理将自动发现合适的工具,调用它们,并返回简明答案(无需手动处理 API)。
| 请求 | 代理的操作 |
|---|---|
| “在帝国大厦步行距离内寻找咖啡店。” | 对帝国大厦进行地理编码 → 搜索咖啡店 → 返回列表 |
| “显示从波士顿到纽约路线上的加油站。” | 对两座城市进行地理编码 → 获取驾车路线 → 在路线折线沿线搜索加油站 |
| “时代广场附近有哪些餐厅?” | 对时代广场进行地理编码 → 搜索餐厅 → 返回结果 |
| “获取从 LAX 到好莱坞的驾车路线(实时交通)。” | 对 LAX 和好莱坞进行地理编码 → 路线规划(考虑交通) → 返回路线 |
| “从中央公园步行到时代广场需要多长时间?” | 对两个地点进行地理编码 → 步行路线 → 返回时长 |
| “计算从我的酒店(四季酒店)到 JFK 机场的出租车行程时间。” | 对酒店和机场进行地理编码 → 使用出租车模式规划路线 → 返回时长 |
| “访问 Salesforce 大厦、Twitter 总部和 Uber 总部的最快路线是什么?” | 对三个地点进行地理编码 → 优化访问顺序 → 路线规划 → 返回路线 |
| “创建一张显示从金门大桥到渔人码头路线的地图图片。” | 路线规划 → 静态地图生成 → 返回图片 URL |
| “显示曼哈顿的卫星视图,并标记关键地标。” | 静态地图(卫星)+ 标记 → 返回图片 |
| “生成一张突出显示西雅图市中心一英里范围内所有星巴克位置的地图。” | 搜索 → 按距离过滤 → 带标记的静态地图 |
| “显示从波特兰市中心驾车 30 分钟可达的区域。” | 等时线生成 → 返回多边形 |
| “计算 3 家酒店地点与会议中心之间的旅行时间矩阵。” | 矩阵 API → 返回矩阵 |
| “寻找访问旧金山 3 个旅游景点的最佳路线。” | 地理编码 → 优化 → 路线规划 |
| “我住在费尔蒙酒店。显示我步行 15 分钟可达的所有地点。” | 地理编码 → 步行等时线 → 返回多边形 |
| “从太空针塔开车到派克市场需要多长时间?” | 1. search_and_geocode_tool → 太空针塔 2. search_and_geocode_tool → 派克市场 3. directions_tool(驾车) → 返回 ≈ 8 分钟, 1.2 英里 |
Source: …
兼容性 – MCP‑Ready 客户端
| 框架 / 工具 | 语言 | 典型用途 |
|---|---|---|
| CrewAI | Python | 多代理协作 |
| LangGraph | Python | 有状态代理工作流 |
| Pydantic AI | Python | 类型安全的代理开发 |
| Mastra | TypeScript | 生产级 AI 应用 |
| Smolagents | Python | 轻量级代理(🤗 Hub) |
| Claude Desktop | – | Anthropic 的 AI 助手 |
| ChatGPT | – | OpenAI 桌面应用 |
| Gemini CLI | – | Google 的命令行工具 |
| VS Code | – | MCP 扩展 |
| Cursor | – | AI 驱动的 IDE |
| Goose | – | 基于终端的 AI 助手 |
所有客户端遵循相同的基本流程:
- 配置 MCP 服务器连接。
- 将 配置添加到你的代理中。
- 代理会 自动发现 可用工具。
- 使用 自然语言 调用工具。
每个框架的详细教程即将推出。
为什么使用 MCP 而不是自定义 API 集成?
| 传统方法 | MCP 方法 |
|---|---|
| 手动编写地理编码逻辑、格式化坐标、处理错误、手动链式调用。 | 用自然语言描述目标;代理会处理所有事务。 |
| 手动发现工具并进行配置。 | 通过标准化的 MCP 架构自动发现工具。 |
| 框架特定代码。 | 编写一次,随处运行(框架无关)。 |
| 硬编码的工具链。 | 基于任务依赖的智能、动态工具链。 |
Real‑World Use Cases
- 酒店礼宾机器人(路线指引、本地推荐)
- 行程规划助手(多站点行程优化)
- 活动协调员(为参与者计算旅行时间)
- 配送车队路线优化
- 扩张规划的服务区域分析
- 仓库选址分析(客户分布)
- 房产列表的通勤时间计算器
- 学区及设施邻近性分析
- 社区边界可视化
- 技术员派遣优化
- 紧急响应时间计算
- 带精准导航的店铺定位器
- 服务覆盖区域映射
- 竞争性选址分析
资源
- Mapbox MCP Server – GitHub(源代码和文档)
- Hosted MCP Server Guide – 针对不同客户端的设置
- Model Context Protocol (MCP) Spec – 标准文档
- Mapbox API Docs – 底层 API 参考
- Support –
mcp-feedback@mapbox.com - Issues – GitHub Issues
- Community – 加入 MCP 社区的讨论
定价(标准 Mapbox API 费率)
| 服务 | 免费额度 |
|---|---|
| 地理编码 | 100 k requests / month |
| 路线规划 | 5 k requests / month |
| 矩阵 | Counts as origins × destinations requests |
| 静态地图 | 50 k requests / month |
免费额度对开发和小型项目来说非常慷慨。用于生产环境时,请查看完整的 Mapbox 定价页面。
入门
- 注册 Mapbox – 在注册页面获取免费访问令牌。
- 运行服务器(参见上文“Running the Server”)。
- 尝试 MCP Inspector 以探索工具。
- 选择一个框架 并开始构建具备位置感知的 AI 代理!
祝您绘图愉快! 🚀
入门
- 从 CrewAI、LangGraph 或您偏好的代理框架开始。
- 构建一些东西:查看我们的框架特定教程 (即将推出!).
接下来
- 在我们的下一篇文章中,我们将深入探讨使用 CrewAI 和 Mapbox MCP 构建 multi‑agent travel planning system,并提供可运行和自定义的完整代码。
即将推出
- Mapbox DevKit MCP Server 指南,帮助 AI 助手通过提供文档、示例和 API 指南来编写 Mapbox 代码——非常适合构建 Mapbox 应用的开发者。
联系我们
- 有问题或想分享您正在构建的内容?请发送邮件至 mcp-feedback@mapbox.com 或在 GitHub 上打开 issue。