登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
MCP 正当时:FunctionAI MCP 开发平台来了!
MCP 正当时:FunctionAI MCP 开发平台来了!
[ 复制链接 ]
斜素欣
前天 00:13
MCP——AI 时代的“操作系统接口”
2024年11月,Anthropic发布模型上下文协议(MCP),这一开放标准迅速引发开发者社区的"协议觉醒"。其本质是通过标准化接口实现LLM与外部世界的双向交互,正如 USB 协议统一外设接入,MCP 正成为 AI 应用连接数字生态的通用总线。随着 Cursor、Claude 等开发工具相继集成,特别是 OpenAI 宣布全面兼容 MCP 协议,标志着 MCP 从技术实验迈入产业级标准,这一标准化接口正重塑AI与数字世界的交互范式。
截至2025年4月,MCP.so上已经已有超过8000个注册的MCP Server,涵盖数据处理、文件系统、API网关、聊天机器人、数据库等服务类别,这一数量还在迅速增长。
生态爆发期的痛点
尽管 MCP 生态呈现指数级增长,GitHub 仓库星标数半年突破 3.5万,但生产级落地仍面临三重挑战:
本地化瓶颈
:当前绝大多数 MCP server 都采用传统 STDIO 模式,该模式没有鉴权能力(缺乏 OAuth 2.1 标准的双向认证机制、无法实现基于角色的访问控制),在复杂业务场景下暴露出调试困难、网络隔离性差等缺陷,难以实现访问内网环境的数据安全管控,内网穿透导致攻击面扩大;
弹性困境
:MCP 工具调用流量呈现显著的非稳态特征以及"脉冲式"波动,比如智能客服系统的峰谷效应非常明显,传统虚拟机部署造成大量资源浪费;
开发断层
:从本地调试到云端部署需要重构鉴权、变量管理、日志、中间件等基础组件,改造成本高,开发者大量的精力消耗在非业务代码的开发上;
Serverless 是 MCP 托管的最佳解决方案
我们观察到大部分的 MCP server 有以下特点:
稀疏调用,而且对算力的需求都比较小,0.5c/1G的规格基本能够应对大部分场景;
代码体积比较小(< 100MB),Nodejs、Python解释型语言是MCP的一等公民,大部分MCP server直接通过npx、uv就能一键运行;
MCP server的迭代非常快,新增、修改或弃用MCP server的场景会非常高频,对MCP server元数据管理的需求非常普遍;
因此灵活部署、弹性扩展的运行时对于 MCP server 的托管非常契合,这恰恰是 Serverless 的最大优势。
以阿里云函数计算为例:
天然的事件驱动模型,提供毫秒级弹性能力、按量付费、安全沙箱的运行时环境,完美解决了云上托管对于性能、成本、安全的需求;
官方对于 Nodejs、Python 运行时的支持完善,内置代码包加速能力以及层的扩展,大幅降低代码启动时间;
控制台、SDK、ServerlessDevs 工具提供丰富的函数元数据的管理能力;
这些能力让 Serverless 正成为托管 MCP 的最优解。作为 MCP 的最佳运行时,函数计算已经支持阿里云百炼 MCP 服务。
Function AI 是基于函数计算构建的 Serverless AI 应用开发平台,基于函数计算的运行时能力上线了完整的 MCP 开发能力,成为真正意义上的MCP 开发平台。您可以进入FunctionAI控制台,快速体验 MCP 服务的能力。
快速部署
方式一:通过模板一键部署
选择MCP模板
进入FunctionAI控制台,选择探索->筛选应用模板(MCP Server),选择一个MCP模板进行部署
填写模板配置,部署项目
查看部署进度
方式二:创建自定义MCP服务
创建空白项目
创建MCP服务
编辑MCP服务配置,完成后点击预览&部署
查看部署进度,等待部署完成
方式三:使用ServerlessDevs工具本地部署
FunctionAI 正式发布了 ServerlessDevs 工具的 MCP 组件,实现本地部署 MCP 工程到 FunctionAI 的能力
安装ServerlessDevs工具:
npm install @serverless-devs/s -g
复制代码
初始化MCP项目
s init start-fcai-mcp-nodejs
复制代码
查看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 # 实例数配额
复制代码
执行部署
s deploy
复制代码
登录到控制台,可以查看云端的部署详情
测试 MCP 服务
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
复制代码
高阶能力
鉴权
MCP 的鉴权只适用于 SSE 的协议,而且必须遵循 OAuth2.1协议标准,对于大量的 STDIO 的 MCP 服务托管的改造难度非常之高,企业落地 MCP 鉴权是一个非常痛点的问题。
FunctionAI 提供了网关侧的 Bearer 鉴权能力,用户只需要开启鉴权功能,使用平台生成的 Bearer Token,就可以让 MCP 服务自带鉴权能力。
使用方式
编辑服务配置,点击开启鉴权,保存并且部署。开启后,平台会对服务生成一个只读的Bearer Token。
测试鉴权生效
使用平台生成的Beaer Token,可以正常访问MCP服务
使用错误的token时,访问失败
使用本地的Inspector,输入服务的token,访问正常。
变量管理
很多的 MCP Server 代码都需要访问第三方服务,比如高德地图、Github 等,需要持有用户的访问秘钥,比如API-Key、AccessToken,这些秘钥通常以环境变量加载或者启动命令参数注入。
FunctionAI 提供了变量管理能力,并且支持敏感变量托管,可以实现 MCP 服务访问秘钥的安全可靠管理。
配置方式:设置服务变量
选择服务->服务变量,添加服务变量的Key和Value
加载方式1:环境变量
FunctionAI上配置的服务变量会默认注入到函数启动的环境变量中,MCP服务代码可以直接通过系统环境变量读取
加载方式2:启动参数
FunctionAI的服务变量支持通过${self.KEY_NAME}的方式引用,可以在启动命令中修改命令行参数,使用变量的引用,在启动阶段注入变量的值。
绑定代码仓库进行持续部署
FunctionAI的MCP服务面向开发态能力,提供以代码仓库托管MCP 服务的能力。
使用方式:
编辑MCP服务配置,选择代码仓库,目前支持了Github、Gitee、Codeup、GitLab、OSS代码仓库。
选择仓库分支、MCP工程在代码仓库中的根目录
选择构建环境:对于多语言的工程,可以选择多个构建环境
编辑构建命令:例如 npm build、pip install -r requirements.txt
可选:开启构建缓存,缓存目录根据不同语言可以设置/.npm(Nodejs)、/.cache(Python)、~/.m2、(Java)
绑定Git仓库后,如果指定的分支有push操作,会自动触发服务的持续部署
极速模式
对于延迟敏感性的业务,FunctionAI提供了极速模式,可以提前预留指定数量的实例快照,降低频繁冷启动带来的开销,并且只有在有活跃请求时才会产生vCPU费用,可以实现性能和成本的平衡。
另外由于MCP SSE请求的session机制,同一个session id访问到不同实例会导致上下文丢失,因此建议开启预置快照为1并且实例限额为1,这样可以让SSE请求打到不同弹性实例的概率更小。
:::info
FunctionAI后面会上线会话亲和性能力,尽情期待。
:::
开启后,可以在函数监控页面看到预留实例的个数
总结与未来展望
FunctionAI 现在已经支持了完整的 MCP 开发能力,包括:
部署形式上,支持模板直接部署、自定义MCP服务、ServerlessDevs工具本地部署
托管能力上,支持STDIO/SSE的自动托管,无需业务改造既能生成可用于访问的SSE地址
调试能力上,支持控制台直接调试以及Inspector本地调试
二次开发能力上,支持变量管理、鉴权、绑定代码仓库进行持续部署
可观测能力上,支持函数监控、实例监控以及日志
弹性调度上,支持标准模式以及极速模式
MCP 的价值是统一了 Agent 和 LLM 之间的标准化接口,有了 MCP Server 的托管以及开发态能力只是第一步,接下来重要的是做好 MCP 和 Agent 的集成,FunctionAI 即将上线 Agent 开发能力,敬请期待。
更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
如何优雅上线、下线?原来 大厂应用 是这样 优雅发布的!
在 .NET 中将 EF Core 升级到 9.0.5 MySQL 连接提示 get_LockReleaseBehavior
AppFreeze与资源泄漏能力开放及常见问题定位方法介绍
HarmonyOS 5.0 分布式数据协同与跨设备同步
人工智能将如何影响语言的演变?
sshd服务
记录---前端图像五兄弟:网络 URL、Base64、Blob、ArrayBuffer、本地路径,全整明白!
不是哥们,26 岁程序员,去种头发了?
Datawhale速通百炼RAG应用-Task1
开源情报中批判性思维因人工智能而逐渐衰落
【UAP】使用 .NET Core App 编写 UAP
【一步步开发AI运动APP】一、写在最前
在Ubuntu中部署.NET 8 Minimal WebAPI项目
JavaScript基础
并发编程--下篇
微软又退出中国。。。
康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX
MOSN(Modular Open Smart Network)是一款主要使用 Go 语言开发的云原生网络代理平台
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
斜素欣
前天 00:13
关注
0
粉丝关注
2
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
10000
渭茱瀑
9993
恐肩
9998
4
都硎唷
9998
5
蓟晓彤
9998
6
扈梅风
9998
7
王平莹
9998
8
喝岖
9998
9
后彼
9998
10
石娅凉
9998
查看更多