1. 为什么我放弃了手动翻攻略,改用 AI + 高德 MCP
你有没有过这种经历:周五晚上决定周末去个周边城市,打开小红书翻了两个小时,收藏了三十篇笔记,结果越看越乱——这家店在城东,那个景点在城西,中间还隔着一条江。等你好不容易拼出一条路线,发现周一闭馆。旅游规划这件事,折磨人的从来不是「没地方去」,而是「信息太散、距离算不清、时间对不上」。
AI 大模型能帮你写行程,但它有个硬伤:不知道实时地理数据。你问它「从滇池到翠湖怎么走」,它只能给你一个大概方向,距离、耗时、公交线路全是猜的。高德 MCP(Model Context Protocol)就是来解决这个问题的——它把高德地图的地理编码、路径规划、周边搜索、天气查询这些能力,以标准协议暴露给 AI 工具,让模型在生成行程时能真正调用地图数据,而不是凭空编。
我实测下来,整条链路跑通大概 10 分钟:申请一个高德 Key、配好 MCP、把模型接入点统一到 TaoToken、然后一句提示词让它输出带路线和时间的行程表。这篇就把每一步拆开讲清楚,包括配置文件怎么写、Key 放哪里、报错怎么排。适合想用 AI 做旅行规划但卡在「模型不会查地图」这一步的人。
2. 前置准备:高德 Key 与 TaoToken 统一接入
先说清楚两个东西各自干什么。高德开放平台的 Key 是给 MCP Server 用的,它负责真正去调高德的地图接口;TaoToken 则是给 AI 模型用的统一接入点,你不需要在每款工具里分别填不同厂商的 Key,一个 Key 就能切换模型。两者分工不同,别搞混。
2.1 申请高德地图 MCP 授权 Key
打开高德开放平台,注册成为开发者(个人认证即可,免费)。进入控制台后创建应用,应用类型选「Web 服务」,然后在应用下添加 Key。这里有个坑:Key 的类型要选「Web 服务」,不要选「Web 端」或「iOS/Android」,否则 MCP Server 调接口会报INVALID_USER_KEY。
创建完把 Key 复制出来,形如a1b2c3d4e5f6...的一串字符。这个 Key 后面要填进 MCP 配置的env里。
2.2 在 TaoToken 拿统一模型 Key
访问 TaoToken 官网,注册后在控制台创建 API Key。这个 Key 的作用是让你的 AI 编程工具(CodeBuddy、Cursor、Cline 等)能调用模型。如果你用的是支持自定义 Base URL 的工具,把请求地址指向https://taotoken.net/api,模型名按文档填即可。
注意:高德 Key 和 TaoToken Key 是两个独立的东西,前者给 MCP Server,后者给模型。配置时别把两个 Key 填反了,这是新手最常见的错误。
如果你还没决定用哪款工具,可以先在模型对话页面验证一下模型能不能正常响应,确认链路通了再往编辑器里配。
3. 可复制配置:MCP 骨架与 config.toml 示例
不同工具的 MCP 配置格式略有差异。CodeBuddy、Cline 这类用 JSON,Claude Code 用config.toml。我把两种都给你,按自己用的工具选。
3.1 JSON 格式(CodeBuddy / Cline / Cursor)
在工具的 MCP 配置入口点「手动配置」,把下面这段粘进去:
{ "mcpServers": { "amap-maps": { "command": "npx", "args": [ "-y", "@amap/amap-maps-mcp-server" ], "env": { "AMAP_MAPS_API_KEY": "粘贴你在高德申请的Key" } } } }保存后工具会自动拉起 MCP Server。当列表里amap-maps前面显示绿色圆点,说明连接成功。如果一直是灰色或红色,看第 5 节的排查。
3.2 config.toml 格式(Claude Code)
如果你用的是 Claude Code,配置写在~/.claude/config.toml或项目级配置里:
[mcp_servers.amap-maps] command = "npx" args = ["-y", "@amap/amap-maps-mcp-server"] [mcp_servers.amap-maps.env] AMAP_MAPS_API_KEY = "粘贴你在高德申请的Key"保存后重启 Claude Code,用/mcp命令查看服务状态,能看到amap-maps且状态为 connected 就对了。
3.3 模型接入点配置
MCP 只管地图能力,模型还得单独配。以支持 OpenAI 兼容接口的工具为例,在模型设置里填:
{ "baseURL": "https://taotoken.net/api", "apiKey": "你的TaoToken Key", "model": "按文档填写的模型名" }这样模型走 TaoToken,地图走高德 MCP,两条链路互不干扰。配好后建议先发一句「你好」确认模型能回,再发地图相关的请求。
4. 验证请求:从提问到输出行程的完整动作
配置完别急着写复杂提示词,先用一个最小请求验证 MCP 是否真的被调用。
4.1 最小验证:让模型查一个地点
在对话框输入:
用高德地图查一下昆明翠湖公园的经纬度,并告诉我它周边500米内有哪些餐厅。如果 MCP 正常工作,模型会调用maps_geo和maps_around_search两个工具,返回翠湖的坐标和周边餐厅列表。你能在工具调用日志里看到amap-maps被触发。如果模型只是凭记忆瞎编一个坐标,说明 MCP 没接上,回到第 3 节检查配置。
4.2 完整行程生成:昆明一日游
验证通过后,把提示词文件准备好。新建一个travel.md,把行程表设计提示词粘进去(要求 A4 尺寸、时间轴、交通路线、餐饮推荐等)。然后在对话框引用这个文件:
@/travel.md 这是提示词,用高德 MCP 给我生成昆明一日旅游指南,并生成网页。模型会自动调用高德接口,依次完成:查昆明天气、搜索景点、计算景点间距离和路线、找周边餐厅、最后按提示词格式输出 HTML 页面。整个过程大概 1-2 分钟,取决于模型响应速度。
4.3 输出结果长什么样
生成的 HTML 会包含行程标题区、按时间分段的详细表格、交通换乘说明、餐饮推荐和实用提示。比如它会算出「滇池 → 翠湖」坐地铁 3 号线转 1 号线约 40 分钟,而不是给你一个模糊的「大概半小时」。天气部分会调高德天气接口,如果当天有雨,模型会按提示词里的「天气自适应」逻辑把户外景点换成室内方案。
如果生成结果某部分不符合预期,不用重新跑整个流程,直接把提示词全文复制到对话框,加一句「修改这个 html,把交通区改成时间轴样式」即可增量调整。
5. 本篇常见错排查
配 MCP 最容易卡在几个固定位置,我按出现频率排一下。
MCP 显示红色 / 连不上:九成是npx没装或 Node 版本太低。先确认终端里node -v能输出版本号(建议 18 以上),npx -v也有输出。如果提示command not found,去装 Node.js。另外首次运行npx会去下载@amap/amap-maps-mcp-server包,网络慢的话会卡住,耐心等或换个网络环境重试。
报 INVALID_USER_KEY:高德 Key 类型选错了,或者 Key 没启用「Web 服务」权限。回高德控制台检查 Key 类型,必要时重新创建一个。
模型不调用地图工具:说明模型没识别到 MCP 工具,或者工具列表没刷新。重启一下编辑器,确认 MCP 状态是绿色。有些工具需要在对话里显式说「用高德地图查」才会触发。
生成的行程距离明显不对:检查是不是模型在编数据。正常调用 MCP 时,工具返回结果里会有distance、duration字段。如果模型没调工具直接输出,回到 4.1 重新验证。
TaoToken 请求 401:Key 填错或没带Bearer前缀。确认请求头是Authorization: Bearer sk-xxx格式,Base URL 是https://taotoken.net/api不带多余路径。
6. 把这条链路用顺手的几个建议
跑通一次之后,你可以把travel.md提示词模板存下来,下次换目的地只改城市名。如果经常做行程规划,建议把 MCP 配置和模型接入点固化到项目模板里,省得每次重配。
需要长期做编码或 Agent 类任务的,可以看下 Coding Plan,把模型调用和 MCP 工具链统一管理;只是偶尔验证模型效果的,直接在模型对话里试就行。接入文档里有各工具的详细配置说明,遇到本文没覆盖的报错可以去对照。API Keys 页面管理你的 TaoToken Key,注意别把 Key 提交到公开仓库。
最后说个实用技巧:生成 HTML 后如果要在手机上看,把文件传到手机浏览器打开,A4 布局会自动缩放。打印的话记得在浏览器打印设置里关掉「页眉页脚」,选「背景图形」开启,否则颜色和图标会丢。