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

作者:席翁

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

Nacos 社区正式发布 3.1.0 版本!作为全新的里程碑版本,3.1.0 在 A2A(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 服务。
  2. 安全与管控增强:

    • 控制台支持动态启用/禁用 MCP 服务,灵活控制资源占用。
    • 新增 MCP 工具配置加密功能,结合配置加密插件保障敏感数据存储安全。
  3. 兼容性保障:

    • 数据结构与协议全面对齐 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,或升级后删除 agent 和 agent-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.

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] ,欢迎尝试。

image

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-exampleai:# 配置百炼大模型dashscope:api-key: ${BAILIAN_API_KEY}base-url: https://dashscope.aliyuncs.com/compatible-modechat:options:model: qwen-plus-latestalibaba:a2a:# 配置Nacos的地址和用户名密码nacos:server-addr: ${NACOS_ADDRESS:localhost:8848}username: ${NACOS_USERNAME:nacos}password: ${NACOS_PASSWORD}# 配置A2A server的额外信息,如版本号,agentCard中的Skills等server:version: 1.0.1card:url: http://localhost:9999/a2askills:- id: nacos-question-answername: Nacos Question Answerdescription: Answer questions about Nacos.tags:- Nacosexamples:- What is Nacos?icon-url: https://img.alicdn.com/imgextra/i4/O1CN01rW3vAB1FDWKSOiFf0_!!6000000000453-2-tps-204-40.pngdocumentation-url: https://nacos.ioprovider:organization: Alibabaurl: 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 并且能从详情中查看到具体信息:

image

image

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-exampleai:alibaba:a2a:nacos:# 开启从Nacos中自动发现Agentdiscovery:enabled: trueserver-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 进行测试。

1

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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/943386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年点火器厂家最新推荐排行榜:综合评估高能 / 自动 / 防爆等多类型产品,精选优质品牌

在工业生产、民生应用等领域,点火器作为核心设备,其性能好坏直接关系到生产效率提升、作业安全保障以及能源消耗控制。当前点火器市场呈现品牌数量多、产品质量差异大的特点,部分品牌因技术滞后,生产的点火器存在点…

VS2026 使用 WebDeploy 发布到 IIS - Jeff

这里有B站的一位up发的视频 - 博文只是为了记录一下大体步骤,主要是记录最后的问题以及解决方案,因为遇到的问题在网上搜不到。通过使用Visual Studio将你的程序WebDeploy一键发布到windows的IIS_哔哩哔哩_bilibili …

2025 激光灯厂家最新推荐榜:全方位测评核心实力与潜力,甄选优质供应商实用指南

引言 2025 年激光灯行业迎来技术迭代与新品牌爆发的双重浪潮,市场呈现 “老品牌深耕、新势力突围” 的格局,但选型难题愈发突出。部分厂商偷工减料导致产品性能不稳定,中小品牌技术滞后难以适配文旅亮化、商业演艺等…

SpringBoot3 集成Junit4 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

详细介绍:Spark Shuffle:分布式计算的数据重分布艺术

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年火焰检测器生产厂家最新推荐权威排名:涵盖防爆 / 一体化 / 紫外线 / 离子 / 红外线 / 红紫外复合 / 智能型,多维度解析助力企业精准选型

引言 当前工业领域对火焰检测器的需求日益严苛,不同场景下需匹配防爆、一体化、紫外线等多种类型产品,而市场中厂家技术水平悬殊,部分产品存在检测精度不足、适应复杂工况能力弱等问题,导致企业选型时易陷入 “选贵…

排序算法的介绍

排序算法的介绍概要排序算法是众多算法中常见的基本算法,它的任务是将一组数据按一定的顺序排列。排序算法广泛应用于数据处理、搜索优化、数据库管理等领域。不同的排序算法适用于不同的场景,本文将介绍几种常见的排…

调理neovide之 自定义keymap-不用starter-template的话,直接init.lua中改

感谢提供完整的 init.lua 内容!现在问题非常清晰了。 你没有使用标准的 LazyVim starter 配置,而是手动集成了 LazyVim/LazyVim 作为插件,并自定义了数据目录(D:/nvim-data)。 在这种模式下,LazyVim 不会自动加载…

MyEMS:用开源撕开能源管理 “黑箱”,让节能不再 “凭感觉”

当一家电子厂每月消耗数十万元电费,却查不出 “高能耗设备到底是谁”;当一个园区想对接光伏、储能系统,却被闭源厂商告知 “需额外支付 10 万元接口费”;当一所学校想统计各教学楼的用电规律,却只能对着零散的 Ex…

FPGA控制RGMII接口PHY芯片基础

FPGA控制RGMII接口PHY芯片基础 PHY RGMII Interface Timing注意事项 https://blog.csdn.net/wangmuzhang/article/details/133918767FPGA控制RGMII接口PHY芯片基础 https://www.cnblogs.com/moluoqishi/p/10846302.ht…

2025 年气泵厂家最新推荐权威榜单:小型 / 微型 / 耐腐蚀 / 微型真空 / 微型隔膜 / 防爆气泵公司选购指南

引言 当前气泵行业发展迅速,市场品牌数量激增,但行业乱象凸显。部分品牌技术薄弱,产品性能不稳定,无法满足医疗、环保、实验室分析仪器等专业领域的高精度需求;不少小品牌为逐利偷工减料,导致产品寿命短、故障多…

kettle基本操作4:使用日期字段增量数据同步

0.前言 两个数据库表之间使用日期(Date或timestamp)字段进行增量同步,是ETL操作的基本操作(本文举例的源表数据只新增不删除不修改的情况),最简单的步骤如下:获取目标表时间戳字段的max值; 获取源表时间戳字段…

冰川之国破例:冰岛首次发现蚊子,气候变化敲响警钟

冰川之国破例:冰岛首次发现蚊子,气候变化敲响警钟一向以“无蚊之国”著称的冰岛,其纯净的生态系统纪录近日被打破。冰岛大学与自然资源保护局的科学家团队本周联合证实,在冰岛境内首次发现并捕获了活的蚊子个体。这…

成语趣有奖微信小程序管理系统:趣味与变现兼具的优质选择

一、概述总结 “成语趣有奖” 是一款以成语闯关为核心玩法的微信小程序,由谷喵网络开发并在微擎应用商城上线。该小程序将经典的成语知识问答与趣味闯关模式相结合,同时融入金币奖励、奖品兑换及流量主广告变现等功能…

2025 年钛棒厂家最新推荐权威榜单:深度解析国内头部厂家国际市场开拓成绩及产品优势钛螺丝/加工件/医用/合金/异形件钛棒厂家推荐

随着全球工业升级加速,钛棒凭借高强度、耐腐蚀等特性,在航空航天、石油化工、医疗等领域需求激增,国际市场成为国内钛棒厂商的重要增长极。但当前国际市场存在标准不统一、贸易壁垒多、区域需求差异大等问题,许多厂…

掌门社交电商系统:赋能本地生活的三方共赢新生态

一、概述总结 掌门社交电商系统是一款深耕本地生活服务领域的专业化解决方案,依托微擎系统构建核心架构,聚焦本地活动折扣资源的整合与运营。其核心价值在于打造 “商家拓客、用户受益、平台获利” 的三方共赢模式,…

就餐宝微信小程序:重塑企业食堂管理新生态

一、概述总结 就餐宝是一款专为企业食堂量身打造的智能化管理小程序,聚焦食堂物料节省与就餐流程优化,通过数字化手段实现就餐全流程的规范化管理。该系统采用多端协同设计,涵盖总后台、分后台、员工小程序入口和食…

2025 年度茶叶行业优质厂家权威榜单:最新推荐全解析,小青柑 / 普洱等好茶选品指南

引言 茶叶市场正迎来新旧品牌交替的活跃期,既有老字号坚守品质,更有近五年崛起的新品牌以创新破局,但乱象同样凸显:原料产地模糊、工艺标准缺失导致品质参差不齐,消费者难辨优劣;采购商面对海量品牌,核实资质与…

MySQL的三大日志redolog,binlog,undolog

MySQL 的三大核心日志:redolog(重做日志)、binlog(二进制日志) 和 undolog(回滚日志),以及它们在事务处理和数据恢复中的作用。以下是要点汇总:🧱 redo log(重做日志)属于 InnoDB 存储引擎,用于崩溃恢复…

卸载 macOS 上所有版本的 Python

卸载 macOS 上所有版本的 Python卸载 macOS 上所有版本的 Python 彻底卸载 macOS 上所有版本的 Python(包括系统自带的、Homebrew 安装的、手动安装的等)。 ⚠️ 注意:macOS 自带的 Python 2.x 或 3.x 系统依赖它,…