Read-only, project-aware Nacos configuration and service discovery for Spring Cloud repositories.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We ran the install command below but it didn't respond within our test window β this can mean a slow first-time install rather than a real problem.
uvx tools/nacos_mcp.pyNo response to initialize.
This is an experimental automated check and can have false negatives β missing environment variables, a slow cold install, etc. It doesnβt necessarily mean somethingβs wrong. Last checked 1mo ago.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Spring Nacos MCP.
nacos_list_envsList discovered environments with address/namespace/groups
nacos_get_configRead one config's raw content by dataId
nacos_get_app_configApp config + the shared/extension configs your project declares
nacos_list_configsList dataIds in a namespace (optional fuzzy filter)
nacos_search_configFull-text search across all config contents
nacos_diff_configKey-level diff of one config between two environments
A project-aware, read-only Nacos MCP server for Spring Cloud repositories.
Point it at your Spring Cloud repo. It reads your own application-* / bootstrap-*
files, discovers every environment (dev / test / pre / prod / ...), and gives your AI
assistant read-only Nacos tools across all of them β no host, port, namespace or
token to configure.
nacos-mcp-server?The official nacos-group/nacos-mcp-server
connects to one cluster that you configure by hand (--host, --port, --access_token).
That's the right tool for operating a Nacos cluster.
This project answers a different question: "what does my project's config look like across environments?"
| official nacos-mcp-server | spring-nacos-mcp | |
|---|---|---|
| Setup | manual host/port/token per cluster | zero-config: parsed from your repo |
| Environments | one per server instance | all profiles, env param on every tool |
| Cross-env diff | not possible (single cluster) | built-in nacos_diff_config |
| Spring awareness | none | shared-configs, file-extension, app config |
| Write operations | planned | never (read-only by design) |
Paste this into Cursor / Claude Code / Codex / Trae:
Install the MCP server from https://github.com/kestiny18/spring-nacos-mcp into this project and verify it works.
The repo ships an llms-install.md with exact steps per client, so the agent can do the whole thing β download, config, verification β by itself.
The whole server is a single, zero-dependency, standard-library-only Python file. Drop it into your repo:
Works on intranet machines too β copy the file over however you like.
Or pip install git+https://github.com/kestiny18/spring-nacos-mcp and use the
spring-nacos-mcp command.
The server auto-detects the repo root from its working directory (your editor's
workspace). For clients that don't launch servers in the workspace (e.g. Claude
Desktop), pin it: "args": [..., "--repo", "/path/to/repo"].
Prints every discovered environment, where it came from, and whether the Nacos
server is reachable. Exit codes: 0 all reachable Β· 1 nothing discovered Β·
2 discovered but some unreachable (usually VPN/network, not setup).
| Tool | What it does |
|---|---|
nacos_list_envs | List discovered environments with address/namespace/groups |
nacos_get_config | Read one config's raw content by dataId |
nacos_get_app_config | App config + the shared/extension configs your project declares |
nacos_list_configs | List dataIds in a namespace (optional fuzzy filter) |
nacos_search_config | Full-text search across all config contents |
nacos_diff_config | Key-level diff of one config between two environments |
nacos_list_services | List services in the discovery registry |
nacos_list_instances | List online instances (IP/port/health) of a service |
.git, pom.xml, build.gradle, mvnw, gradlew, ...).*/src/main/resources/ for
application[-<profile>].{yml,yaml,properties} and bootstrap[-<profile>].{yml,yaml,properties}.
Multi-document YAML with spring.config.activate.on-profile (or legacy
spring.profiles) is supported.bootstrap-<profile> β application-<profile> β base bootstrap β base application.spring.cloud.nacos.*: server-addr, namespace, username/password, config
group (also from spring.config.import: nacos:...?group=X), discovery group,
file-extension, shared-configs / extension-configs / legacy shared-dataids.
Relaxed binding (server-addr / serverAddr / server_addr) is handled.${...} placeholders are resolved from environment variables
(${nacos.addr} also tries NACOS_ADDR); ${name:default} uses the default.
Environments with unresolved placeholders are skipped with a clear log line.Environment variables (highest precedence), <ENV> is the upper-cased profile name:
Or a .spring-nacos-mcp.yml at the repo root β patch discovered environments or
define ones that aren't in the repo at all:
SPRING_NACOS_MCP_MASK=1 masks values whose keys contain
password/secret/token/credential/..., or provide your own list:
SPRING_NACOS_MCP_MASK=password,apikey. Masking is off by default.NACOS_USERNAME / NACOS_PASSWORD) over
credentials committed in config files./v1/auth/login with automatic
fallback to /v3/auth/user/login (Nacos 3.x). https:// server addresses and
comma-separated cluster address lists are supported.@...@) are not resolved;
use the override file for those repos.Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/kestiny18-spring-nacos-mcp)<a href="https://allmcps.com/mcp/kestiny18-spring-nacos-mcp"><img src="https://allmcps.com/api/badge/kestiny18-spring-nacos-mcp?style=directory" alt="Spring Nacos MCP on AllMCPs" /></a>