mcp-server-nacos:Nacos MCP 服务器
概述
Nacos是一个易于使用的平台,专为动态服务发现、配置和服务管理而设计。它可以帮助您轻松构建云原生应用程序和微服务平台。
此 MCP(模型上下文协议)服务器用于 Nacos 交互和自动化。该服务器提供工具,用于通过大型语言模型搜索和读取 Nacos 集群中的namespace 、 service和configuration相关信息。
请注意, mcp-server-nacos目前处于早期开发阶段。随着我们不断开发和改进服务器,其功能和可用工具可能会有所变更和扩展。另请注意, mcp-server-nacos当前版本仅提供读取、搜索和列表操作,不支持任何写入操作。计划在未来版本中支持写入操作。
还需要注意的是, mcp-server-nacos所需的版本:
工具
list_namespaces检索当前 Nacos 集群中的命名空间列表。
输入:
没有任何
返回:当前 Nacos 集群中的命名空间列表。
list_services此工具用于获取指定命名空间下的服务列表。返回结果格式取决于
withInstances参数:withInstances=true:返回包含实例的服务详情(ServiceDetailInfo对象)。withInstanceswithInstances=false:返回不包含实例的服务元数据(ServiceView对象)。**注意:** 当withInstances=true时,该 API 可能会占用过多的内存和网络资源。如果只想获取包含少量服务或单个服务的实例列表,建议将withInstances=false与List Service Instances一起使用。输入:
pageNo(数字):当前页码,默认为1。pageSize(数字):每页服务的大小,默认为 100。namespaceId(字符串,可选):服务的 namespaceId,如果缺失,则默认为public。groupNameParam(字符串,可选):服务的 groupName 模式,如果缺失,则默认为 null,表示所有组。serviceNameParam(字符串,可选):服务的 serviceName 模式,如果缺失,则默认为 null,表示所有服务。ignoreEmptyService(bool,可选):是否忽略结果中的空服务,默认为 true。withInstances(bool, 可选): 结果中是否包含各个服务下的实例,推荐使用,默认为 false。
返回:指定命名空间下的服务列表。
get_service该工具检索指定服务的详细信息,包括元数据和集群,但不包括实例列表。
输入:
namespaceId(字符串,可选):服务的 namespaceId,如果缺失,则默认为public。groupName(字符串,可选):服务的 groupName 模式,如果缺失,则默认为DEFAULT_GROUP。serviceName(字符串):服务的 serviceName 模式,必需。
返回:指定服务的详细信息。
list_service_instances此工具检索指定服务的实例列表。
输入:
namespaceId(字符串,可选):服务的 namespaceId,如果缺失,则默认为public。groupName(字符串,可选):服务的 groupName 模式,如果缺失,则默认为DEFAULT_GROUP。serviceName(字符串):服务的 serviceName 模式,必需。clusterName(字符串,可选):服务中实例的集群名称,可选,默认为 null,表示匹配所有集群。
返回:指定服务的实例列表。
list_service_subscribers此工具检索指定服务的订阅者列表。
输入:
pageNo(数字):当前页码,默认为1。pageSize(数字):每页服务订阅者的大小,默认为100。namespaceId(字符串,可选):服务的 namespaceId,如果缺失,则默认为public。groupName(字符串,可选):服务的 groupName 模式,如果缺失,则默认为DEFAULT_GROUP。serviceName(字符串):服务的 serviceName 模式,必需。aggregation(bool,可选):是否从整个集群进行聚合。
返回:指定服务的订阅者列表。
list_configs此工具检索指定命名空间下的配置列表。
输入:
pageNo(数字):当前页码,默认为1。pageSize(数字):每页配置的大小,默认为100。namespaceId(字符串,可选):配置的 namespaceId,如果缺失,则默认为public。groupName(字符串,可选):配置的groupName模式,默认为null,表示所有组。dataId(string, 可选): 配置的dataId模式,默认null表示所有dataId。type(字符串,可选):配置的类型,默认为 null 表示所有类型。configTags(字符串,可选):配置的标签,默认为 null 表示所有标签。appName(字符串,可选):配置的appName,默认为null,表示所有appName。search(字符串,可选):列表配置的搜索方式,默认为blur,可选值accurate。
返回:指定命名空间下的配置列表。
get_config检索指定配置的详细信息。
输入:
namespaceId(字符串,可选):配置的 namespaceId,如果缺失,则默认为public。groupName(字符串):配置的组名称,必需。dataId(字符串):配置的dataId,必需。
返回:指定配置的详细信息。
list_config_history此工具检索配置的完整发布历史记录。
输入:
pageNo(数字):当前页码,默认为1。pageSize(数字):每页配置历史记录的大小,默认为100。namespaceId(字符串,可选):配置的 namespaceId,如果缺失,则默认为public。groupName(字符串):配置的组名称,必需。dataId(字符串):配置的dataId,必需。
返回:指定命名空间下的配置列表。
get_config_history检索配置的特定历史变更记录。
输入:
namespaceId(字符串,可选):配置的 namespaceId,如果缺失,则默认为public。groupName(字符串):配置的组名称,必需。dataId(字符串):配置的dataId,必需。nid(数字):配置历史记录的实际 id,从列表配置历史记录工具中获取,id字段。
返回:配置的历史变更记录。
list_config_listeners
检索订阅特定配置的监听器列表。
输入:
namespaceId(字符串,可选):配置的 namespaceId,如果缺失,则默认为public。groupName(字符串):配置的组名称,必需。dataId(字符串):配置的dataId,必需。aggregation(bool,可选):是否从整个集群进行聚合。
返回:订阅特定配置的监听器列表。
list_listened_configs
检索特定客户端 IP 地址订阅的配置列表。
输入:
namespaceId(字符串,可选):配置的 namespaceId,如果缺失,则默认为public。ip(字符串):配置监听器的客户端ip,必需。aggregation(bool,可选):是否从整个集群进行聚合。
返回:列出特定客户端IP地址订阅的配置。
Related MCP server: Sonos MCP Server
安装
使用 uv(推荐)
使用uv时无需特殊安装。我们将使用uvx直接运行mcp-server-nacos 。
使用 PIP
或者,您可以通过 pip 安装mcp-server-nacos :
安装后,您可以使用以下命令将其作为脚本运行:
配置
与 Claude Desktop 一起使用
将其添加到您的claude_desktop_config.json中:
您可能需要在
command字段中输入uvx可执行文件的完整路径。您可以在 MacOS/Linux 上运行which uvx,或在 Windows 上where uvx来获取此路径。
发展
如果您正在进行本地开发,只需按照以下步骤操作:
将此 repo 克隆到您的本地环境中。
修改
src/mcp_server_nacos中的代码来实现您想要的功能。使用 Claude 桌面应用进行测试。将以下内容添加到 claude_desktop_config.json 中:
执照
mcp-server-nacos 采用 Apache 2.0 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 Apache 2.0 许可证的条款和条件。更多详细信息,请参阅项目仓库中的LICENSE文件。