近期OpenAI创始人Altman公开支持MCP协议,标志着这一“AI万能插头”正从技术协议演变为行业标准。MCP协议不仅重构了AI与工具、数据的交互方式,更在技术架构、治理模式、企业应用中掀起巨浪,它正在颠覆传统软件产业的授权模式、开发流程、商业模式以及底层逻辑。随着MCP火爆,各种MCP Server也在层出不穷的涌现,MCP生态化已经形成,但也面临着诸多治理性难题。
目录
2、使用高德官方的 Open API,构建 MCP Server
目录
2、使用高德官方的 Open API,构建 MCP Server
一、MCP面临的治理性难题有哪些
-
认证与权限控制机制不足
MCP协议目前未强制统一认证机制,开发者需自行处理身份验证(如OAuth、API Key),导致不同MCP Server的权限管理差异巨大。例如,某金融企业的Slack MCP Server仅允许内部IP访问,而公共搜索引擎MCP Server则开放匿名调用。这种现象会导致企业级场景中AI产品无法满足多用户、多角色的权限需求,例如企业内部的MaaS平台需区分不同租户的访问权限。
-
服务发现与生态治理
当前MCP Server依赖手动配置端点,开发者需自行在GitHub或市场(如Mintlify的mcpt)中寻找适配服务。Anthropic计划推出MCP注册表协议,支持动态服务发现与版本兼容性检查,未来可能通过DAO模式实现社区化治理。某跨国零售企业通过自建MCP治理中台,将内部工具(订单系统、库存API)封装为标准化MCP Server,并基于语义匹配算法自动推荐工具链,需求响应效率提升50%
二、MCP中台演化
未来的工作场景中,软件交互方式将发生重大变革。现有的多数软件交互入口可能逐渐消失,取而代之的是通过一轮对话解决一个需求。软件工具及其操作流程将深度融入对话聊天场景,甚至对用户完全隐形,一切皆由 AI 大模型智能调度。对于用户而言,无论是部门日常业务所需,还是个人高频使用的所需,都将由 AI 助力生成高度契合个人需求的个性化入口。
在过去的软件设计中,采用的是瀑布式开发流程。从业务部门提出需求开始,到最终软件交付,往往需要耗费数月时间。而在新的交互模式下,针对用户需求,用什么工具并非大家所关心的,更不想自己去整合搭建的零散组件,如今可以通过"AI大模型+MCP协议+各种工具软件调用"来实现了。而对于目前存量接口API我们也可以借用NACOS框架快速构建MCP协议,接入AI调用。
中台化是MCP从技术协议走向生产力的关键,MCP中台并不是为人服务的,而是为AI大模型服务的。可以设想,在 MCP 中台之中,我们可以借用Higress网关和NACOS中间件针对MCP Server提供统一授权认证、服务注册与发现、负载均衡、健康检查及对MCP的信息灰度管理、信息版本管理等。
MCP协议的企业级治理需在开放性与可控性之间寻求平衡。通过引入网关中间层、配置中心层、服务管理层、强化安全认证、构建工具市场及标准化工作流引擎,企业可逐步克服现有挑战。
三、MCP与Serverless
想象一下,如果一家企业员工人数有10000人,但可能需要一万个AI智能体协同工作。人效越高的企业,人均拥有的AI智能体的数量会越多。并且,随着客户需求的变化以及市场的动态发展,还会有大量新的AI智能体不断生成。这些源源不断涌现的AI智能体,对于计算资源的弹性需求将会大幅攀升。
函数计算作为 Serverless 算力的典型代表,其凭借在开发效率,按需付费,极致弹性等产品能力直击MCP Server 托管的核心痛点。将 MCP Server 托管在函数计算上,基于 Serverless 架构,可实时响应 AI 任务需求,自动扩展 CPU/GPU,确保算力高并发处理能力,支持多个 AI 项目并行运行,资源按优先级动态调度,提升整体算力利用率。Serverless 按实际计算资源消耗计费,而非固定服务器租赁费用,尤其适合 AI 训练和推理任务中常见的波动性负载。通常AI 模型训练需要突发性算力,Serverless 能自动分配资源,避免传统模式下预留资源导致的服务器空置问题。
企业不管是在私有化部署还是云上部署,AI对软件的调度过程中就会产生对Serverless技术架构的需求。更重要的是,借助AI技术,利用其编程能力还能够产生出各种各样的Serverless服务。这些Serverless服务将为AI智能体提供极大的便利,使其可以轻松调用所需资源 ,更好地完成各项工作任务,MCP与Serverless的结合,正在重塑AI工作流的资源管理范式。
当下社区积极的推动 MCP 协议演进,推动 Steamable HTTP transport 技术代替原有 HTTP+SSE 的通信方式,原有的 MCP 传输方式就像是你和客服通话时必须一直保持在线(SSE 需要长连接),而新的方式更像是你随时可以发消息,然后等回复(普通 HTTP 请求,但可以流式传输)。这种形式与 Serverless 算力无状态模式更加契合,协议层演进将更有利于云上 Serverless 算力的价值放大,随着 AI 模型复杂度和数据规模持续增长,Serverless 与 MCP Server 的结合将成为趋势。
四、实操案例
最近高德推出了 MCP Server 获得了业内广泛关注,这部分 Server 是高德基于 MCP 社区的开发指引实现的,构建成本较高。接下来,我们基于高德官方的 Open API 接口,通过 Nacos+Higress 的方案,来实现 MCP Server的统一配置管理。
1、环境准备
Nacos 部署
通过 docker 部署 nacos:
export NACOS_AUTH_TOKEN=自定义的token,token为原始内容的base64编码结果
export NACOS_AUTH_IDENTITY_VALUE=自定义的IDENTITY_VALUE,任意英文和数字组合
docker run -td -e PREFER_HOST_MODE=hostname -e MODE=standalone -e NACOS_AUTH_IDENTITY_KEY=serverIdentity -e NACOS_AUTH_IDENTITY_VALUE=${NACOS_AUTH_IDENTITY_VALUE} -e NACOS_AUTH_TOKEN=${NACOS_AUTH_TOKEN} -p 8848:8848 -p 9848:9848 nacos/nacos-server
Higress 部署
配置Kind
通过 Kind 在本地安装 higress,在 Linux x86 的环境下使用如下命令安装
# For AMD64 / x86_64[ $(uname -m) = x86_64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.27.0/kind-linux-amd64# For ARM64[ $(uname -m) = aarch64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.27.0/kind-linux-arm64chmod +x ./kindsudo mv ./kind /usr/local/bin/kind
通过 Kind 创建一个 local 的 K8s 集群
kind create cluster
获取 hgctl,准备安装 higress
curl -Ls https://raw.githubusercontent.com/alibaba/higress/main/tools/hack/get-hgctl.sh | bash
在本地部署 higress
hgctl install --set profile=local-k8s
安装 Kubectl,并连接到刚刚创建的集群
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"chmod +x ./kubectlmv ./kubectl /usr/bin/kubectl
部署 redis
docker run --name higress-redis -d redis
修改 ConfigMap,让 Higress 连接到 Nacos
kubectl -n higress-system edit cm higress-config
将红框部分替换为一下内容,即在原本配置中,data.higress 中增加 mcpServer 段的配置
apiVersion: v1
data:
higress: |-
mcpServer:
sse_path_suffix: /sse
enable: true
redis:
address: {local_ip}:6379
match_list:
- match_rule_domain: "*"
match_rule_path: /registry
match_rule_type: "prefix"
servers:
- name: nacos-registry
type: nacos-mcp-registry
path: /registry
config:
serverAddr: {local_ip}
namespace: ""
serviceMatcher:
amap: ".*"
ip: ".*"
downstream:
connectionBufferLimits: 32768
http2:
initialConnectionWindowSize: 1048576
initialStreamWindowSize: 65535
maxConcurrentStreams: 100
idleTimeout: 180
maxRequestHeadersKb: 60
routeTimeout: 0
upstream:
connectionBufferLimits: 10485760
idleTimeout: 10
请将 {local_ip} 替换为本机地址,可以在本地执行以下命令获取
ifconfig eth0 | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}'
编辑完成之后保存配置,至此基本环境以及配置完成。
2、使用高德官方的 Open API,构建 MCP Server
环境部署完成之后,我们通过一个小的 Demo 对整个流程进行演示,我们以查询天气为场景,将高德的 HTTP 接口在无改造的情况下暴露为 MCP 协议,让 Agent 进行调用。
高德开发者 API KEY 申请
调用高德 API,我们首先需要申请到高德 API 的 key。进入高德开发者平台 ,登陆之后,创建新应用。
创建新应用:
应用创建完成之后,我们创建 key:
在控制台看到 key,将 key 保存下来
接下来我们完成 higress 中关联 Nacos 做 MCP registry 的配置
接下来我们在 Nacos 中配置完成高德 HttpApi 的描述文件的配置以及高德域名信息配置
3、在 Nacos 中进行高德 API 服务配置
首先我们通过持久化服务发现的能力将高德的域名注册到 nacos 中,服务名为 amap,分组为 amap。
创建完服务之后,我们将高德的域名注册到 Nacos 中。
通过以下命令注册高德的域名。
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=amap&groupName=amap&ip=restapi.amap.com&port=80&ephemeral=false'
通过以下命令检查 amap 服务的实例数变为 1。
在配置中心新建一个配置文件对高德的 API 进行描述。
进入配置中心,点击新建配置。
创建 DataId 为 amap-mcp-tools.json分组为 amap 的配置项,配置内容为
{
"protocol": "http",
"tools": [
{
"name": "get_weather",
"description": "get weather",
"inputSchema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "city adcode"
}
}
}
},
{
"name": "get_adcode",
"description": "get adcode via address",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "address"
}
}
}
},
{
"name": "get_address_via_ip",
"description": "get address via ip",
"inputSchema": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"description": "ip address"
}
}
}
}
],
"toolsMeta": {
"get_weather": {
"credentialRef": "amap-key.json",
"InvokeContext": {
"path": "/v3/weather/weatherInfo",
"method": "GET"
}
},
"get_adcode": {
"credentialRef": "amap-key.json",
"InvokeContext": {
"path": "/v3/geocode/geo",
"method": "GET"
}
},
"get_address_via_ip": {
"credentialRef": "amap-key.json",
"InvokeContext": {
"path": "/v3/ip",
"method": "GET"
}
}
}
}
这个配置描述了高德的 HTTP API 的相关参数信息,以及 Higress 进行协议转换时需要的上下文信息。再创建 DataId 为 amap-key.json, 分组为 amap 的配置项配置内容为:
{
"type": "fixed-query-token",
"credentialsMap": {
"key": "key",
"value": "高德的api key"
}
}
在 Nacos 中进行获取出口 IP 服务配置
注册一个获取当前出口 IP 的服务获取当前的 IP。以 ipinfo.io 为例,在服务管理中创建服务 ip, 分组为 ip:
服务创建完成之后,向 Nacos 中注册 ipinfo.io 的域名信息,执行一下命令。
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=ip&groupName=ip&ip=ipinfo.io&port=80&ephemeral=false'
注册完成之后,就能在 Nacos 控制台看到 IP 服务的下有一个实例了。
服务创建完成之后,我们在配置中心配置获取 IP 服务的接口描述。创建 DataId ip-mcp-tools.json为 ,分组为 ip 的配置,配置内容为:
{
"protocol": "http",
"tools": [
{
"name": "get_current_ip_address",
"description": "get current caller's ip address",
"inputSchema": {
"type": "object",
"properties": {
"empty_args": {
"type": "string",
"description": "should be empty"
}
}
}
}
],
"toolsMeta": {
"get_current_ip_address": {
"InvokeContext": {
"path": "/",
"method": "GET"
}
}
}
}
配置创建完之后,就可以在 Cursor 中配置 Higress 作为 MCP Server 调用 Tool 了。
Cursor MCP 配置
Cursor 的具体配置方法如下:首先安装最新版本的 Cursor,安装完成之后在 Cursor 的设置中,配置 MCP Server 的具体信息。
{
"mcpServers": {
"nacos-registry": {
"url": "http://localhost/registry/sse"
}
}
}
配置完成后可以看到 通过 Higress + Nacos 暴露的 MCP Server 提供的 Tool。
3、查询天气
接下来,我们通过 Agent 模式向智能体,询问今天天气怎么样。
可以看到,智能体先获取了当前主机的出口 IP,再通过 IP 获取到具体的省市信息,再通过省市信息获取到adcode,最终通过 adcode 获取到当前的天气信息。
整个过程中,用户只需要将服务注册在 Nacos 中,并且在 Nacos 中配置服务接口相关的描述信息即可,服务本身的代码无需任何改造。
五、未来趋势
1、企业级 MCP 市场
除了开源社区版本,阿里云 API 网关也将很快上架 MCP 市场,面向企业用户提供更加完善的服务,如:
-
企业级 SLA 保障:提供 99.99% 的服务可用性承诺,满足企业关键业务的需求。
-
合规认证:通过多项安全合规认证,满足金融、医疗等行业的严格要求。
-
专家支持:提供 7x24 小时技术支持和咨询服务,帮助企业快速解决问题。
2、AI原生架构革命
“瘦LLM+胖MCP”模式将成为主流:LLM仅负责语言交互,复杂能力由MCP Server动态扩展。例如,Claude Desktop已支持调用Blender MCP Server,用户通过自然语言即可生成3D模型
文末总结
随着 OpenAI 、Anthropic、阿里巴巴 等行业巨头的推动,以及 Higress 、Nacos等开源项目的支持,MCP 协议正在从事实标准走向行业标准。从治理标准化到中台化落地,再到Serverless的弹性扩展,其核心价值在于将固化的软件能力转化为流动的智能服务。未来,企业竞争的关键不再是拥有多少软件许可证,而是能否构建高效的MCP能力调度网络,这将成为AI 2.0时代的核心基础设施。
最后感谢大家持续关注,您的关注和点评是我持续写作的动力,大家也可以前去关注我的微信公众号:AI技研社,这里有更多最新精彩内容,我将不断为大家分享更多技术知识干货、实战场景案例、有趣的AI产品及工具,我的宗旨是让技术赋能工作,技术让生活多彩,技术使我们更自由!