1. 高德 SSE 协议 MCP 服务接入的真实场景
高德开放平台把地理编码、逆地理编码、IP 定位、天气查询、骑行/步行/驾车/公交路径规划、距离测量、关键词搜索、周边搜索、详情搜索这些 LBS 能力,封装成了通用级 SSE 协议 MCP 服务。SSE 就是服务器发送事件,基于 HTTP 长连接,服务器主动往客户端推数据,客户端不用反复轮询。对做 AI 工具链的人来说,这意味着你不用在本地跑一个 MCP Server 进程,只要在 Cline、CC Switch 这类支持 MCP 的客户端里填一个 URL,就能让大模型直接调用高德的地图能力。
我这次要解决的具体问题是:在 Cline 和 CC Switch 里接入高德 SSE MCP 服务,同时把模型请求通道统一走 TaoToken,避免每个工具单独配一套 Key。场景很明确——你手上有高德的 API Key,也有 TaoToken 的 Key,想让两者在同一个 config.toml 和 settings.json 骨架里各就各位,然后跑一次连通性验证,确认 MCP 服务真的能响应。
适合谁看:正在用 Cline 写代码、想给 Agent 加地图能力的开发者;用 CC Switch 管理多套模型配置、需要把 MCP 服务挂进去的人;以及第一次接触 SSE 协议 MCP、不确定 config.toml 该写哪些字段的小白。下面给的骨架可以直接复制,改两个占位符就能用。
2. TaoToken 前置准备:Key 与通道地址
在写配置之前,先把两样东西准备好。第一是高德开放平台的 API Key,去高德开放平台控制台创建应用,选 Web 服务类型,拿到 Key 后备用。第二是 TaoToken 的 API Key,登录后在控制台生成。
TaoToken 在这里的角色是统一模型请求通道。Cline 和 CC Switch 本身要调用大模型,如果你把模型请求指向 TaoToken 的 API 地址,就能用一个 Key 管理多家模型,不用在配置文件里塞一堆厂商 Key。MCP 服务本身走的是高德的 SSE 地址,和模型通道是两条独立的链路,配置时要分清。
需要记下的两个地址:
- TaoToken 官网:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
- TaoToken API 基址:https://taotoken.net/api
生成 Key 的入口在控制台的 API Keys 页面,建议单独建一个给 Cline 用的 Key,方便后续排查是哪个客户端在调。模型对话调试可以用模型对话页面先确认 Key 有效,再进配置文件。
注意:高德 Key 和 TaoToken Key 是两套独立凭证,前者给 MCP 服务用,后者给模型通道用,不要混填。
3. 可复制的 config.toml 与 settings.json 骨架
Cline 的 MCP 配置和 CC Switch 的配置格式不同,下面分开给。先看 Cline 侧的 config.toml 骨架,这个文件通常放在 Cline 的 MCP 配置目录下,具体路径在 Cline 设置里能看到。
# Cline MCP 配置骨架 [mcp_servers.amap-sse] type = "sse" url = "https://mcp.amap.com/sse?key=YOUR_AMAP_API_KEY" enabled = true timeout = 30000 # 模型通道指向 TaoToken [model_provider] base_url = "https://taotoken.net/api" api_key = "YOUR_TAOTOKEN_API_KEY" model = "claude-3-5-sonnet"关键字段说明:type必须是sse,这是高德通用级 MCP 服务的协议类型;url里的key参数替换成你的高德 Key;timeout给 30 秒,地图类查询偶尔会慢,太短容易误判断连。模型通道部分base_url填 TaoToken 的 API 地址,api_key填 TaoToken Key。
再看 CC Switch 的 settings.json 骨架,CC Switch 用 JSON 管理多套配置,MCP 服务挂在mcpServers下:
{ "mcpServers": { "amap-amap-sse": { "url": "https://mcp.amap.com/sse?key=YOUR_AMAP_API_KEY", "type": "sse", "disabled": false, "autoApprove": ["maps_geo", "maps_regeocode", "maps_weather"] } }, "modelProvider": { "baseUrl": "https://taotoken.net/api", "apiKey": "YOUR_TAOTOKEN_API_KEY", "model": "claude-3-5-sonnet" } }autoApprove数组里放的是你信任、不需要每次手动确认的工具名。高德的工具名一般是maps_geo、maps_regeocode、maps_weather、maps_search这类前缀。第一次接入建议先留空,等确认服务正常再逐步加,避免误调用。
两个骨架里YOUR_AMAP_API_KEY和YOUR_TAOTOKEN_API_KEY是唯一需要改的地方。改完保存,重启客户端让配置生效。
4. 连通性验证:一次 SSE 请求确认服务响应
配置写完不能只看客户端显示"已连接",要实际发一次请求。最直接的办法是用 curl 手动建 SSE 连接,看服务器有没有推数据回来。
curl -N -H "Accept: text/event-stream" \ "https://mcp.amap.com/sse?key=YOUR_AMAP_API_KEY"-N关闭缓冲,让数据实时输出。正常情况你会看到类似这样的流式响应:
event: endpoint data: /messages?sessionId=xxxx-xxxx event: message data: {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities":{...}}}看到event: endpoint和后续的message事件,说明 SSE 长连接建立成功,MCP 服务在正常推送。如果卡住没有任何输出,多半是 Key 无效或网络到高德服务不通。
接着在 Cline 里做一次真实调用。打开 Cline 对话框,输入"帮我查一下北京国贸附近的酒店",观察工具调用面板。正常流程是:Cline 通过 SSE 连接把请求发给高德 MCP,高德返回周边搜索结果,Cline 把结果交给模型整理成自然语言。你会在面板里看到maps_search或maps_around_search被调用,返回 JSON 里带 POI 名称和坐标。
模型通道的验证单独做:在 Cline 里发一句普通对话,如果模型能正常回复,说明 TaoToken 的base_url和 Key 配置正确。两条链路都通,整个接入才算完成。
5. 本篇常见错排查
报错一:SSE 连接返回 401 或 403。高德 Key 无效或没开通 Web 服务权限。去高德控制台确认 Key 状态,检查是否绑定了正确的服务类型。注意 Key 是放在 URL 查询参数里的,别漏了key=前缀。
报错二:客户端显示 MCP 已连接但调用工具无响应。大概率是type字段没写对。Cline 的 config.toml 里必须是type = "sse",写成http或streamable-http都会导致协议不匹配。CC Switch 的 settings.json 同理。
报错三:模型回复正常但地图工具不触发。检查autoApprove是否把工具名写错,或者模型没被正确告知有这些工具。可以在 Cline 的 MCP 面板里手动点一次工具测试,看返回什么。
报错四:TaoToken 通道返回 404。base_url写成了带路径的形式。正确写法是https://taotoken.net/api,不要在后面加/v1或/chat/completions,客户端会自己拼。如果确认地址没错还是 404,去 API Keys 页面确认 Key 有没有被禁用。
报错五:SSE 连接几秒后自动断开。这是正常的自动重连行为,SSE 协议本身支持断线重连。如果频繁断开影响使用,把timeout调大,同时检查本地网络是否有代理拦截长连接。
排查顺序建议:先 curl 验证高德 SSE 通不通,再验证 TaoToken 模型通道通不通,最后看客户端配置。两条链路分开测,比混在一起猜快得多。接入文档里有各客户端的字段对照表,卡住时对着查。
6. 后续怎么用:模型对话与 Coding Plan
配置跑通后,日常使用分两个方向。如果你主要是调试模型回答质量、测试不同模型对地图工具的理解,用模型对话页面直接试,不用每次开 Cline。如果你要把这套配置固化到长期编码或 Agent 工作流里,比如让 Cline 在写代码时自动查地址、算路径,那就走 Coding Plan,把模型额度和调用方式固定下来,避免临时 Key 过期导致工作中断。
高德这套 SSE MCP 的好处是零运维,服务端自动升级,你本地不用维护任何进程。TaoToken 这边负责模型通道的统一,两边各管一段,配置骨架里已经分开了。把第 3 节的骨架复制过去,改两个 Key,跑一遍第 4 节的 curl 验证,基本就能用起来。