在FC函数计算中部署MCP服务并注册至MSE Nacos

MSE Nacos企业版3.x支持MCP服务的注册与配置管理功能。您可使用Spring AI Alibaba Nacos SDK开发MCP服务,并将其部署至阿里云函数计算环境中。本文将指导您完成在函数计算中部署MCP服务并将服务动态注册到MSE Nacos实例。

开发和注册MCP服务

通过Nacos SDK开发MCP服务,可动态注册到MSE Nacos实例,详情可参见动态注册MCP服务

前提条件

创建MCP服务函数

  1. 登录函数计算FuntionAI控制台

  2. 创建空白项目

    单击项目,并选择创建空白项目。随后在弹出的对话框中输入项目名称,然后单击创建

    image

  3. 创建MCP 服务

    单击新建服务,并选择 MCP 服务

    image

  4. 基础配置

    • 地域:选择与MSE Nacos实例相同地域。

    • 函数名称:使用自动生成的即可。

  5. MCP 服务配置

    image

    • 传输类型:选择 SSE 协议

    • SSE 路径:使用默认值/sse

    • 监听端口:配置为80重要)。

    • 运行环境:选择自定义运行时 > Java > Java17 ,或者更高版本的 Java 运行环境。

    • 启动命令:配置为:java -jar xxx.jar

    • 选择仓库:选择代码包

    • 代码包:将Spring AI Alibaba 编写的MCP Server 通过Maven打包形成的jar包进行压缩,形成格式为 xxx.jar.zip 的文件,选择通过ZIP包上传代码。

  6. 网络配置

    在网络配置一栏,打开允许访问VPC开关,选择MSE Nacos实例所在的专有网络交换机安全组,完成网络配置。

    image

  7. 部署 MCP 服务

    完成上述配置后,单击右上角预览&部署,并在随后弹出的服务资源预览窗口中确认无误后,单击确认部署

配置环境变量并调试函数

  1. 函数创建完成之后,单击访问地址,查看并拷贝函数的VPC访问地址(注意不要带上http/https协议头以及/sse访问路径)。

    您也可根据需要选择公网访问地址。

    image

  2. 配置服务变量

    单击服务变量,然后单击编辑并配置以下环境变量,完成后单击保存

    SPRING_AI_ALIBABA_MCP_NACOS_IP={函数的公网或私网访问地址}
    SPRING_AI_ALIBABA_MCP_NACOS_REGISTRY_SERVICE_EPHEMERAL=false
    SERVER_PORT=80
    重要
    • 配置HTTP触发器私网访问地址不携带http/https协议头。

    • MCP服务的application.yml中的Nacos配置信息(Nacos访问地址,Nacos命名空间以及Nacos用户名及密码) 均可通过环境变量配置。

    image

  3. 调试函数

    单击服务测试。并在连接信息页签单击测试连接

    image

    您也可通过执行curl命令访问函数的公网访问地址,调试并预热刚才部署的MCP Server。返回类似以下内容,则MCP服务函数部署成功。

    id:3d3ba0d9-4d10-4a4e-ae08-a4a92f95d88a
    event:endpoint
    data:/mcp/message?sessionId=3d3ba0d9-4d10-4a4e-ae08-a4a92f95d88a

查看MCP服务是否注册成功

  1. 登录MSE注册配置中心控制台,单击目标Nacos实例,在左侧导航栏选择MCP Registry,检查对应的MCP服务是否注册成功。

    image

  2. 单击目标MCP服务,进入MCP服务详情界面,查看服务详情

    image

    HTTP触发器访问地址成功注册到Nacos上,则MCP Server自动注册至Nacos成功。

    注册完成之后,在控制台上修改 MCP Server 函数,即可动态生效至 MCP Server 运行时。