函数计算 × MSE Nacos : 轻松托管你的 MCP Server

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 本文将通过一个具体案例,演示如何基于 MCP Python SDK 开发一个标准的 MCP Server,并将其部署至函数计算。在不修改任何业务代码的前提下,通过控制台简单配置,即可实现该服务自动注册至 MSE Nacos 企业版,并支持后续的动态更新与统一管理。

01 背景与挑战:MCP Server 落地中的典型问题


随着 AI Agent 生态的发展,Model Context Protocol(MCP)作为连接 Agent 与外部工具的标准协议,正在被越来越多的技术团队采用。但在实际落地过程中,MCP Server 的部署、运维与统一管理成为关键挑战。


  • 部署运维成本高,运行时选择困难:在生产实践中,MCP Server 往往需要单独部署,许多团队将 MCP Server 部署在自建服务器或容器环境中,需要手动管理进程、配置网络、处理扩缩容。一旦调用量突增,服务容易崩溃;流量低谷时资源又闲置浪费。
  • MCP 调试迭代必须重启:MCP 描述对于工具效果起着重要的作用,当需求变化或者服务迭代而需要修改某个 Tool 的描述、参数说明或提示词时,传统方式要求重新打包、发布、重启服务。不仅效率低,还可能影响正在运行的 AI 请求。
  • 服务分散,难以统一管理:多个 MCP Server 分散在不同机器或环境中,缺乏统一的服务注册与发现机制。AI 网关无法动态感知可用服务,运维人员也难以快速定位问题。
  • 缺乏动态控制能力:某个 Tool 出现异常,不能即时关闭;新功能上线无法灰度发布;调试阶段也无法临时禁用部分能力——缺乏灵活的运行时治理手段。


这些问题导致 MCP 服务体系虽然功能完整,但可维护性差、迭代慢、稳定性弱


02 解决方案:函数计算+MSE Nacos 企业版


为了解决上述问题,提升 MCP Server 的可维护性与可扩展性,阿里云函数计算(Function Compute)与微服务引擎 MSE Nacos 已完成能力打通,支持将 MCP Server 部署于函数计算环境的同时,自动注册至 MSE Nacos 的 MCP Registry。


函数计算作为事件驱动的 Serverless 计算平台,在 MCP Server 的部署场景中提供以下核心能力:


  • 弹性伸缩:根据请求量自动扩缩容,适应 AI 调用流量波动大、突发性强的特点。
  • 协议兼容:支持 SSE 与 STIDO 协议的 MCP Server 运行,并可通过标准接口对外暴露服务。
  • 低成本运行:按实际执行时间计费,无调用时不产生费用,适用于低频高价值的工具类服务。
  • 低运维成本:用户无需管理服务器、负载均衡、消息队列等基础设施,通过函数计算内置的可观测能力可以实时了解函数运行状态并快速定位问题。


而 MSE Nacos 致力于打造企业级 AI 智能体平台,提供对 MCP Server 的集中化管控能力,并支持社区官方 MCP Registry 协议:


  • 自动服务注册:MCP Server 在函数计算中启动后,自动注册至指定的 MSE Nacos 实例,无需手动配置。
  • 动态元信息管理:支持对工具描述、参数定义等元信息进行运行时更新,变更实时生效,无需重启服务。
  • Tools 动态开关:可在控制台对特定 Tool 进行启用或禁用操作,实现快速故障隔离与灰度控制。
  • 统一服务发现:注册的服务信息同步至 Nacos 配置中心与服务发现模块,便于 AI 网关或 Agent 客户端进行动态寻址与调用。
  • 全链路集成:与阿里云 AI 网关, Nacos MCP Router 等组件无缝对接,构建完整的 AI 服务治理体系。

image.png

通过函数计算,开发者可将关注点聚焦于业务逻辑开发,而非基础设施管理。而基于 MSE Nacos,开发者可以实现 MCP Server 的从“散点式部署”走向“平台化治理”,显著提升系统的可观测性与可控性。两者相结合,用户无需修改业务代码,即可完成 MCP Server 的注册与动态治理,对 MCP Server 进行全生命周期管理。


接下来本文将通过一个具体案例,演示如何基于 MCP Python SDK 开发一个标准的 MCP Server,并将其部署至函数计算。在不修改任何业务代码的前提下,通过控制台简单配置,即可实现该服务自动注册至 MSE Nacos 企业版,并支持后续的动态更新与统一管理。


03 操作教程:从开发到上线的完整流程


前提条件


代码开发

函数计算目前支持 STIDO 和 SSE 协议的 MCP Server 的部署, 可以通过 MCP 社区提供的 SDK 或者 Spring Ai Alibaba 等框架进行 MCP Server 开发。 本文中,我们以 MCP Python SDK 进行标准 MCP Server 开发为例:


1. 依赖安装

首先我们需要进行 MCP 相关的依赖安装。在工程目录下执行:


pip install "mcp[cli]"


2. 代码开发

在工程目录下创建文件 main.py,使用 FastMCP 快速开发一个 标准 SSE 协议的 MCP Server:


"""
FastMCP Echo Server
"""
from mcp.server.fastmcp import FastMCP
# Create server
mcp = FastMCP("Echo Server",port=8080,host="0.0.0.0")
@mcp.tool()
def echo_tool(text: str) -> str:
    """Echo the input text"""
    return text
@mcp.resource("echo://static")
def echo_resource() -> str:
    return "Echo!"
@mcp.resource("echo://{text}")
def echo_template(text: str) -> str:
    """Echo the input text"""
    return f"Echo: {text}"
@mcp.prompt("echo")
def echo_prompt(text: str) -> str:
    return text
if __name__ == "__main__":
    mcp.run("sse")


3. 代码测试

在工程目录下执行命令,启动 MCP Server:


python main.py


出现如下输出,代表 MCP Server 成功启动:


INFO:     Started server process [24172]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)


通过以上的步骤,我们完成了一个标准 MCP Server 开发。接下来我们要做的就是将 MCP Server 部署至函数计算,就可以基于函数计算实现 MCP Server 的自动弹性和扩容,聚焦于业务逻辑;同时在不修改任何代码的情况下,自动将 MCP Server 注册至 MSE Nacos MCP Registry , 实现对于 MCP Server 的统一管理和快速迭代。


4. 代码打包

在工程目录下执行命令, 对代码和相关的依赖进行打包,方便之后在函数计算中部署:


zip -r echo.zip .


在函数计算中部署 MCP Server

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


2. 选择已有项目或者创建空白项目

创建空白项目:单击项目,并点击加号创建空白项目,选择 MCP 场景,输入项目名称,然后单击确定

1759996813722_D68F64CA-299B-4688-BB15-FE3DD604B02C.png

完成项目创建后,就可以开始基础的配置了。

3. 基础配置

1759996831380_6A282FBD-F71D-40dc-83D8-0BC1B75F9E20.png

  • 地域:选择与 MSE Nacos 实例相同地域。
  • 函数名称:使用自动生成的即可。
  • 函数描述:对 MCP Server 的功能和使用方式进行简单说明。


4. MCP 服务配置

1759996861036_AD12E4B4-679D-4ba9-AA91-5FB889F45D46.png

  • 传输类型:根据实际场景,选择 SSE 协议或者 STIDO 协议, 函数计算支持将 STDIO 协议转化为 SSE 协议。在本文案例中,我们选择 SSE 协议。
  • SSE 路径:使用默认值 /sse。
  • 监听端口:进程实际监听的端口,在本文中我们配置为 8080。
  • 开启鉴权:函数计算支持为 MCP Server 配置 token 鉴权, 可以根据实际需要进行开启。我们选择关闭鉴权。
  • 运行环境:根据代码实际需要的运行环境进行选择,我们采用 MCP Python SDK 进行的 MCP Server 开发,因此选择 python 3.10 环境。
  • 启动命令:配置启动命令,为:python3 main.py。
  • 选择仓库:函数计算支持多种代码上传方式,我们采用代码包方式进行上传。
  • 代码包:选择我们在代码开发章节中打包的 echo.zip 文件进行上传。


5. 网络配置

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

1759996891500_E3DE3782-E62D-48ae-90CB-6B1D984A7BD0.png

6. 服务注册

在服务注册一栏,选择注册到 MSE Nacos 实例,选择需要注册到的企业版 MSE Nacos 实例。如果 MSE 实例未开启阿里云访问控制,则需要填写开源控制台用户名和密码。用户名为 Nacos,密码为 Nacos 开源控制台密码,如果遗忘或者为新创建实例,可以在 MSE Nacos 实例基础信息页面开源控制台密码处进行重置。

1759997060747_4039304A-B2A7-4ccf-84C7-0193487F0DC3.png

7. 部署 MCP Server

配置完成后,单击确认部署按钮,完成 MCP Server 部署。

1759997075647_F8789578-2908-4502-8DF7-9BC056BC7B0E.png

8. 安装依赖

完成部署后,由于我们采用的是代码包的方式上传的代码,代码包中缺乏本地的依赖,因此第一次启动是不成功的,我们需要在 WebIDE 中重新把依赖安装一遍:


点击 WebIDE 标签:

1759997091743_4E666FC5-D0D0-4675-9372-F3E46D4CD2B5.png

在控制台中执行依赖安装命令:


pip install -t . "mcp[cli]"


1759997139820_2EDAE4DD-25B9-4024-AA37-9BA613636600.png

依赖安装完成后点击保存按钮,并重新部署。


完成以上步骤后, 我们成功在函数计算中部署了 MCP Server 。


9. 调试 MCP Server

部署完成后,可以在函数计算控制台上对 MCP Server 进行简单的调试。单击服务测试并在连接信息页签单击测试连接

1759997162240_8E4E7B4A-52E6-459b-9708-6B9C9BA67399.png

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


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


在 MSE Nacos 中查看和管理注册的 MCP Server

在函数计算中完成 MCP Server 的部署并配置相关的服务注册选项后,用户即可在 MSE Nacos 实例中查看和管理对应的 MCP Server 。


1. 登录 MSE 注册配置中心控制台

单击目标 Nacos 实例,在左侧导航栏选择 MCP Registry,检查对应的 MCP 服务是否注册成功。

1759997410979_1C3941C6-19F5-473e-8F94-3920C9D81A2A.png

2. 查看服务详情

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

可以发现函数计算中 MCP 函数的访问地址成功注册到了对应的服务中。


3. 对 MCP Server 进行管理

成功注册到 Nacos 之后, 我们即可在 MSE Nacos MCP Registry 中对 MCP 进行动态管理而无需重新部署 MCP Server ,包括工具描述的修改,开启与禁用某个工具。


在 MCP Server 详情页点击编辑按钮:

1759997492554_F2F96F5E-B9D1-4d0d-A234-87334F7910A5.png

修改对应的工具描述:

1759997504996_7BEDAD04-1256-4f48-AC19-81C12E4B4D03.png

启动官方 MCP Server 调试工具,并执行 List Tools 命令:


npx @modelcontextprotocol/inspector

1759997527671_E3414A10-170C-42f1-B0FD-232299EACF67.png

发现对应的工具描述变更成了我们动态调整后内容,而在这个过程中我们并没有重新部署 MCP Server。


此外,也可以将对应的 MCP 服务同步至 AI 网关。也可以通过 Nacos MCP Registry 进行统一的 MCP 服务发现。


通过以上步骤,借助函数计算与 MSE Nacos 的深度集成能力,开发者不仅可以快速部署 MCP Server,还能在不重启服务的前提下,实现工具描述更新、Tool 动态开关等运行时治理操作,大大降低了 MCP Server 的部署和管理成本。


04 总结


通过函数计算与 MSE Nacos 的集成,MCP Server 在部署和管理中的多个实际问题得到了有效解决。针对部署运维成本高的问题,函数计算提供了免服务器管理的运行环境,自动完成实例调度和弹性伸缩,减少了人工干预和资源浪费。对于配置变更必须重启的情况,借助 MSE Nacos 的动态注册能力,工具描述、参数定义等元信息可以在运行时更新,修改后立即生效,无需重新发布服务。


服务分散、难以统一查看的问题也得到了改善。MCP Server 在启动后会自动注册到 MSE Nacos,所有服务实例集中可见,便于监控和调用。同时,通过控制台对特定 Tool 进行启用或禁用操作,实现了基本的运行时控制能力,提升了应对异常场景的响应速度。


整个流程无需修改业务代码,只需在部署时完成网络和服务注册配置,即可实现从运行到治理的完整链路接入。对于正在构建 AI 工具体系的团队来说,这是一种低侵入、易落地的技术路径。

相关文章
|
11天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
9天前
|
存储 人工智能 搜索推荐
终身学习型智能体
当前人工智能前沿研究的一个重要方向:构建能够自主学习、调用工具、积累经验的小型智能体(Agent)。 我们可以称这种系统为“终身学习型智能体”或“自适应认知代理”。它的设计理念就是: 不靠庞大的内置知识取胜,而是依靠高效的推理能力 + 动态获取知识的能力 + 经验积累机制。
349 130
|
9天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
440 130
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
3天前
|
存储 安全 前端开发
如何将加密和解密函数应用到实际项目中?
如何将加密和解密函数应用到实际项目中?
205 138
|
10天前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
396 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
3天前
|
存储 JSON 安全
加密和解密函数的具体实现代码
加密和解密函数的具体实现代码
202 136
|
22天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1361 8
|
8天前
|
监控 JavaScript Java
基于大模型技术的反欺诈知识问答系统
随着互联网与金融科技发展,网络欺诈频发,构建高效反欺诈平台成为迫切需求。本文基于Java、Vue.js、Spring Boot与MySQL技术,设计实现集欺诈识别、宣传教育、用户互动于一体的反欺诈系统,提升公众防范意识,助力企业合规与用户权益保护。