本文列举您通过Function AI部署和使用MCP服务过程中可能遇到的问题及解决方案。
如何获取MCP服务的访问地址?
在Function AI控制台的项目页面,单击目标MCP服务所在的项目名称,在服务详情页面,选择服务测试页签,您可以查看服务的访问地址。
在连接信息区域的访问地址字段中,获取 SSE 端点 URL(格式如 https://{函数标识符}.cn-hangzhou.fcapp.run/sse)。如需认证,可在Bearer Token(可选)字段中输入 Token。
MCP服务部署成功了,但是访问失败怎么办?
您可以通过查看MCP服务的日志排查具体启动失败原因。
在函数详情页单击日志页签查看运行日志。例如,日志中出现 ModuleNotFoundError: No module named 'mcp' 错误,表示依赖模块未正确打包到代码目录中。
MCP访问失败一般都是用户MCP代码或者配置问题导致的函数启动失败,常见的原因如下:
-
启动命令配置错误
例如,您选择了Java运行时,并配置启动命令为
java -jar ./target/mcp-server-1.0-SNAPSHOT.jar,但实际代码包的目录结构中没有target目录,需根据实际调整启动参数中的代码包目录。 -
构建时未将依赖文件一起打包到代码中
例如,您选择了Python运行时,构建命令配置了
pip install -r requirements.txt,此时依赖不会下载到代码构建的目录下,需修改构建命令为pip install -r requirements.txt -t .。 -
SSE的MCP服务监听端口配置错误
例如,MCP代码中的监听端口配置的是8080,而MCP服务配置的端口是9000。
-
MCP的协议类型配置错误
例如,您的代码为STDIO的MCP代码,但是MCP服务配置的传输类型为SSE。
-
鉴权信息配置错误
当MCP服务开启了鉴权时,MCP Client需要透传鉴权header,具体JSON配置如下:
{ "headers": { "Authorization": "Bearer $TOKEN" } }其中,Bearer Token的值可以在服务测试页面获取。
在服务测试页面的连接信息区域,找到Bearer Token(可选)字段,单击右侧眼睛图标即可查看Token值。