Spring AI Alibaba + Nacos 发布企业级 MCP 分布式部署方案!
Spring AI 通过集成 MCP 官方的 java sdk,让 Spring Boot 开发者可以非常方便的开发自己的 MCP 服务,把自己企业内部的业务系统通过标准 MCP 形式发布为 AI Agent 能够接入的工具;另一方面,开发者也可以使用 Spring AI 开发自己的 AI Agent,去接入提供各种能力的 MCP 服务。
在企业级 AI Agent 的应用与落地场景,只是能发布或者调通 MCP 服务是远远不够的,其中一个非常重要的原因就是企业级的系统部署往往都是分布式的,不论是 Agent 还是 MCP Server,作为企业内部的一个个应用,它们都是要部署在多个机器上,要支持分布式的调用(这包括流量的负载均衡、节点变更动态感知等)。这么分析起来,Agent 与 MCP 需要的分布式能力与我们熟知微服务架构基本是一致的,Spring AI MCP 只是解决了 Agent 与 MCP 服务的编码与通信协议问题,我们还需要为 MCP 服务构建起一套地址自动发现、负载均衡调用的体系,这就是 Spring AI Alibaba MCP 整体方案解决的问题,接下来我们将在这篇文章中详细展开。
企业级 MCP 部署需要的分布式能力
市面上有很多公开可用的 MCP 服务,如生活类的高德地图、天气预报等 MCP 服务,这类服务的一个特点是他们都通过公开可访问的域名地址提供服务,因此对于消费端来说只需要配置访问地址即可使用。
区别于此类公共服务,Spring AI Alibaba MCP 解决的是企业内部 MCP 服务的部署与访问架构问题,接下来我们通过一个 Agent 的开发示例,一起来看一下 Spring AI Alibaba MCP 的整体架构。

在整个系统中,我们有一个使用 Spring AI Alibaba 开发的 MCP Server 应用,它为企业内提供机票预订的服务,该应用部署在多个实例,在实例启动过程中,Spring AI Alibaba 框架会将当前 IP 实例、工具列表等元数据注册到 Nacos,机票助手是一个基于 Spring AI Alibaba 开发的智能体应用,借助 Spring AI Alibaba 封装的分布式 MCP 能力,机票助手能够动态感知 MCP 订票系统的实例变化、工具变化,并基于内置的负载均衡策略对多个 MCP 实例节点发起调用。
- 企业内部订票服务是一个独立的 MCP Server 应用,使用 Spring AI Alibaba 框架开发,具备自动注册 MCP 实例与元数据到 Nacos 注册中心的能力,目前同时兼容 Nacos2 与 Nacos3。
- 机票助手 Agent 使用 Spring AI Alibaba 框架开发,作为 MCP Client 可以自动感知下游 MCP 服务实例的动态变化,动态感知 MCP 服务元数据的变化(如工具增加、参数更新、描述更新等),能够在保证负载均衡的情况下调用后端实例。
适用业务场景
对于任何需要在企业内部构建 MCP 业务系统的开发者,都可以使用 Spring AI Alibaba MCP
接下来,我们从企业现实情况出发,分析在不同场景下,应该如何发布自己的 MCP 服务,并将Agent接入 MCP 服务:
- 企业内存在大量的已有微服务应用、HTTP接口,需要将这些应用或接口发布为 MCP 服务
- 无需考虑存量应用,直接开发全新的 MCP 服务

