纳米AI接入MCP失败需逐段验证:先查MCP管理中服务是否识别,再确认配置文件在%APPDATA%NanoAIconfigmcp_config.json路径;检查server是否运行于localhost:12306且响应符合JSON-RPC 2.0标准;文件读取问题须指定--root-dir、避免NTFS压缩并以管理员身份运行。

纳米AI接入MCP后出现工具调用失败、服务识别异常、本地文件读取卡死等问题,不是配置遗漏就是协议层兼容性冲突,必须按实际通信链路逐段验证。
确认MCP服务是否被纳米AI正确识别
打开纳米AI桌面版(v2.8.3+),点击右上角头像→「设置」→「MCP管理」→查看「已连接服务器」列表。若列表为空或显示「未响应」,说明Host层未加载Server配置。
检查配置文件路径:【%APPDATA%NanoAIconfigmcp_config.json】,该路径为纳米AI唯一读取MCP配置的位置,其他位置的配置文件会被忽略。
手动验证配置有效性:在终端执行 nanocli mcp list,若返回空结果或报错“no config found”,证明配置未落在此路径下。
修复MCP Server启动但工具不可见的问题
方法一:强制刷新工具缓存
在纳米AI任意对话框中输入指令:
“请立即重新枚举所有已注册MCP工具,跳过本地缓存,直接向server-filesystem发起tools/list请求。”
这会触发Client绕过缓存,直连Server拉取最新工具列表。
方法二:检查Server进程绑定端口
纳米AI默认只接受运行在【localhost:12306】的MCP服务。若你启动server-filesystem时指定了其他端口(如12307),纳米AI将完全无法发现该服务,且不报任何错误提示。
方法三:验证Server响应格式
用curl手动测试:curl -X POST http://localhost:12306/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
若返回非JSON-RPC 2.0标准结构(例如缺少"jsonrpc"字段或"result"为空数组),纳米AI会静默丢弃该响应。
解决本地文件读取超时或返回空内容
第一步,先确认 filesystem server 的启动参数里已经带上了根目录白名单。
启动命令里必须明确写出 --root-dir,比如:npx @modelcontextprotocol/server-filesystem --root-dir "C:NanoProjects"
这个参数一旦省略,Server 会默认拒绝所有读写请求;但在纳米AI端,表现出来往往不是直接报错,而是看起来“没有响应”。
第二步:检查路径权限继承
Windows系统下,nanoAI进程以当前用户身份运行,但server-filesystem子进程可能继承了受限的UAC令牌。右键以“管理员身份运行”纳米AI可临时绕过此限制,验证是否为权限问题。
第三步:禁用NTFS压缩属性
若目标文件夹启用了“压缩此驱动器上存储的文件”选项,server-filesystem会因底层Node.js fs模块兼容性问题返回空缓冲区。在文件夹属性→“高级”中取消勾选该选项即可恢复读取。
规避纳米AI与MCP Server间的JSON-RPC版本冲突
纳米AI v2.8.3目前只兼容JSON-RPC 2.0规范中的严格子集。也就是说,请求里这三个字段必须齐全:jsonrpc、method、id;同时,id既不能是null,也不能写成字符串。社区里有些Server——比如旧版server-postgres——返回的是id: null,这会直接打断纳米AI的解析流程,后续调用也会一并终止。
临时修复:在Server启动命令后追加--jsonrpc-strict参数(若支持),或降级至@modelcontextprotocol/server-filesystem@v0.4.2——该版本已硬编码兼容纳米AI的RPC解析器。
