点击阅读原文,立即体验!

MCP:AI 时代的“操作系统接口”
Cloud Native
截至 2025 年 4 月,MCP.so【1】上已经已有超过 8000 个注册的 MCP Server,涵盖数据处理、文件系统、API 网关、聊天机器人、数据库等服务类别,这一数量还在迅速增长。
生态暴发期的痛点
尽管 MCP 生态呈现指数级增长,GitHub 仓库星标数半年突破 3.5 万,但生产级落地仍面临三重挑战:
Serverless 是 MCP 托管的最佳解决方案
我们观察到大部分的 MCP server 有以下特点:
因此灵活部署、弹性扩展的运行时对于 MCP server 的托管非常契合,这恰恰是 Serverless 的最大优势。以阿里云函数计算为例:
这些能力让 Serverless 正成为托管 MCP 的最优解。作为 MCP 的最佳运行时,函数计算已经支持阿里云百炼 MCP 服务【2】。
Function AI 是基于函数计算构建的 Serverless AI 应用开发平台,基于函数计算的运行时能力上线了完整的 MCP 开发能力,成为真正意义上的 MCP 开发平台。您可以进入 FunctionAI 控制台【3】,快速体验 MCP 服务的能力。
快速部署
Cloud Native
方式一:通过模板一键部署
1. 选择 MCP 模板
进入 FunctionAI 控制台【4】,选择探索->筛选应用模板(MCP Server),选择一个 MCP 模板进行部署

2. 填写模板配置,部署项目

3. 查看部署进度

方式二:创建自定义 MCP 服务
1. 创建空白项目

2. 创建 MCP 服务

3. 编辑 MCP 服务配置,完成后点击预览&部署

4. 查看部署进度,等待部署完成

方式三:使用 ServerlessDevs 工具本地部署
FunctionAI 正式发布了 ServerlessDevs【5】工具的 MCP 组件,实现本地部署 MCP 工程到 FunctionAI 的能力
1. 安装 ServerlessDevs 工具:
npm install @serverless-devs/s -g
2. 初始化 MCP 项目
s init start-fcai-mcp-nodejs
3. 查看 s.yaml
edition: 3.0.0
name: start-mcp-server-nodejs
access: 'default'
vars:
region: 'cn-hangzhou'
resources:
nodejs-stdio-hello-world:
component: fcai-mcp-server
props:
region: ${vars.region}
description: mcp server deployed by devs
transport: stdio # stidio | sse
runtime: nodejs20
cpu: 1
memorySize: 1024
rootDir: ./code
source:
oss: auto
build:
default: #默认构建器
# 构建环境
languages:
- nodejs20
# 执行步骤
steps:
- run: npm install
- run: npm run build
startCommand: "node ./dist/index.js" # 启动命令
instanceQuota: 1 # 实例数配额
4. 执行部署
s deploy

登录到控制台,可以查看云端的部署详情

测试 MCP 服务
Cloud Native
FunctionAI 支持托管 STDIO/SSE 协议的 MCP server。如果 MCP server 代码采用 STDIO,FunctionAI 会启动一个 SSE 服务来代理 STDIO 的请求,客户端访问需要使用 SSE 方式。
当 MCP 服务部署完成后,平台会生成一个 SSE 的连接地址,并且会生成 MCP server 的 schema 用于测试。
用户可以直接在控制台上测试连接、测试工具,也可以使用官方的 Inspector 在本地进行测试。
方式 1:FunctionAI 控制台测试

查看日志和监控


方式 2:Inspector 本地测试
复制 FunctionAI 生成的公网访问地址

本地启动 inspector,输入访问地址进行调试
npx @modelcontextprotocol/inspector

高阶能力
Cloud Native
鉴权
MCP 的鉴权只适用于 SSE 的协议,而且必须遵循 OAuth2.1 协议标准,对于大量的 STDIO 的 MCP 服务托管的改造难度非常之高,企业落地 MCP 鉴权是一个非常痛点的问题。
FunctionAI 提供了网关侧的 Bearer 鉴权能力,用户只需要开启鉴权功能,使用平台生成的 Bearer Token,就可以让 MCP 服务自带鉴权能力。
使用方式
编辑服务配置,点击开启鉴权,保存并且部署。开启后,平台会对服务生成一个只读的 Bearer Token。


测试鉴权生效
使用平台生成的 Bearer Token,可以正常访问 MCP 服务

使用错误的 token 时,访问失败

使用本地的 Inspector,输入服务的 token,访问正常。
变量管理
很多的 MCP Server 代码都需要访问第三方服务,比如高德地图、Github 等,需要持有用户的访问秘钥,比如 API-Key、AccessToken,这些秘钥通常以环境变量加载或者启动命令参数注入。
FunctionAI 提供了变量管理能力,并且支持敏感变量托管,可以实现 MCP 服务访问秘钥的安全可靠管理。
配置方式:设置服务变量
选择服务->服务变量,添加服务变量的 Key 和 Value

加载方式 1:环境变量
FunctionAI 上配置的服务变量会默认注入到函数启动的环境变量中,MCP 服务代码可以直接通过系统环境变量读取

加载方式 2:启动参数
FunctionAI 的服务变量支持通过 ${self.KEY_NAME} 的方式引用,可以在启动命令中修改命令行参数,使用变量的引用,在启动阶段注入变量的值。


绑定代码仓库进行持续部署
使用方式:

绑定 Git 仓库后,如果指定的分支有 push 操作,会自动触发服务的持续部署

极速模式
另外由于 MCP SSE 请求的 session 机制,同一个 session id 访问到不同实例会导致上下文丢失,因此建议开启预置快照为 1 并且实例限额为 1,这样可以让 SSE 请求打到不同弹性实例的概率更小。
FunctionAI 后面会上线会话亲和性能力,尽情期待。

开启后,可以在函数监控页面看到预留实例的个数

总结与未来展望
Cloud Native
-
部署形式上,支持模板直接部署、自定义 MCP 服务、ServerlessDevs 工具本地部署 -
托管能力上,支持 STDIO/SSE 的自动托管,无需业务改造既能生成可用于访问的 SSE 地址 -
调试能力上,支持控制台直接调试以及 Inspector 本地调试 -
二次开发能力上,支持变量管理、鉴权、绑定代码仓库进行持续部署 -
可观测能力上,支持函数监控、实例监控以及日志 -
弹性调度上,支持标准模式以及极速模式
MCP 的价值是统一了 Agent 和 LLM 之间的标准化接口,有了 MCP Server 的托管以及开发态能力只是第一步,接下来重要的是做好 MCP 和 Agent 的集成,FunctionAI 即将上线 Agent 开发能力,敬请期待。
【1】MCP.so
https://mcp.so/