trae mcp调用工具没反应通常因工具未被扫描、transport未握手或服务未运行。需执行trae mcp status确认状态,用trae mcp start手动启动;检查@mcp.tool()是否在顶层且路径正确;验证transport参数与客户端严格匹配;并修正filesystem白名单路径。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

TRAE MCP调用工具没反应,常见于工具函数已注册但未被正确扫描、transport层未建立连接或客户端未完成协议握手。这种“静默无响应”不是卡死,而是MCP服务停留在初始化阶段,连错误日志都不输出。
确认MCP服务是否真正运行
打开终端,执行:trae mcp status → 观察输出中对应工具名(如filesystem、browser-tools)的状态是否为running。
若状态为stopped或压根不显示该条目,说明服务根本没启动,后续所有调用都会失效。
执行trae mcp start --server=your-tool-name手动启动(把your-tool-name替换成实际服务名,例如filesystem)。
【注意:Windows用户必须以管理员身份运行终端,否则即使命令返回success,底层进程也会因权限不足被系统静默终止】
验证工具函数是否被MCP成功加载
检查你的Python文件中是否使用了@mcp.tool()装饰器,并且函数定义在模块顶层(不能嵌套在if块、类方法或闭包内)。
确保该Python文件已被TRAE识别为MCP入口——通常需放在~/.trae/mcp/目录下,或通过trae config set mcp.path指定路径。
运行trae --verbose start,观察日志中是否有Found tool: xxx或Registered tool endpoint字样。没有这类输出,说明装饰器函数根本没被扫描到。
如果用了子模块导入(如from tools.file import read_file),@mcp.tool()必须写在被直接导入的模块里,而不是原始定义模块中。
排查transport协议握手失败
第一步:确认transport参数与客户端严格匹配。例如,你在代码中写了mcp.run(transport="stdio"),但TRAE客户端默认走的是http或ws,两者无法通信。
第二步:检查trae.json或mcp.json配置中是否显式设置了"transport"字段,其值必须与服务端启动时传入的一致。
第三步:对HTTP transport,用curl http://localhost:8000/health测试端口连通性;对stdio transport,该测试不适用,需依赖--verbose日志中stdio transport initialized确认。
【transport参数不匹配会导致零日志、零报错、零响应——这是最隐蔽的无反应原因】
检查filesystem工具的路径白名单限制
方法一:打开~/.trae/mcp.json(Windows为%USERPROFILE%\.trae\mcp.json),定位filesystem配置段下的args数组。
方法二:确认最后一个参数是你要访问的实际工作目录路径,例如"G:/workspace/project",而不是默认的桌面路径。
路径必须用正斜杠/,即使在Windows上也要写成G:/workspace/project,不能用G:\workspace\project。
修改后保存文件 → 在TRAE中执行trae mcp restart --server=filesystem重新加载服务。











