claude code 接入 百度地图 mcp:把 MCP 配置改到 TaoToken 的完整实操
1. 为什么要在 Claude Code 里接百度地图 MCPClaude Code 是 Anthropic 推出的命令行编码代理它本身能读写文件、跑命令、查代码但它默认不知道「从 A 点到 B 点怎么走」「某个坐标附近有什么」。百度地图 MCP 就是补上这块能力的插件它把地理编码、路线规划、POI 搜索、天气查询这些接口包装成 Claude Code 可以直接调用的工具。你只要在对话里说「帮我查一下从西二旗到首都机场的驾车路线」Claude Code 就会自动去调百度地图的工具把结果拿回来继续推理。这套组合适合谁我总结了三类第一类是做本地生活、出行、物流相关项目的开发者需要在编码过程中快速验证地理数据第二类是写 Agent 应用的人想拿 Claude Code 当试验台先跑通 MCP 工具调用链路第三类是单纯想体验 MCP 协议怎么落地的工程师百度地图的接口文档清晰、返回结构规整是个很好的练手对象。但直接按百度官方文档配很多人会卡在两步一是 AKAPI Key的申请和配额管理二是 Claude Code 的 MCP 配置散落在~/.claude.json里多个 MCP Server 混在一起容易乱。我实测下来把 MCP 的请求通道统一收到 TaoToken 上Key 和 Base URL 集中管理配置文件更干净换机器时也好迁移。下面就从零开始把整条链路跑通。需要先说明一点百度地图 MCP 的官方地址是https://mcp.map.baidu.com/mcp?ak您的AK这个地址本身是百度提供的我们做的是在 Claude Code 侧把 MCP 配置写对同时把模型调用通道指向 TaoToken两者不冲突。TaoToken 官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 后面配置里会反复用到。2. TaoToken 前置准备Key、Base URL 与模型 ID在动 Claude Code 的配置文件之前先把 TaoToken 这边的三件套准备好API Key、Base URL、Model ID。这三样是 Claude Code 调用模型的凭据和百度地图 MCP 的 AK 是两回事别搞混。第一步打开 TaoToken 控制台。地址是 https://taotoken.net/console 用邮箱注册登录后左侧菜单找到「API Keys」。点「创建新 Key」起个名字比如claude-code-baidu-mcp权限选默认的对话权限即可。创建完会显示一串以sk-开头的字符串复制下来这个只显示一次丢了就得重建。第二步确认 Base URL。TaoToken 的 API 入口是 https://taotoken.net/api 注意末尾不要带斜杠。Claude Code 在配置 Anthropic 兼容通道时需要的是ANTHROPIC_BASE_URL这个环境变量值就填这个地址。有些教程会让你填/v1后缀实测下来 Claude Code 自己会拼路径填根地址就行。第三步选 Model ID。在控制台的「模型列表」里能看到当前可用的模型Claude 系列常用的有claude-sonnet-4-5、claude-opus-4-1等。记下你要用的那个 ID后面写进配置。如果你不确定选哪个先用claude-sonnet-4-5它在编码场景下速度和质量的平衡比较好。这里插一句关于 Coding Plan 的说明。如果你打算长期用 Claude Code 做开发而不是偶尔试一下可以看看 https://taotoken.net/coding-plan 这个页面。它针对编码场景做了额度优化比按量计费更适合高频调用。我自己的用法是日常小改动用按量整块功能开发切到 Coding Plan成本更可控。三件套准备好后建议先在浏览器或 curl 里验证一下 Key 是否有效避免后面配置写完了才发现 Key 是错的。验证命令在下一节给。3. 可复制的 MCP 与 Claude Code 配置片段这一节是核心所有配置都给你可复制的片段。Claude Code 的 MCP 配置写在用户目录下的~/.claude.json文件里Windows 是C:\Users\你的用户名\.claude.json。如果文件不存在直接新建一个。先看完整的~/.claude.json结构。注意mcpServers是顶层字段里面每个键是一个 MCP Server 的名字你可以自己起名但建议见名知意{ mcpServers: { baidu-maps: { type: http, url: https://mcp.map.baidu.com/mcp?ak你的百度地图AK } } }把你的百度地图AK替换成你在百度地图开放平台申请的 AK。申请路径是登录百度地图开放平台进入「控制台」→「应用管理」→「创建应用」应用类型选「服务端」然后勾选「地理编码」「路线规划」「地点检索」这几个服务。创建完在应用详情里能看到 AK复制过来即可。接下来是 Claude Code 调用模型的通道配置。Claude Code 读的是环境变量不是写在~/.claude.json里。你可以在 shell 的配置文件里设置比如~/.zshrc或~/.bashrcexport ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的TaoTokenKey export ANTHROPIC_MODELclaude-sonnet-4-5Windows 用户如果用 PowerShell可以写进$PROFILE$env:ANTHROPIC_BASE_URL https://taotoken.net/api $env:ANTHROPIC_API_KEY sk-你的TaoTokenKey $env:ANTHROPIC_MODEL claude-sonnet-4-5改完配置文件后记得source ~/.zshrc或重开终端让环境变量生效。验证环境变量是否生效跑一句echo $ANTHROPIC_BASE_URL应该输出https://taotoken.net/api。如果输出为空说明配置文件没被加载检查一下你改的是不是当前 shell 对应的文件。这里有个容易踩的坑~/.claude.json里如果已经有其他 MCP Server不要整个覆盖而是把baidu-maps这个键合并进去。比如你之前配过 filesystem MCP合并后应该是这样{ mcpServers: { filesystem: { command: npx, args: [-y, modelcontextprotocol/server-filesystem, /tmp] }, baidu-maps: { type: http, url: https://mcp.map.baidu.com/mcp?ak你的百度地图AK } } }JSON 对格式很敏感多一个逗号少一个引号都会导致解析失败。改完建议用python -m json.tool ~/.claude.json校验一下能正常输出格式化后的 JSON 就说明语法没问题。4. 启动 Claude Code 并验证百度地图工具注册配置写好后进入你的项目目录直接运行claude启动。启动过程中 Claude Code 会读取~/.claude.json尝试连接里面配置的 MCP Server。如果百度地图 MCP 连接成功你会在启动日志里看到类似MCP server baidu-maps connected的提示。进入交互界面后输入/mcp命令可以查看当前已注册的 MCP Server 列表和它们提供的工具。正常情况下你会看到baidu-maps下面挂着若干工具比如map_geocode地理编码、map_directions路线规划、map_search_places地点检索、map_weather天气查询等。工具名字可能随百度地图 MCP 版本略有差异但数量上应该有四五个。验证工具是否真的能用最直接的办法是发一条自然语言请求。比如帮我查一下北京南站到首都国际机场T3的驾车路线大概多远、多久Claude Code 收到后会判断这需要调用百度地图的路线规划工具然后自动发起 MCP 调用。你会在界面上看到它显示「正在调用 baidu-maps 的 map_directions」之类的状态。几秒后返回结果里面应该有距离、预计时间、主要路段这些信息。如果这一步成功了说明整条链路通了Claude Code → TaoToken 模型通道 → 模型决策调用工具 → 百度地图 MCP → 返回结果 → 模型整理输出。你可以再试一个 POI 搜索帮我找一下上海人民广场附近评分最高的三家咖啡店这个会触发地点检索工具。返回结果里应该有店名、地址、评分。如果两次都成功基本可以确认配置没问题。再补一个验证模型通道是否走 TaoToken 的方法。在 Claude Code 里输入/status有些版本会显示当前使用的 API Base URL。如果显示的是https://taotoken.net/api说明模型调用确实走了 TaoToken。如果显示的是 Anthropic 官方地址说明环境变量没生效回去检查ANTHROPIC_BASE_URL。5. 常见报错排查401、local proxy failed 与工具未注册配置过程中最容易遇到三类报错我逐个拆解。第一类401 Unauthorized。这个通常出现在模型调用阶段说明 TaoToken 的 Key 有问题。可能原因有三个Key 复制时多了空格、Key 被删除或过期、环境变量没生效。排查顺序是先用 curl 直接测 Keycurl https://taotoken.net/api/v1/messages \ -H x-api-key: sk-你的TaoTokenKey \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d {model:claude-sonnet-4-5,max_tokens:50,messages:[{role:user,content:hi}]}如果返回 401说明 Key 本身有问题去控制台重新生成一个。如果返回正常说明 Key 没问题是 Claude Code 读环境变量的方式不对检查echo $ANTHROPIC_API_KEY的输出。第二类local proxy failed或connection refused。这个一般出现在 MCP 连接阶段说明 Claude Code 连不上百度地图 MCP 的地址。可能原因是网络不通或者 URL 里的 AK 参数写错了。先确认 URL 格式https://mcp.map.baidu.com/mcp?ak你的AK注意ak后面直接跟 AK不要加引号或空格。然后用 curl 测一下这个地址是否可达curl -I https://mcp.map.baidu.com/mcp?ak你的AK如果返回 200 或 400 系列说明地址可达问题在 Claude Code 侧如果超时说明网络层面有问题检查你的网络环境是否能访问该域名。第三类工具未注册/mcp里看不到baidu-maps。这个最常见的原因是~/.claude.json的 JSON 语法错误导致整个文件解析失败Claude Code 干脆忽略了所有 MCP 配置。用python -m json.tool ~/.claude.json校验如果有报错按提示的行号去修。另一个原因是type字段写错了百度地图 MCP 是 HTTP 类型必须写type: http写成sse或stdio都不对。还有一个隐蔽的坑~/.claude.json里如果同时存在mcpServers和其他顶层字段注意逗号分隔。我见过有人把mcpServers写在文件末尾前面一个字段没加逗号导致解析失败。这种错误 JSON 校验工具会直接指出来别偷懒跳过校验。如果以上都排查完还是不行可以去 TaoToken 的接入文档页面看看有没有更新的配置示例https://taotoken.net/doc 。文档里通常会跟进 Claude Code 版本变化带来的配置调整。6. 把通道固定下来长期使用的配置建议跑通一次之后建议把配置固化避免每次换项目都要重来。我的做法是分两层全局层放 TaoToken 的环境变量项目层放 MCP 配置。全局层就是前面说的~/.zshrc或~/.bashrc里的三个export。这样不管你进哪个项目目录Claude Code 都能拿到模型通道。如果你有多个 TaoToken Key比如一个用于测试、一个用于生产可以写个小脚本切换alias cc-testexport ANTHROPIC_API_KEYsk-测试Key alias cc-prodexport ANTHROPIC_API_KEYsk-生产Key项目层则是~/.claude.json里的mcpServers。如果你只在特定项目里用百度地图 MCP也可以把配置放到项目根目录的.mcp.json里Claude Code 会优先读项目级配置。这样不同项目可以用不同的 AK互不干扰。关于百度地图 AK 的配额免费版有每日调用次数限制具体数字在百度地图开放平台的控制台能看到。如果你调用频繁建议在控制台设置配额告警避免超额后接口直接报错。Claude Code 在工具调用失败时会显示错误信息看到quota exceeded之类的字样就是配额用完了。最后说一个实用技巧Claude Code 的 MCP 工具调用是有上下文的你可以在一次对话里连续让它做多步地理操作。比如「先查一下杭州东站的位置然后找附近两公里内的酒店再算一下从东站走过去要多久」。它会依次调用地理编码、POI 搜索、路线规划三个工具把结果串起来。这种多步调用正是 MCP 的价值所在也是单纯用 API 拼请求做不到的顺滑体验。配置这件事第一次跑通最费时间后面就是复制粘贴。把~/.claude.json和 shell 配置备份一份换机器时十分钟就能恢复整套环境。