Skip to main content
Glama
jeweis

jewei-mcp-nacos

by jeweis
README.md
# jewei-mcp-nacos

Nacos MCP Server - 让 AI 助手能够查询和管理 Nacos 配置。

支持 Nacos 1.x/2.x/3.x 版本。

## 快速开始

### Claude Code

在项目 `.mcp.json` 或全局 `~/.claude.json` 中添加:

```json
{
  "mcpServers": {
    "nacos": {
      "type": "stdio",
      "command": "uvx",
      "args": ["jewei-mcp-nacos"],
      "env": {
        "NACOS_HOST": "localhost",
        "NACOS_API_PORT": "8848",
        "NACOS_CONSOLE_PORT": "8080",
        "NACOS_USERNAME": "nacos",
        "NACOS_PASSWORD": "your-password",
        "NACOS_NAMESPACE": "dev",
        "NACOS_VERSION": "3",
        "NACOS_READ_ONLY": "false"
      }
    }
  }
}
```

### Cursor

在 `~/.cursor/mcp.json` 中添加:

```json
{
  "mcpServers": {
    "nacos": {
      "command": "uvx",
      "args": ["jewei-mcp-nacos"],
      "env": {
        "NACOS_HOST": "localhost",
        "NACOS_API_PORT": "8848",
        "NACOS_CONSOLE_PORT": "8080",
        "NACOS_NAMESPACE": "dev",
        "NACOS_VERSION": "3",
        "NACOS_READ_ONLY": "false"
      }
    }
  }
}
```

### OpenCode

在 `~/.opencode/opencode.json` 中添加:

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nacos": {
      "type": "local",
      "command": ["uvx", "jewei-mcp-nacos"],
      "enabled": true,
      "environment": {
        "NACOS_HOST": "localhost",
        "NACOS_API_PORT": "8848",
        "NACOS_CONSOLE_PORT": "8080",
        "NACOS_NAMESPACE": "dev",
        "NACOS_VERSION": "3",
        "NACOS_READ_ONLY": "false"
      }
    }
  }
}
```

### Claude Desktop

在 `claude_desktop_config.json` 中添加:

```json
{
  "mcpServers": {
    "nacos": {
      "command": "uvx",
      "args": ["jewei-mcp-nacos"],
      "env": {
        "NACOS_HOST": "localhost",
        "NACOS_API_PORT": "8848",
        "NACOS_CONSOLE_PORT": "8080",
        "NACOS_USERNAME": "nacos",
        "NACOS_PASSWORD": "your-password",
        "NACOS_NAMESPACE": "dev",
        "NACOS_VERSION": "3",
        "NACOS_READ_ONLY": "false"
      }
    }
  }
}
```

## 环境变量

| 变量 | 说明 | 默认值 |
|------|------|--------|
| `NACOS_HOST` | Nacos 服务地址 | `localhost` |
| `NACOS_PORT` | API 端口(仅 v1/v2 使用,v1/v2 必填) | `8848` |
| `NACOS_API_PORT` | API 端口(用于登录,仅 v3 使用,v3 必填) | `8848` |
| `NACOS_CONSOLE_PORT` | Console 端口(用于配置操作,仅 v3 使用,v3 必填) | `8080` |
| `NACOS_USERNAME` | 用户名(可选) | - |
| `NACOS_PASSWORD` | 密码(可选) | - |
| `NACOS_NAMESPACE` | 默认命名空间 ID(当 NACOS_VERSION=1 时表示 Nacos 的命名空间 ID 字段) | `public` |
| `NACOS_VERSION` | Nacos 版本(1/2/3),默认 3 | `3` |
| `NACOS_READ_ONLY` | 只读模式,禁用发布功能 | `false` |

## 可用工具

| 工具 | 说明 |
|------|------|
| `nacos_get_config` | 获取配置内容 |
| `nacos_publish_config` | 发布/更新配置(只读模式下不可用) |

## 提示示例

配置好后,你可以这样和 AI 对话:

**查询配置:**

```
帮我获取 Nacos 中 dataId 为 "application.yaml" 的配置
```

```
查看 nacos 里 user-service.yml 的配置内容,namespace 是 dev
```

```
获取 gateway 的配置,分组是 PROD_GROUP
```

**发布配置:**

```
把下面这段配置发布到 Nacos,dataId 是 "redis.yaml":
server:
  port: 6379
```

```
更新 user-service 的配置,把数据库端口改成 3307
```

## 只读模式

设置 `NACOS_READ_ONLY=true` 可以禁用发布功能,只允许查询配置。适合生产环境使用。

```json
{
  "env": {
    "NACOS_READ_ONLY": "true"
  }
}
```

## License

MIT

TDQS

B3.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves configuration content from Nacos, while the other publishes/updates configuration. There is no overlap in functionality, and the descriptions clearly differentiate between read and write operations.

Naming Consistency5/5

Both tools follow a consistent naming pattern: 'nacos_' prefix followed by verb_noun (get_config, publish_config). This pattern is uniform across all tools, making them easily identifiable and predictable.

Tool Count2/5

With only two tools, this server feels severely under-scoped for managing a configuration system like Nacos. Essential operations like listing configurations, deleting configurations, or monitoring changes are missing, making the toolset incomplete for typical configuration management workflows.

Completeness2/5

The toolset covers basic get and publish operations but lacks critical CRUD/lifecycle coverage for a configuration management system. There are no tools for listing available configurations, deleting configurations, or handling configuration versioning, which are standard needs in this domain.

Maintenance

ActivityInactive
ResponsivenessNo issues