Spring AI MCP的几个小问题
测试时间:2025/05/29
测试版本:Spring AI 1.0.0
问题1:由于启动顺序问题,MCP的服务器端和客户端不能在一个应用里,不然客户端连不上服务器会报错退出。(实际项目应该没有这样用的)
问题2:现在如果配置了base-url,是有问题的,不能配置base-url,可以单配sse-endpoint和sse-message-endpoint,以后可能会解决。
# 目前(20250529)base-url有问题
# spring.ai.mcp.server.base-url=/mcpserver
spring.ai.mcp.server.sse-endpoint=/mcpserver/sse
spring.ai.mcp.server.sse-message-endpoint=/mcpserver/messages
问题3:如果项目中先引入了spring-boot-starter-web,就不能使用spring-ai-starter-mcp-server-webflux了,改为使用spring-ai-starter-mcp-server-webmvc吧。
问题4:MCP服务器必须为运行状态,不然含MCP客户端的SpringBoot 应用就启动不了。。。,官方文档没有相关信息,不知以后是否会考虑。
问题5:windows上使用Stdio遇到的问题:
1. npx无法执行,报错信息:
Cannot run program "npx": CreateProcess error=2
==>>>已经有人提交修订,后续版本会修订,暂时通过修改命令格式来解决
{"mcpServers": {"filesystem": {"command": "cmd","args": ["/c","npx","-y","@modelcontextprotocol/server-filesystem","E:\\work\\f1","E:\\work\\f2"]}}}
2. 缓存路径问题,路径包含了空格,报错信息:
npm ERR! Could not install from "Files\nodejs\node_cache\_npx\2344936" as it does not contain a package.json file.
===>>> 查看缓存路径,修改成短路径省略方式
# 查看缓存路径
npm config get cache
# 这里的路径根据自己的实际情况修改,可以在D:目录通过"dir /x"取得对应的短路径名
npm config set cache "D:\PROGRA~2\nodejs\node_cache"
3. 注意windows路径的大小写问题,问题5.1配置路径里的E:\\,写成小写就不行了。
4. nodejs环境版本太低不行,建议版本>=22