在ModelArts Studio(MaaS)创建自定义MCP服务
除了开通预置的MCP服务,MaaS还支持部署开源社区和自行开发的MCP服务。自定义MCP服务会被部署到函数计算FunctionGraph中,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。
场景描述
当预置的MCP服务无法满足个性化需求(如特殊业务逻辑处理、特定工具集成等)时,您可以基于开源社区资源或自主开发,通过本地(NPX/UVX)和远端(SSE)部署方式搭建专属MCP服务,实现业务流程的深度定制与高效运行。
约束限制
- 同一账户下不允许存在同名的自定义MCP Server。
- 使用开源社区方案或自主开发服务需遵循对应开源协议与法律法规。
计费说明
- 创建自定义MCP服务不涉及计费。
- 使用预留实例或调用自定义MCP服务可能会产生费用。实际计费请以FunctionGraph计费为准,详情请参见FunctionGraph函数工作流计费规则。您可以在FunctionGraph控制台查看应用的调用总量统计及资源用量统计。
使用预留实例:按照部署时长额外计费,从创建开始计费,直到取消使用预留实例或者停用MCP服务。关于计费详情,请参见预留实例计费规则。
前提条件
- 已注册华为云账号,并进行实名认证。具体操作,请参见注册华为账号并开通华为云和实名认证。
- 已完成ModelArts委托授权。具体操作,请参见配置ModelArts Studio(MaaS)访问授权。
创建自定义MCP服务
- 登录ModelArts Studio(MaaS)控制台,在顶部导航栏选择目标区域。
- 在左侧导航栏,选择“应用中心 > MCP管理”。
- 在“MCP管理”页面右上角,单击“创建MCP”。
- 在“创建MCP”页面,配置相关信息。
初次创建MCP时,会出现“授权提醒”弹窗,请单击“同意授权”完成授权避免影响应用发布。
图1 授权提醒表1 创建MCP参数说明 参数
说明
MCP名称
自定义MCP的名称。MCP名称具有唯一性,不能重复。支持1~256位只包含中英文,数字,下划线(_)、中划线(-)和半角句号(.)的名称。
描述
自定义MCP的描述,最多支持1024字符。
部署方式
支持NPX、UVX和Remote URL三种部署方式,请您按需选择。关于部署方式的更多信息,请参见MCP部署方式。
使用预留实例
仅“部署方式”选择“NPX”或“UVX”时,支持设置该参数。
适用于对时延要求较高的场景,通过预留实例预热函数,从而消除冷启动对时延的影响。预留实例按照部署时长额外计费,从创建开始计费,直到停用MCP服务。
MCP服务配置
需符合所选部署方式的标准格式。在JSON中,NPX和UVX需要指定"command": "npx", 或 "command": "uvx",Remote URL(SSE)方式需要有url字段。请确保JSON中只包含一个MCP Server,如果存在名称相同的MCP Server,仅最后一个会部署。
您可以在“MCP广场”页面,“部署方式”选择“本地部署”,单击MCP应用卡片,在“概览”页签查看MCP服务对应的JSON配置文件。
代码示例如下:
- NPX
{ "mcpServers": { "amap-maps": { "command": "npx", "args": [ "-y", "@amap/amap-maps-mcp-server" ], "env": { "AMAP_MAPS_API_KEY": "******" } } } }
- UVX
{ "mcpServers": { "MCP-timeserver": { "command": "uvx", "args": ["MCP-timeserver"] } } }
- Remote URL
{ "mcpServers": { "amap-maps-sse": { "url": "https://mcp.amap.com/sse?key=高德开放平台上申请的Key" } } }
- NPX
- 确认配置信息和计费无误后,单击“立即创建”。
创建完成后,在“MCP管理”页面的“自定义MCP”页签,可以看到新建的MCP服务,且状态为“已部署”。您可以单击MCP服务卡片查看详情,也可以进行编辑、停用、删除等操作。
MCP部署方式
MaaS支持本地部署和云端部署MCP服务。
- 本地部署:不可以直接开通使用,仅提供元数据。您可以在“MCP广场”页面查看支持本地部署的MCP服务和JSON配置文件,然后在“MCP管理”页面通过NPX、UVX等方式进行部署。
- 云端部署:可以直接在“MCP广场”页面开通使用,包括MCP官方、三方平台以及MaaS云端部署的MCP服务,提供SSE访问方式。
维度 |
本地部署 |
云端部署 |
---|---|---|
定义 |
将MCP平台直接部署在企业本地数据中心或自有服务器上,系统完全由企业自主管理。 |
将MCP平台部署在公有云或第三方托管服务上,通过网络远程管理集群。 |
通信方式 |
Stdio(标准输出的本地通信方式) |
SSE(远程通信) |
部署方式 |
NPX、UVX |
SSE(Remote URL) |
优势 |
安全、自主可控,适合有敏感数据的场景。 |
|
适用场景 |
|
|
相关文档 |
将MCP服务添加至应用进行发布并调用
自定义MCP服务创建完成后,您可以在“应用管理”页面创建应用,添加已创建的自定义MCP服务,将应用进行发布并调用。具体操作,请参见在ModelArts Studio(MaaS)应用管理创建应用。
编辑自定义MCP服务
已部署的MCP服务支持修改MCP名称、MCP服务配置等信息。部署方式不支持修改。更新自定义MCP服务将会重新部署该服务。
- 登录ModelArts Studio(MaaS)控制台,在顶部导航栏选择目标区域。
- 在左侧导航栏,选择“应用中心 > MCP管理”。
- 在“MCP管理 > 自定义MCP”页面,单击MCP卡片中的“编辑”。
- 在“编辑MCP”页面,按需修改MCP名称、MCP服务配置等信息,然后单击“更新”。
关于参数说明,请参见表1。
- 在“更新MCP”对话框,按需选择以下操作。
- 如果发布的应用已关联该MCP服务:
- “更新MCP”对话框会提示已关联的MCP应用不会自动同步更新,为确保可用性,请在MCP更新后,重新发布关联应用。
- 在“更新MCP”对话框的“关联应用列表”,单击或记录已关联的应用名称。
- 在“更新MCP”对话框,输入YES,单击“确认”。
- 重新发布已关联该MCP的应用。
- 如果发布的应用未添加该MCP服务:单击“确认”。
- 如果发布的应用已关联该MCP服务:
停用/启动自定义MCP服务
已部署的MCP服务支持停用操作,停用后支持重新启动。
- 登录ModelArts Studio(MaaS)控制台,在顶部导航栏选择目标区域。
- 在左侧导航栏,选择“应用中心 > MCP管理”。
- 在“MCP管理 > 自定义MCP”页面,按需进行以下操作。
删除自定义MCP服务
对于不需要的MCP服务,您可以进行删除操作。删除后将无法恢复,请谨慎操作。如果发布的应用已添加该MCP,则无法直接删除该自定义MCP服务。
- 登录ModelArts Studio(MaaS)控制台,在顶部导航栏选择目标区域。
- 在左侧导航栏,选择“应用中心 > MCP管理”。
- 在“MCP管理 > 自定义MCP”页面,单击MCP卡片中的“删除”。
- 在“删除MCP”对话框,按需进行以下操作。
- 如果发布的应用已添加该MCP服务:
- “停用MCP”对话框会提示无法停止该MCP服务,您可以单击应用名称,在“编辑应用”页面删除该MCP,然后在右上角单击“更新”。
- 重复以上操作,确保发布的应用均已删除该MCP服务。
- 在“删除MCP”对话框,输入DELETE,单击“确定”。
- 如果发布的应用未添加该MCP服务:在“删除MCP”对话框,输入DELETE,单击“确定”。
- 如果发布的应用已添加该MCP服务:
常见问题
是否只支持MaaS平台预置的本地部署的MCP服务?
不是,只要您准备好准确的NPX/UVX的JSON配置文件,即可创建自定义MCP服务。