随着企业数字化转型的深入,Model Context Protocol (MCP) 作为连接AI模型与企业数据的重要桥梁,正在成为企业AI应用的核心基础设施。阿里云计算巢为企业提供了完整的MCP市场解决方案,帮助企业快速构建内部私有化的MCP服务平台,实现AI能力的统一管理和分发。本文介绍如何基于计算巢构建企业内部MCP市场,包括系统架构设计、公开和私有MCP服务部署、权限管理以及企业级功能特性。
系统架构设计
核心组件与架构特点
核心组件:
MCP集群管理:支持私有和公开MCP包的统一管理。
AI网关(Higress):提供统一的API入口和路由控制。
权限控制模块:基于API Key的多租户权限管理。
基础设施管理:包含动态伸缩、服务发现、健康检查等。
架构特点:
私有MCP包通过OSS存储,支持本地化部署。
AI网关提供统一的API访问入口和认证机制。
支持REST API转MCP协议的智能转换。
完整的监控和日志管理体系。
通过计算巢MCP市场,企业可以快速构建内部的私有化MCP服务平台。
核心价值:
统一管理:公开和私有MCP服务的统一管理和分发。
安全可控:企业级的权限管理和数据安全保障。
易于使用:简化的部署流程和直观的管理界面。
业务收益:
提升AI应用开发效率。
降低基础设施管理成本。
增强数据安全和合规性。
促进企业内部AI能力共享。
多协议支持
MCP原生协议:SSE长连接,实时交互
OpenAPI REST:标准HTTP接口
Streamable HTTP:分块传输,支持大数据流处理
部署模式
社区版能力:
快速部署MCP,支持私有化部署
支持实例变配和MCP调试
简单的MCP管控面板
企业版增强:
在社区版基础上,支持以下功能
支持选择已有AI网关实例和自定义域名
企业级权限管理和API Key分发
完备的MCP管控面板
公开MCP服务部署
支持的服务类型
计算巢MCP市场支持多种类型的公开MCP服务。
标准公开MCP工具:
浏览器自动化工具
位置服务和地图工具
搜索引擎工具
开发者工具集
文件处理工具
数据分析工具
自定义公开MCP服务:
支持从公共仓库安装的NPX包
支持从公共仓库安装的UVX包
已有的SSE MCP服务纳管
公开MCP服务部署流程
访问MCP市场:进入计算巢首点击"MCP市场",浏览可用的公开MCP工具。
选择要部署的MCP工具,如"必应搜索中文",点击MCP工具进入详细文档界面,查看工具功能说明和使用示例。
单击开始部署,选择创建新的服务实例或部署到已有实例,多个MCP工具可部署在同一服务实例内。
根据业务情况选择合适的ECS实例规格及包年包月或按量付费的计费方式,配置网络和安全组。
配置完成后点击立即创建开始部署,待服务实例创建完成后,可获取到MCP控制台和调试界面访问地址。
私有MCP服务部署
若无可用的OSS Bucket可通过任意公开MCP包创建出计算巢服务实例,该服务实例会自动创建出符合规范的OSS仓库。
MCP包存储及部署原理
OSS存储方案:
所有私有包统一上传到用户自有的OSS Bucket根目录
安全控制:
通过ECS RAM Role实现安全的OSS访问
支持包的加密存储
实施访问日志和审计
自动化部署流程:
环境检查:检查OSSUtil工具是否已安装配置
包下载:从OSS下载私有MCP包到本地
服务启动:根据配置启动MCP服务
健康检查:验证服务是否正常运行
服务注册:将服务注册到AI网关
计算巢MCP市场支持标准的包管理格式Python (UVX) 格式和JavaScript (NPX) 格式。
Python (UVX) 格式
基于PEP 518标准的pyproject.toml配置。
支持文件类型:
.whl
、.tar.gz
。
JavaScript (NPX) 格式
基于标准的package.json配置。
支持文件类型:
.tgz
。
创建流程
Python MCP包创建流程
创建
pyproject.toml
文件。[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "your-mcp-package" # 包名(必需) version = "1.0.0" # 版本号(必需) description = "Your MCP Server description" authors = [ {name = "Your Name", email = "your.email@example.com"} ] readme = "README.md" requires-python = ">=3.8" # Python版本要求 dependencies = [] # 运行时依赖 # 脚本入口点配置(必需) [project.scripts] your-mcp-command = "your_package_name.server:main" [project.urls] Homepage = "https://github.com/your-username/your-mcp-package" # 构建配置 [tool.hatch.build.targets.wheel] packages = ["src/your_package_name"]
进入计算巢首页,点击"MCP市场",选择"创建自定义MCP"。
上传MCP图标(支持自定义图标),设置MCP名称和唯一ID。
说明同一服务实例下ID不能重复。
选择安装方式为UVX,选择合适的地域和OSS Bucket,上传软件包。
(可选)配置启动参数。
默认参数启动命令如下(不可修改)。
uvx /mcp-package/your-package-name.whl
您可添加额外的启动参数。
--timezone Asia/Shanghai --config /path/to/config
(可选)配置环境变量,如果您使用的MCP Server的package需要设置环境变量,如API Key 等参数,可在此处添加配置。
选择创建新的服务实例或部署到已有实例。等待部署完成,可通过MCP管控平台查看服务状态。
JavaScript MCP包创建流程
确保
package.json
包含正确的配置:{ "name": "your-mcp-package", "version": "1.0.0", "description": "Your MCP Server description", "main": "index.js", "bin": { "your-mcp-command": "./bin/server.js" }, "dependencies": { "@modelcontextprotocol/sdk": "^0.4.0" } }
使用
npm pack
生成.tgz
包文件。上传配置,选择安装方式为NPX,上传
.tgz
格式的软件包。(可选)配置启动参数。
默认参数启动命令如下(不可修改)。
npx -y --package /mcp-package/your-package.tgz ${启动命令}
自定义参数:第一个参数必须是可执行文件映射(package.json中bin字段的值)。
your-mcp-command --config /path/to/config
说明用户如果有自定义参数项,比如给package设置时区,则可传入类似--from cn-beijing的值进行设置。此处会通过空格解析传入的指令
(可选)配置环境变量,如果您使用的MCP Server的package需要设置环境变量,如API Key 等参数,可在此处添加配置。
直接新建服务实例或选择已有的服务实例。
待服务实例部署完后,可点击MCP管控平台查看整体的MCP服务,或在下方可用的MCP服务处选择查看。
企业内部API转MCP服务
对于企业内部,满足OpenAPI规范的配置文件的API服务,可基于AI网关实现已有API转MCP。该转换操作支持将OpenAPI规范批量转化为MCP Server,自动生成MCP协议适配层,并保持原有API的功能和性能。
企业接入指南
接入前,需创建网关实例。
企业MCP市场展示
在企业版计算巢服务实例中,展示了可用的MCP。此处需要调用AI网关的APIListHttpApiRoutes和ListHttpApis查询可用的MCP,包含API转MCP和私有公开包拉起的MCP。
调用逻辑如下:
首先通过ListHttpApis获取ApiId,入参如下。出参中获取到
type
为唯一的MCP相关的httpApiId
。"gatewayId": "gw-d1qbbium1hko66pmepf0",(从服务实例Parameters里获取) "gatewayType": "AI",(固定) "keyword": "mcp",(固定)
通过传入
httpApiId
和从服务实例里获取的gatewayId
,通过ListHttpApiRoutes查询当前网关MCP信息。对于计算巢部署的MCP,在Description
字段中存储了该MCP的图标,名称和描述。可参考以下字段:{ "Name": "MCP-Name", "Description": "该服务器使大型语言模型能够检索和处理网页内容,将HTML转换为markdown格式,以便于更轻松地使用。", "Path": "oss://packages/nodejs/web-scraper-mcp-1.0.0.tgz或whl", "Icon": "https://resources.modelscope.cn/studio-cover-pre/studio-cover_761f7bfe-fc5c-4753-b955-dcdd3288941b.png", }
将以上结果作为卡片展示即可。
企业级权限管理架构
权限控制模块包含以下核心组件:
消费者管理(Consumer Management):管理不同业务团队的身份标识。
API Key认证:基于API Key的身份验证机制。
授权策略引擎:控制消费者对MCP服务的访问权限。
路由级权限控制:在AI网关层面实现精细化的路由访问控制。
权限模型:
企业平台
├── 业务团队A (Consumer A)
│ ├── API Key: bmw-team-a-001
│ └── 权限: MCP1, MCP2, MCP3
├── 业务团队B (Consumer B)
│ ├── API Key: bmw-team-b-002
│ └── 权限: MCP4, MCP5, MCP6
└── 业务团队C (Consumer C)
├── API Key: bmw-team-c-003
└── 权限: MCP1, MCP4, MCP5
消费者与API Key管理
平台管理员可以通过调用CreateConsumer
API为业务团队创建消费者身份。
API调用示例:
{
"apiKeyIdentityConfig": {
"apikeySource": {
"source": "QueryString",
"value": "apikey"
},
"type": "Apikey",
"credentials": [
{
"generateMode": "Custom",
"apikey": "bmw-team-a-001"
}
]
},
"name": "会计团队",
"enable": true,
"gatewayType": "AI"
}
响应示例:
{
"code": "Ok",
"data": {
"consumerId": "cs-d2437ium1hkoc92qbpo0"
},
"requestId": "3CA6571A-937B-3164-8DE7-11716FA43466"
}
API Key命名规范建议:
{企业标识}-{团队标识}-{序号}
例如:bmw-finance-001, bmw-frontend-002
安全策略:
API Key应存储在安全的配置管理系统中。
避免在代码中硬编码API Key。
定期轮换API Key提升安全性。
实施IP白名单限制。
MCP服务授权机制
启用MCP服务认证
调用CreateAndAttachPolicy
API,为每个MCP服务启用认证机制,。
{
"attachResourceType": "GatewayRoute",
"gatewayId": "gw-d1qbbium1hko66pmepf0",
"environmentId": "env-d1qbc7em1hkluu4lgagg",
"config": "{\"authenticationType\":\"Apikey\",\"enable\":true}",
"className": "Authentication",
"attachResourceIds": [
"hr-d1sqdqem1hkrte7kn3t0"
]
}
消费者授权
通过CreateConsumerAuthorizationRules
API为消费者授权访问特定MCP服务:
{
"authorizationRules": [
{
"consumerId": "cs-d242jsum1hkktoltohs0",
"resourceIdentifier": {
"resourceId": "hr-d1sqdqem1hkrte7kn3t0",
"environmentId": "env-d1qbc7em1hkluu4lgagg"
},
"resourceType": "MCP",
"expireMode": "LongTerm"
}
]
}
权限申请工作流
在企业内部可参考以下流程实现API Key的自动化。
业务团队提交申请:选择需要访问的MCP服务列表。
平台方审核:验证申请的合理性和安全风险。
自动化授权:系统自动创建消费者并执行授权操作。
权限生效:业务团队获得API Key并开始使用。
MCP服务使用与集成
支持所有兼容MCP协议的AI助手,提供标准的MCP服务器配置格式,支持SSE、HTTP等多种连接方式。
AI助手Cherry Studio集成示例
访问计算巢实例界面,选择要使用的MCP工具进入详情页面,获取MCP配置信息。
复制MCP服务器配置信息。
打开Cherry Studio助手,新建MCP服务器配置,粘贴复制的配置信息。
点击右上角的"启用"和"保存",进入对话界面,选择要使用的MCP工具,开始与AI助手进行对话,调用MCP工具功能。
运维监控与健康检查
实例健康状态监控
访问服务实例监控面板可查看ECS监控指标。
MCP服务可用性检测。
MCP调用日志,网关日志可在AI网关控制台查看。