链载Ai

标题: 凡墙皆是门:展示一个从发现问题到解决问题的全过程 [打印本页]

作者: 链载Ai    时间: 1 小时前
标题: 凡墙皆是门:展示一个从发现问题到解决问题的全过程

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">起因

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">昨天想要复现黄老师的一篇公众号文章里的操作:

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">复现过程遇到了一点问题。

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">高德MCP添加成功,显示“可使用”

Image

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">在运行过程中却总是出现(HTTP 504)错误:

Image

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">我在网上搜了很多解决方案,

Image

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">CSDN:504 Gateway Timeout: 网关超时的完美解决方法

ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 0px 4px;word-break: break-all;min-height: 20px;">https://blog.csdn.net/qq_42055933/article/details/141760595

Image

但都解决不了我的问题。服务器问题我解决不了,网络问题我没有,不知道怎么办。。。


后来请教了黄老师,他说可能是高德的问题

Image

那没办法了,就先不管它了。


我不喜欢在自己控制不了的事情上浪费时间,就想着睡一觉起来服务器应该就没问题了吧?


今天早晨起来我再次尝试,依然显示 504错误,那如果真是服务器问题的话,这也太久了~

而且我在搜索的过程中也没见其他人问过这个问题


那就只能在自己身上找原因了~


尝试解决

我做了两件事:

  1. 1.把之前创建的 高德key 删除,重新创建了一个key。
  2. 2.尝试使用mcp.so提供的代码进行配置。
(后来我才发现高德官网写了两种配置代码,第二种和
Image

高德官网:https://lbs.amap.com/

在高德官网创建 key


然后根据官网指引接入 MCP 配置。

第一种配置代码:

Image
{"mcpServers":{"amap-amap-sse":{"url":"https://mcp.amap.com/sse?key=您在高德官网上申请的key"}}}


第二种配置代码:

https://mcp.so/server/amap-maps/amap?tab=content

Image
{"mcpServers":{"amap-maps":{"command":"npx","args":["-y","@amap/amap-maps-mcp-server"],"env":{"AMAP_MAPS_API_KEY":"您在高德官网上申请的key"}}}}


这两个操作做完之后,高德MCP就调用成功了!

Image

OK,问题已经解决了,但是,问题到底出在哪了呢?

我太着急解决问题,直接同时修改了 Key 和 MCP配置代码,所以现在没办法判断到底是哪里出了问题。


(现在Trae正在跑任务,稍后我会把 MCP配置代码改回去,看看还能不能成功,如果成功了,就说明是 key 的问题,如果失败了,就说明是配置代码的问题)


问题分析

把这两段配置代码发给【豆包】,让它进行对比分析:

{"mcpServers":{"amap-amap-sse":{"url":"https://mcp.amap.com/sse?key=您在高德官网上申请的key"}}}
{"mcpServers":{"amap-maps":{"command":"npx","args":["-y","@amap/amap-maps-mcp-server"],"env":{"AMAP_MAPS_API_KEY":"您在高德官网上申请的key"}}}}
?

这两段代码都是用来调用高德mcp的配置代码,它们的区别是什么?并分析优劣


配置内容和用途区别

  1. 第一段代码

这么看来有可能是配置代码的原因,用 SSE 方式接入“与本地服务器相比,远程请求存在网络传输耗时”,504错误就是网络超时问题。


测试

下面通过测试验证猜想。


为了提高测试效率,我又单独创建了一个 智能体,它的角色就是 高德MCP测试员

智能体prompt

你是高德MCP调用测试员,目的是测试高德MCP是否可以成功被调用,优先采用最简单的实现路径,跑通即可。如果无法成功调用,返回错误信息,并给出原因和解决方案。
Image

依然显示“可使用”

Image

改回 SSE 方式接入MCP服务

{"mcpServers":{"amap-amap-sse":{"url":"https://mcp.amap.com/sse?key=您在高德官网上申请的key"}}}

第一次测试结果:失败 (400错误)

Image

重新确认配置无误,

第二次测试结果:失败(504错误)

Image

再改为 Node.js I/O 模式接入 MCP 服务 (跟mcp.so的代码是一样的)

Image

https://lbs.amap.com/api/mcp-server/gettingstarted#t1

{"mcpServers":{"amap-maps":{"command":"npx","args":["-y","@amap/amap-maps-mcp-server"],"env":{"AMAP_MAPS_API_KEY":"您在高德官网上申请的key"}}}}

测试结果:成功

Image

结论

本次 Trae 接入 高德MCP服务 出现504错误的问题,是接入方式的问题。

把 SSE方式接入 改成 Node.js I/O 模式接入就解决了。


?

SSE方式(Server - Sent Events,服务器推送事件 )


Node.js I/O模式

Node.js采用异步式I/O(非阻塞式I/O) ,基于事件驱动架构 ,具体如下:


最终成果展示:

https://static-host-x4o0qwe4-yunnantravel.sealoshzh.site/


再复习一下瑞·达利欧在《原则》中说的“五步流程实现你的人生愿望”

Image
?
  1. 有明确的目标。
  2. 找到阻碍你实现这些目标的问题,并且不容忍问题。
  3. 准确诊断问题,找到问题的根源。
  4. 规划可以解决问题的方案。
  5. 做一切必要的事来践行这些方案,实现成果。


凡墙皆是门

解决问题是一件很快乐的事?







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5