需从服务启动、协议连通、路径权限、环境变量四层面逐层验证:先确认mcp服务进程真实运行并绑定端口,再检查trae右键菜单是否出现对应工具及日志中是否显示“connected to mcp server”,接着核对filesystem类配置的allowed paths是否覆盖实际文件路径(windows用正斜杠),最后严格校验mysql等服务env参数拼写、类型及特殊字符编码。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

排查Trae中MCP配置错误,需从服务启动、协议连通、路径权限、环境变量四个层面逐层验证,不能只看IDE界面是否显示工具图标。
确认MCP服务进程是否真实运行
打开终端,执行npx browser-tools-mcp --version。若提示command not found,说明MCP服务包未安装或未全局可用。
运行npx browser-tools-mcp --port 3001 --no-browser &启动服务,随后立即执行lsof -i :3001(macOS/Linux)或netstat -ano | findstr :3001(Windows)。输出中必须包含LISTEN状态行,否则服务未真正绑定端口。
若端口被占用,【不要直接改端口重试】,先用kill -9 [PID]终止冲突进程——否则新服务可能因地址复用失败而静默退出。
验证Trae能否与MCP服务建立协议通道
方法一:检查右键菜单
在Trae中打开任意HTML文件,右键空白处。若上下文菜单里完全不出现browser tools子项,说明MCP协议通道未建立,此时配置再正确也无效。
方法二:查看Trae日志
启动Trae时加--verbose参数:trae --verbose。滚动日志中搜索mcp和connect,出现Connected to MCP server at http://127.0.0.1:3001才算通道打通。若只有Attempting to connect...且持续超3秒无后续,就是连接被阻断。
注意:Trae默认只尝试连接127.0.0.1,如果MCP服务监听的是0.0.0.0:3001,它照样连不上——这属于协议层兼容问题,不是网络问题。
检查filesystem类MCP的目录白名单是否覆盖实际路径
第一步:定位配置文件
打开Trae设置 → 搜索mcpServers → 点击“在settings.json中编辑”。找到类似以下结构:
{"filesystem":{"command":"npx","args":["-y","@modelcontextprotocol/server-filesystem","C:/Users/name/Desktop"]}}
第二步:比对路径
假设你要读取的文件在G:/project/src/index.ts,而配置中只写了C:/Users/name/Desktop,AI调用时必然报Access denied - path outside allowed directories。
第三步:修正路径
将args数组中的路径改为"G:/project"(使用正斜杠),保存后重启Trae。Windows下路径必须用/而非\,否则服务启动时解析失败,但不会报错,只会静默降级为桌面目录。
核对MySQL-MCP等依赖型服务的env参数拼写
常见拼写错误包括:MYSQL_PO(漏掉R)、MYSQL_HOSTT(多一个T)、MYSQL_PASSWROD(字母错位)。这类错误不会导致服务崩溃,但会使env变量为空字符串,最终表现为Access denied for user ''@'localhost'。
打开MySQL-MCP配置段,逐字对照官方文档字段名。特别注意MYSQL_PORT是数字类型,不能加引号;MYSQL_PASSWORD若含特殊字符如@或$,必须URL编码,否则shell解析中断。
验证方式:把env对象复制进临时Node脚本,用console.log(process.env)打印,确认变量已注入进程环境。











