记一个BUG:Trae里MongoDB和MySQL MCP不能共存

事情是这样的

最近在Trae里配MCP(Model Context Protocol),想同时连MongoDB和MySQL,方便AI直接查数据库写代码。

我在Trae的应用市场里,分别找到了MongoDB MCP和MySQL MCP,按说明配好。单独测的时候,俩都能用------问MongoDB的事,AI能查;问MySQL的事,AI也能查。

挺好,我以为这就搞定了。

结果两个一起开着的时候,出问题了:MySQL MCP死活调不动

我让AI查MySQL里的数据,它会直接去用命令。或者直接说"我没有找到相关的工具"。但问MongoDB的事,它秒回。

我以为是规则写错了,又去翻skills配置,改了好几版提示词,什么"你可以使用mysql工具"、"数据库连接已就绪",都没用。AI就像瞎了一样,完全看不见MySQL那套工具。

更诡异的是,只要我把MongoDB MCP关掉,MySQL立刻就活了,问啥答啥。

开始排查

我一开始怀疑是端口冲突。但MCP走的是stdio,不是HTTP,不应该抢端口。

又怀疑是配置语法有问题,但单独用都正常,说明配置没错。

翻Trae的日志,也没看到明显的报错。MySQL MCP进程应该是起来了,但AI就是看不见它。

这时候我搜到一篇火山引擎的官方文档,里面提到一个关键信息

TRAE 未读取到 MCP Server 中的工具 #

使用添加了 MCP Server 的 Builder with MCP 或者自定义智能体时,即使在对话中明确要求模型调用某个 MCP Server 中的工具,模型依然无法调用或识别该工具。
原因:

受模型上下文窗口大小的限制,TRAE 仅会预留一部分固定的上下文空间,用于向模型传递 MCP Server 及其工具的描述信息。目前存在以下限制:

  • 所有 MCP Server 描述信息的字符数上限:8,000
  • 所有 MCP Server 工具的数量上限:40

当 MCP Server 的配置达到任一上限时,TRAE 会按工具维度丢弃无法容纳的工具描述信息。
解法

  • 在智能体配置面板中,取消勾选当前任务不需要的 MCP Server 和工具。这将释放部分上下文窗口,确保核心 MCP Server 的工具能被完整读取。
  • 修改 MCP Server 和工具的 description 字段,使用更简练的描述,避免冗长。
  • 仅使用当前场景必需的工具。如果一个 MCP Server 包含大量工具(接近或超过 40 个),建议将其拆分为多个功能更专注的小型 MCP Server,并按需启用。

我也不知道是不是这个原因现在还在排查中。

相关推荐
@insist1232 小时前
软件设计师-SQL 高级应用与数据库规范化设计
数据库·oracle·软考·软件设计师·软件水平考试
add45a2 小时前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
m0_743297422 小时前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
亮子AI2 小时前
【PostgreSQL】如何清空数据库?
数据库·postgresql·oracle
道长没有道观2 小时前
mysql数据库常规操作3
数据库·mysql·oracle
2401_851272992 小时前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python
pupudawang2 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端
deephub2 小时前
高级 RAG 技术:查询转换与查询分解
人工智能·深度学习·大语言模型·agent·rag
zklgin2 小时前
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
android·sql·mysql