Nacos 3.1.0 正式发布,支持 A2A 注册中心与 MCP 注册协议增强

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: 3.1.0 发布核心全新功能-Agent 注册中心,助力构建基于 A2A 协议的多 Agent 协作的AI应用,同时 MCP 注册中心适配最新 MCP 官方注册中心协议及升级优化多项核心功能。

作者:席翁


01 全新里程碑:Nacos 3.1.0 正式发布


Nacos 社区正式发布 3.1.0版本!作为全新的里程碑版本,3.1.0A2A(Agent-to-Agent)注册中心 MCP(Model-Context-Protocol)注册中心两大核心能力上实现重大突破,同时修复多项历史问题并升级关键依赖。以下是本次版本的核心亮点:


1.1 全新特性:A2A 注册中心正式上线

Nacos 3.1.0 首次引入 A2A 注册中心功能,为 AI Agent 框架(如 Spring AI Alibaba)及开发者提供轻量化的 Agent 服务注册与发现能力。


  • 核心能力:
  • 支持 AgentCard 及 Agent 服务端点的注册,实现 Agent 元数据(如名称、版本、描述)的统一管理。
  • 提供基础的 Agent 发现 API,支持基于 Agent 名称的精准发现和模糊搜索,未来将扩展基于技能标签(Skills)、描述等多维度的检索能力。
  • 应用场景:
  • 为分布式 AI 代理服务提供基础设施,简化 Agent 生命周期管理。
  • 在 AI Agent 框架中快速集成,助力构建多 Agent 协作的 AI 应用。


1.2 MCP 注册协议能力全面增强

3.0.X版本支持标准 MCP Registry API 的基础上,3.1.0 进一步优化 MCP 生态兼容性与管理效率:


  1. 协议与部署升级:
  • 更新官方 MCP 注册协议,用户可将 Nacos 作为私有化 MCP 注册中心,构建企业级模型市场或服务目录。
  • 新增 MCP 服务器导入功能,支持通过 JSON 文件快速注册 MCP 服务,并支持从 MCP URL 自动获取工具配置。
  • 支持从 MCP 官方注册中心中一键导入 MCP 服务。
  1. 安全与管控增强:
  • 控制台支持动态启用/禁用 MCP 服务,灵活控制资源占用。
  • 新增 MCP 工具配置加密功能,结合配置加密插件保障敏感数据存储安全。
  1. 兼容性保障:
  • 数据结构与协议全面对齐 MCP 官方标准,确保后续版本升级兼容性。


由于 MCP 官方注册中心协议还属于 preview 阶段,Nacos 目前适配了当前最新版本的协议 2025-07-09,若 MCP 官方注册中心协议新版本中存在不兼容改动,可能导致 MCP 官方注册中心一键导入功能失效。


Nacos 3.1.0 版本发布期间,MCP 官方发布新了新版本 2025-09-16 的注册中心协议,Nacos 3.1.0 已经极速完成了适配,若需要使用该功能请下载最新的 Nacos 3.1.0 发布包及镜像。


1.3 其他重要改进

  • 功能优化:
  • 新增命名空间存在性校验,避免无效操作。
  • 增强控制台提示,如重复发布 Agent 名称时的友好提醒。
  • 问题修复:
  • 修复 MySQL 与 Derby 数据库配置发布性能不一致问题。
  • 解决 MCP 控制台 OpenAPI 文件解析异常、URL 编码错误等问题。
  • 修复 A2A 订阅判断逻辑、模糊搜索结果异常等关键缺陷。
  • 依赖升级:
  • 升级 Spring Boot 至 3.4.9、gRPC 至 1.75.0,提升稳定性与安全性。


升级注意事项:

1. 从 3.1.0-BETA 升级:> - 需在升级前删除所有 AgentCard,或升级后删除 agentagent-version 配置组,并重新发布 AgentCard

2. 从 3.0.0 版本升级:> - 若从 3.0.0 版本升级,需使用社区提供的迁移工具将旧版 MCP 服务迁移至 public 命名空间。

3. 从其他版本升级正常升级。


更多 3.1.0版本的变更日志如下:


## Feature
[#12191] Add namespace existence check.
[#13322] Support A2A registry.
[#13423] Support enabled or disabled MCP server in console.
[#13543] Add MCP server import functionality with registry support.
[#13783] Add config metadata update admin api.
[#13808] Add Support official mcp registry protocol.
[#13814] Support prompt encrypt for mcp tools.

## Enhancement/Refactor
[#13777] Enhance namespace exist check logic to improve code quality.
[#13829] Enhance the hint when publish duplicate name of agent.

## BugFix
[#13744] Fix omitted CONFIG_INFO_GRAY_WRAPPER_ROW_MAPPER for config datasource plugin.
[#13752] Fix NPE and ignore InterruptedException stack log.
[#13761] Fix add validation when deleting roles to prevent issues like mistakenly deleting ROLE_ADMIN.
[#13767] Fix service NullPointerException when K8S getSpec().
[#13773] Fix preserve protocol slashes when building MCP OpenAPI-derived URLs.
[#13779] Fix Mcp tool description edit limitation.
[#13787] Fix bug where the Nacos Mcp console cannot correctly parse OpenApi files.
[#13801] Fix bug that sometimes garbled characters appear when parsing OpenAPI file URL in MCP console.
[#13810] Fix bug that caused inconsistent performance between Derby and MySQL databases when publishing configurations.
[#13824][#13826] Fix AI gRPC resource parser and leak auth login for MCP/A2A request in nacos-client.
[#13830] Fix agentCard subscribe judgement problem.
[#13832] Fix blur search may contain unexpected results.

## Dependencies
[#13385] Upgrade os-maven-plugin version to 1.7.1.
[#13711] Upgrade spring boot version to 3.4.9.
[#13753] Upgrade grpc version to 1.75.0.
[#13825] Upgrade jraft version to 1.3.15.bugfix.


02 Nacos+Spring AI AIibaba,快速开发分布式 Agent 应用


随着 Nacos 3.1.0 Spring AI Alibaba 的新版本发布,能够支持快速开发简单的 Agent 并暴露 A2A 协议服务,同时注册到 Nacos 上并让上有 Agent 应用发现且能够进行远程调用,实现 Agent 的分布式部署。接下来以 Nacos 问答助手为例,手把手带您实现基于 Nacos 3.1.0 Spring AI Alibaba 的分布式 AI Agent 系统:


样例工程已发布至 nacos-group/nacos-spring-ai-alibaba-example[1],欢迎尝试。

1760944109567_127BB326-4D7F-4148-813C-C3BB86138564.png


2.1 环境准备和启动

  • JDK 17+
  • Nacos Server 3.1.0+
  • Spring AI Alibaba 1.0.0.4+
  • 阿里云百炼 API KEY


Nacos 的安装与启动,请参考 Nacos 快速开始[2]或 Nacos Docker 快速开始[3]进行安装。

阿里云百炼的 API-KEY 可参考文档[4]获取,若已获取,则忽略此步骤。

首次开通阿里云百炼时会提供 100 万 Token 的免费额度。


2.2 构建 A2A Server Agent

2.2.1 引入 pom


<properties>
  <spring.ai.alibaba.version>1.0.0.4</spring.ai.alibaba.version>
</properties>
<dependencies>
<!-- 引入A2A Server starter -->
  <dependency>
    <groupId>com.alibaba.cloud.ai</groupId>
    <artifactId>spring-ai-alibaba-starter-a2a-server</artifactId>
    <version>${spring.ai.alibaba.version}</version>
  </dependency>
<!-- 引入A2A Nacos 注册中心 -->
  <dependency>
    <groupId>com.alibaba.cloud.ai</groupId>
    <artifactId>spring-ai-alibaba-starter-a2a-registry</artifactId>
    <version>${spring.ai.alibaba.version}</version>
  </dependency>
<!-- 引入A2A 百炼大模型客户端,可以用其他的spring ai大模型客户端代替,如openai -->
  <dependency>
    <groupId>com.alibaba.cloud.ai</groupId>
    <artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
    <version>${spring.ai.alibaba.version}</version>
  </dependency>
</dependencies>


2.2.2 添加配置文件 application.yml


server:
  port: 9999
spring:
  application:
    name: a2s-server-example
  ai:
    # 配置百炼大模型
    dashscope:
      api-key: ${BAILIAN_API_KEY}
      base-url: https://dashscope.aliyuncs.com/compatible-mode
      chat:
        options:
          model: qwen-plus-latest
    alibaba:
      a2a:
        # 配置Nacos的地址和用户名密码
        nacos:
          server-addr: ${NACOS_ADDRESS:localhost:8848}
          username: ${NACOS_USERNAME:nacos}
          password: ${NACOS_PASSWORD}
        # 配置A2A server的额外信息,如版本号,agentCard中的Skills等
        server:
          version: 1.0.1
          card:
            url: http://localhost:9999/a2a
            skills:
              - id: nacos-question-answer
                name: Nacos Question Answer
                description: Answer questions about Nacos.
                tags:
                  - Nacos
                examples:
                  - What is Nacos?
            icon-url: https://img.alicdn.com/imgextra/i4/O1CN01rW3vAB1FDWKSOiFf0_!!6000000000453-2-tps-204-40.png
            documentation-url: https://nacos.io
            provider:
              organization: Alibaba
              url: https://www.alibaba.com
logging:
  level:
    root: debug


2.2.3 构建 A2A Server Agent 代码


/**
 * Spring AI Alibaba 启动类
 */
@SpringBootApplication
publicclassA2aServerExampleApplication {
publicstaticvoidmain(String[] args) {
        SpringApplication.run(A2aServerExampleApplication.class, args);
    }
}
/**
 * Spring AI Alibaba Agentic API构建LLMAgent
 */
@Configuration
publicclassRootAgentConfiguration {
privatestaticfinal String SYSTEM_PROMPT =
"An assistant or maintainer for nacos. You only try to answer nacos' question. "
+"If user ask not nacos relative question, Please answer with apology. \n When you answer Nacos' question, "
+"you can try to use relative tools to query data and do analyze. If no suitable tools found, please answer Nacos' question by your knowledge.\n";
    @Bean
    @Primary
public BaseAgent rootAgent(ChatModel chatModel) throws GraphStateException {
return ReactAgent.builder().name("Nacos Agent").description(
"Answer question about Nacos and do some maintain and query operation about Nacos Cluster.")
                .model(chatModel).instruction(SYSTEM_PROMPT).outputKey("output").build();
    }
}


至此,仅需 3 步完成 A2A Server Agent 的构建和开发,之后仅需启动即可,如使用 mvn spring-boot:run启动成功后,在 Nacos 控制台上即可查看到注册的 AgentCard并且能从详情中查看到具体信息:

2.3 构建 A2A Client Agent

2.3.1 引入 pom


<properties>
  <spring.ai.alibaba.version>1.0.0.4</spring.ai.alibaba.version>
  <spring.boot.version>3.4.5</spring.boot.version>
</properties>
<dependencies>
<!-- 引入A2A Client starter -->
  <dependency>
    <groupId>com.alibaba.cloud.ai</groupId>
    <artifactId>spring-ai-alibaba-starter-a2a-client</artifactId>
    <version>${spring.ai.alibaba.version}</version>
  </dependency>
<!-- 引入A2A Nacos 注册中心 -->
  <dependency>
    <groupId>com.alibaba.cloud.ai</groupId>
    <artifactId>spring-ai-alibaba-starter-a2a-registry</artifactId>
    <version>${spring.ai.alibaba.version}</version>
  </dependency>
<!-- 可选,引入web构建简单的页面 -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>${spring.boot.version}</version>
  </dependency>
</dependencies>


2.3.2 添加配置文件 application.yml


server:
  port: 8888
spring:
  application:
    name: a2s-client-example
  ai:
    alibaba:
      a2a:
        nacos:
          # 开启从Nacos中自动发现Agent
          discovery:
            enabled: true
          server-addr: ${NACOS_ADDRESS:localhost:8848}
          username: ${NACOS_USERNAME:nacos}
          password: ${NACOS_PASSWORD}
logging:
  level:
    root: debug


2.3.3 构建 A2A Client Agent 代码


/**
 * Spring AI Alibaba 启动类
 */
@SpringBootApplication
public class A2aClientExampleApplication {
    public static void main(String[] args) {
        SpringApplication.run(A2aClientExampleApplication.class, args);
    }
}
/**
 * Spring AI Alibaba Agentic API构建LLMAgent
 */
@Configuration
public class RootAgentConfiguration {
    @Bean
    public BaseAgent rootAgent(AgentCardProvider agentCardProvider) throws GraphStateException {
        return A2aRemoteAgent.builder()
                // 传入自动构建的Nacos AgentCard Provider
                .agentCardProvider(agentCardProvider)
                // 设置需要的Agent的名称,Nacos AgentCard Provider会根据此名称自动订阅AgentCard和Agent的可访问端点
                .name("Nacos Agent")
                .description("Answer Nacos questions or query and operate datum in Nacos.")
                .inputKey("messages")
                .outputKey("messages")
                .build();
    }
}
/**
 * 构建简单的访问API.
 */
@RestController
@RequestMapping("/")
public class TestController {
    private static final Logger LOGGER = org.slf4j.LoggerFactory.getLogger(TestController.class);
    private final BaseAgent rootAgent;
    public TestController(BaseAgent rootAgent) {
        this.rootAgent = rootAgent;
    }
    @GetMapping("sync")
    public Object sync(@RequestParam("question") String question) throws GraphStateException, GraphRunnerException {
        System.out.println(question);
        return rootAgent.invoke(Map.of("messages", List.of(new UserMessage(question)))).orElseThrow().value("messages")
                .orElseThrow();
    }
    @GetMapping("stream")
    public Flux<String> stream(@RequestParam("question") String question) throws GraphStateException, GraphRunnerException {
        return rootAgent.stream(Map.of("messages", List.of(new UserMessage(question)))).mapNotNull(output -> {
            LOGGER.debug("stream agent invoke : `{}`", output.toString());
            if (output.isSTART() || output.isEND()) {
                return null;
            }
            if (output instanceof StreamingOutput) {
                return ((StreamingOutput) output).chunk();
            }
            return null;
        }).publishOn(Schedulers.parallel());
    }
}


同样的,仅需 3 步就完成 A2A Client Agent 的构建和开发,之后仅需启动即可,如使用 mvn spring-boot:run启动成功后,可通过浏览器访问 localhost:8888/index.html进行测试。



03 About Nacos


Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及 AI 管理。


Nacos 帮助用户更敏捷和容易地构建、交付和管理云原生 AI 应用的平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式、AI 原生范式的服务基础设施。


Nacos 3.0 还有很多待完成的功能及大量待探索和开发的领域,欢迎大家扫码加入 Nacos 社区群及 Nacos MCP 社区讨论群,参与 Nacos 社区的贡献和讨论,在 Nacos 社区一起搭把手,让你的代码和能力有机会能在各行各业领域内进行释放能量,期待认识你和你一起共建 Nacos 社区。


“Nacos 相信一切都是服务,每个服务节点被构想为一个星球,每个服务都是一个星系;Nacos 致力于帮助这些服务建立连接赋予智能,助力每个有面向星辰的梦想能够透过云层,飞在云上,更好的链接整片星空。”


Nacos 官网:https://nacos.io/

Nacos 仓库地址:https://github.com/alibaba/nacos

“Nacos 社区群6”群的钉钉群号:145925004742

“Nacos MCP 社区讨论群2”群的钉钉群号:115205016856



相关链接:

[1] nacos-group/nacos-spring-ai-alibaba-example

https://github.com/nacos-group/nacos-spring-ai-alibaba-example

[2] Nacos 快速开始

https://nacos.io/docs/latest/quickstart/quick-start/

[3] Nacos Docker 快速开始

https://nacos.io/docs/latest/quickstart/quick-start-docker/

[4] 文档

https://bailian.console.aliyun.com/?spm=5238cd80.238ed193.0.0.481913f3fhPbxA&tab=api&scm=20140722.M_10875430.P_126.MO_3931-ID_10875430-MID_10875430-CID_34338-ST_14391-V_1#/api/?type=model&url=2712


点击此处,进一步了解 Nacos。

相关文章
|
1月前
|
人工智能 运维 Serverless
函数计算 × MSE Nacos : 轻松托管你的 MCP Server
本文将通过一个具体案例,演示如何基于 MCP Python SDK 开发一个标准的 MCP Server,并将其部署至函数计算。在不修改任何业务代码的前提下,通过控制台简单配置,即可实现该服务自动注册至 MSE Nacos 企业版,并支持后续的动态更新与统一管理。
495 43
|
6月前
|
人工智能 供应链 安全
MCP Server的五种主流架构与Nacos的选择
本文深入探讨了Model Context Protocol (MCP) 在企业级环境中的部署与管理挑战,详细解析了五种主流MCP架构模式(直连远程、代理连接远程、直连本地、本地代理连接本地、混合模式)的优缺点及适用场景,并结合Nacos服务治理框架,提供了实用的企业级MCP部署指南。通过Nacos MCP Router,实现MCP服务的统一管理和智能路由,助力金融、互联网、制造等行业根据数据安全、性能需求和扩展性要求选择合适架构。文章还展望了MCP在企业落地的关键方向,包括中心化注册、软件供应链控制和安全访问等完整解决方案。
2975 159
MCP Server的五种主流架构与Nacos的选择
|
3月前
|
人工智能 安全 Nacos
如何实现 AI Agent 自主发现和使用 MCP 服务 —— Nacos MCP Router 部署最佳实践
Nacos社区推出MCP Router与MCP Registry开源解决方案,助力AI Agent高效调用外部工具。Router可智能筛选匹配的MCP Server,减少Token消耗,提升安全性与部署效率。结合Nacos Registry实现服务自动发现与管理,简化AI Agent集成复杂度。支持协议转换与容器化部署,保障服务隔离与数据安全。提供智能路由与代理模式,优化工具调用性能,助力MCP生态普及。
1142 24
|
6月前
|
人工智能 Java Nacos
开启报名|Nacos3.0 开源开发者沙龙 Agent&MCP 专场
Nacos3.0 开源开发者沙龙 Agent&MCP 专场,本次活动是 Nacos 社区成员今年首次线下分享最新的能力和实践,并邀请了 Spring AI Alibaba 和 Higress 一起分享一站式的开源解决方案。欢迎大家来现场交流。
224 16
|
2月前
|
人工智能 API Nacos
MCP Registry 官方发布:Nacos 原生支持,借助 HiMarket 构建企业级私有 MCP 市场
最近,MCP 社区发布了 MCP Registry(2025‑09‑08,预览版),为公开 MCP Server 提供“统一目录服务和开放 API”。Nacos 已原生支持 MCP Registry API,可直接作为“MCP Registry”对外提供标准 REST/OpenAPI 服务端,天然融入企业现有注册中心与配置治理体系,并与 Higress/HiMarket 对接打通,让企业能够高效的构建自己的私有 MCP 市场。
275 29
|
4月前
|
人工智能 Java Nacos
基于 Nacos + Higress 的 MCP 开发新范式,手把手教程来了!
本文介绍了如何使用 Nacos 3.0.1 与 Higress 配合,实现 HTTP 服务转化为 MCP 协议服务,并支持自动注册与代理。通过 Docker 部署环境,结合 Spring AI Alibaba 框架,可实现服务的自动暴露和动态配置管理,适用于零改造存量应用适配 MCP 协议的场景。
1889 24
|
5月前
|
人工智能 Nacos 开发者
Nacos 开源 MCP Router,加速 MCP 私有化部署
Nacos MCP Router 发布全新版本。带来了多项重要更新,包括对 SSE 和 StreamableHTTP 协议的全面支持、Docker 容器化部署方案以及革命性的 MCP Server 协议一键转换功能。文章中详细的介绍更新内容并简单演示了使用过程。Nacos MCP Router 新版本的发布,不仅提升了开发者的使用体验,也为 MCP 服务的广泛应用和生态繁荣奠定了基础,欢迎关注。
1374 63
|
7月前
|
存储 Kubernetes 安全
Nacos-Controller 2.0:使用 Nacos 高效管理你的 K8s 配置
无论是使用 Nacos-Controller 实现配置的双向同步,还是直接在应用中接入 Nacos SDK 以获得更高级的配置管理特性,都能显著提升配置管理的灵活性、安全性和可维护性。使用 Nacos,您能够更好地管理和优化您的应用配置,从而提高系统的稳定性和可靠性。
610 49
|
11月前
|
存储 网络协议 Nacos
高效搭建Nacos:实现微服务的服务注册与配置中心
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。
1823 84
高效搭建Nacos:实现微服务的服务注册与配置中心
|
11月前
|
JSON Java Nacos
SpringCloud 应用 Nacos 配置中心注解
在 Spring Cloud 应用中可以非常低成本地集成 Nacos 实现配置动态刷新,在应用程序代码中通过 Spring 官方的注解 @Value 和 @ConfigurationProperties,引用 Spring enviroment 上下文中的属性值,这种用法的最大优点是无代码层面侵入性,但也存在诸多限制,为了解决问题,提升应用接入 Nacos 配置中心的易用性,Spring Cloud Alibaba 发布一套全新的 Nacos 配置中心的注解。
1060 150

热门文章

最新文章