mcp服务器nacos:nacos mcp服务器
概述
纳科斯 是一个易于使用的平台,专为动态服务发现、配置和服务管理而设计。它可以帮助您轻松构建云原生应用程序和微服务平台。
此MCP(模型上下文协议)服务器用于Nacos交互和自动化。此服务器提供搜索和阅读工具 namespace, service 和 configuration 通过大型语言模型获取Nacos集群中的相关信息。
请注意 mcp-server-nacos 目前正处于早期开发阶段。随着我们不断开发和改进服务器,功能和可用工具可能会发生变化和扩展。还要注意 mcp-server-nacos 仅提供读取、搜索和列表操作,不支持当前版本的任何写入操作。未来版本计划支持写入操作。
还有一点要注意,这 mcp-server-nacos 所需版本:
1. Nacos version required upper `3.0.0`, because of depended on the [Nacos Admin API](https://nacos.io/en/swagger/admin/) in 3.x.
2. python version required 3.x, recommend upper `3.13`.工具
list_namespaces
- 检索当前Nacos集群中的命名空间列表。 - 输入: - 无 - 返回:当前Nacos集群中的命名空间列表。
list_services
- 此工具检索指定命名空间下的服务列表。响应格式取决于 withInstances 参数:withInstances=true:返回包含实例的服务详细信息(ServiceDetailInfo 对象)。 withInstances=false:返回不带实例的服务元数据(ServiceView 对象)。\*\*注:\*\*何时 withInstances=true,API可能会花费太多的内存和网络,如果只想获得带有少量或一个服务的实例列表,建议使用 withInstances=false 随着 List Service Instances. - 输入: - pageNo(number):当前页码,默认为1。 - pageSize(number):每页服务的大小,默认为100。 - namespaceId(string,可选):服务的namespaceId,默认值为 public 如果丢失。 - groupNameParam(string,可选):服务的groupName模式,默认为null表示所有组(如果缺少)。 - serviceNameParam(string,可选):服务的serviceName模式,默认为null表示缺少所有服务。 - ignoreEmptyService(bool,可选):是否忽略结果中的空服务,默认为true。 - withInstances(bool,可选):result、recommended和default中是否包含每个服务下的实例为false。 - 返回:指定命名空间下的服务列表。
get_service
- 此工具检索指定服务的详细信息,包括元数据和集群,不包括实例列表。 - 输入: - namespaceId(string,可选):服务的namespaceId,默认值为 public 如果丢失。 - groupName(string,可选):服务的groupName模式,默认为 DEFAULT_GROUP 如果丢失。 - serviceName(string):服务的serviceName模式,必填。 - 返回:指定服务的详细信息。
list_service_instances
- 此工具检索指定服务的实例列表。 - 输入: - namespaceId(string,可选):服务的namespaceId,默认值为 public 如果丢失。 - groupName(string,可选):服务的groupName模式,默认为 DEFAULT_GROUP 如果丢失。 - serviceName(string):服务的serviceName模式,必填。 - clusterName(string,可选):服务中实例的集群名称,可选,默认为null表示匹配所有集群。 - 返回:指定服务的实例列表。
list_service_subscribers
- 此工具检索指定服务的订阅者列表。 - 输入: - pageNo(number):当前页码,默认为1。 - pageSize(number):每页中服务订阅者的大小,默认为100。 - namespaceId(string,可选):服务的namespaceId,默认值为 public 如果丢失。 - groupName(string,可选):服务的groupName模式,默认为 DEFAULT_GROUP 如果丢失。 - serviceName(string):服务的serviceName模式,必填。 - aggregation(bool,可选):是否从整个集群聚合。 - 返回:指定服务的订阅者列表。
list_configs
- 此工具检索指定命名空间下的配置列表。 - 输入: - pageNo(number):当前页码,默认为1。 - pageSize(number):每页配置的大小,默认为100。 - namespaceId(string,可选):配置的namespaceId,默认值为 public 如果丢失。 - groupName(string,可选):配置的groupName模式,默认null表示所有组。 - dataId(string,可选):配置的dataId模式,默认null表示所有dataId。 - type(string,可选):配置的类型,默认null表示所有类型。 - configTags(string,可选):配置的标签,默认null表示所有标签。 - appName(string,可选):配置的appName,默认为null表示所有appName。 - search(string,可选):列表配置的搜索方式,默认为 blur,可选值 accurate. - 返回:指定命名空间下的配置列表。
get_config
- 检索指定配置的详细信息。 - 输入: - namespaceId(string,可选):配置的namespaceId,默认值为 public 如果丢失。 - groupName(string):配置的groupName,必填。 - dataId(string):配置的dataId,必填。 - 返回:指定配置的详细信息。
list_config_history
- 此工具检索配置的完整发布历史记录。 - 输入: - pageNo(number):当前页码,默认为1。 - pageSize(number):每页配置历史记录的大小,默认为100。 - namespaceId(string,可选):配置的namespaceId,默认值为 public 如果丢失。 - groupName(string):配置的groupName,必填。 - dataId(string):配置的dataId,必填。 - 返回:指定命名空间下的配置列表。
get_config_history
- 检索配置的特定历史更改记录。 - 输入: - namespaceId(string,可选):配置的namespaceId,默认值为 public 如果丢失。 - groupName(string):配置的groupName,必填。 - dataId(string):配置的dataId,必填。 - nid(number):配置历史记录的实际id,从列表配置历史工具中获取, id 现场。 - 返回:配置的历史更改记录。
list_config_listeners
- 检索订阅特定配置的侦听器列表。
- 输入:
- namespaceId(string,可选):配置的namespaceId,默认值为 public 如果丢失。 - groupName(string):配置的groupName,必填。 - dataId(string):配置的dataId,必填。 - aggregation(bool,可选):是否从整个集群聚合。
- 返回:订阅特定配置的侦听器列表。
list_listened_configs
- 检索列出了特定客户端IP地址订阅的配置。
- 输入:
- namespaceId(string,可选):配置的namespaceId,默认值为 public 如果丢失。 - ip(string):配置侦听器的客户端ip,必填。 - aggregation(bool,可选):是否从整个集群聚合。
- 返回:列出特定客户端IP地址订阅的配置。
安装
使用紫外线(推荐)
使用时 uv 不需要特定的安装。我们将 使用 uvx 直接运行 *mcp服务器nacos*.
使用PIP
或者,您可以安装 mcp-server-nacos 通过pip:
pip install mcp-server-nacos安装后,您可以使用以下命令将其作为脚本运行:
python -m mcp_server_nacos配置
使用Claude Desktop
将此添加到您的 claude_desktop_config.json:
Using uvx
"mcpServers": {
"git": {
"command": "uvx",
"args": [
"nacos-mcp-server",
"--host",
"your_nacos_host",
"--port",
"your_nacos_main_port, such as 8848",
"--access_token",
"your_nacos_access_token, get from `login` api: /nacos/v3/auth/user/login with `username` and `password`"
],
}
}您可能需要将完整路径放在uvx可执行于command现场。你可以通过跑步来获得这个which uvx在MacOS/Linux或where uvx在Windows上。
Using pip installation
"mcpServers": {
"git": {
"command": "python",
"args": [
"-m",
"nacos-mcp-server",
"--host",
"your_nacos_host",
"--port",
"your_nacos_main_port, such as 8848",
"--access_token",
"your_nacos_access_token, get from `login` api: /nacos/v3/auth/user/login with `username` and `password`"
],
}
}发展
如果您正在进行本地开发,只需按照以下步骤操作:
- 将此仓库克隆到您的本地环境中。
- 修改代码
src/mcp_server_nacos实现您想要的功能。 - 使用Claude桌面应用程序进行测试。将以下内容添加到claude_desktop_config.json中:
{
"mcpServers": {
"mcp-server-nacos": {
"command": "uv",
"args": [
"--directory",
"/
/src/mcp_server_nacos",
"run",
"mcp-server-nacos"
]
}
}许可证
mcp服务器nacos根据Apache 2.0许可证获得许可。这意味着您可以根据Apache 2.0许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅 LICENSE 项目存储库中的文件。
