记一个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,并按需启用。

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

相关推荐
それども15 小时前
DELETE 和 TRUNCATE TABLE区别
java·数据库·mysql
wenha15 小时前
数据库隔离级别
数据库·mysql·sqlserver·隔离级别
2401_8714928515 小时前
Layui如何修改Layui默认的UI主题颜色(换肤功能实现)
jvm·数据库·python
Edward1111111116 小时前
4.27mysql ,数据库,数据源
数据库·mysql
小徐敲java16 小时前
踩坑实录:MySQL8.0 导入SQL报错 2006 - MySQL server has gone away 完美解决
数据库·sql
别来无恙blwy16 小时前
windows MongoDB升级-自动升级脚本-自动检测升级到任意版本
数据库·windows·mongodb
步辞16 小时前
Redis如何利用LFU算法优化缓存命中率
jvm·数据库·python
~小先生~16 小时前
sqlserver 外键、级联使用
数据库·sqlserver
forEverPlume16 小时前
golang如何实现日志按级别过滤_golang日志按级别过滤实现教程
jvm·数据库·python
笨蛋©16 小时前
[实战] 制造业质检图纸数字化方案:从扫描件到自动化FAI/PPAP报表生成
ai·cad·质量管理·制造业·图纸识别