Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Argo CD MCP server (MCP 2026-07-28): status, sync, rollback, drift, AppSets; writes or read-only
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ARGOCD_TOKEN, ARGOCD_URL, ARGOCD_READ_ONLY, MCP_READ_ONLY, ARGOCD_HTTP_BEARER_TOKENValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"argocd": {
"command": "uvx",
"args": [
"mcp-argocd"
],
"env": {
"ARGOCD_TOKEN": "your-value",
"ARGOCD_URL": "your-value",
"ARGOCD_READ_ONLY": "your-value",
"MCP_READ_ONLY": "your-value",
"ARGOCD_HTTP_BEARER_TOKEN": "your-value"
}
}
}
}Run this in your terminal
claude mcp add argocd --env ARGOCD_TOKEN=your-value --env ARGOCD_URL=your-value --env ARGOCD_READ_ONLY=your-value --env MCP_READ_ONLY=your-value --env ARGOCD_HTTP_BEARER_TOKEN=your-value -- uvx mcp-argocdFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"argocd": {
"command": "uvx",
"args": [
"mcp-argocd"
],
"env": {
"ARGOCD_TOKEN": "your-value",
"ARGOCD_URL": "your-value",
"ARGOCD_READ_ONLY": "your-value",
"MCP_READ_ONLY": "your-value",
"ARGOCD_HTTP_BEARER_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"argocd": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-argocd"
],
"env": {
"ARGOCD_TOKEN": "your-value",
"ARGOCD_URL": "your-value",
"ARGOCD_READ_ONLY": "your-value",
"MCP_READ_ONLY": "your-value",
"ARGOCD_HTTP_BEARER_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
ARGOCD_READ_ONLY envMCP_READ_ONLY envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account vish288, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: ARGOCD_TOKEN, ARGOCD_URL, ARGOCD_HTTP_BEARER_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.6.0) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Signoff
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
mcp-argocd is a Model Context Protocol (MCP) server for the Argo CD REST API. It gives AI assistants 37 tools, 7 resources, and 7 prompts to triage application status, sync, roll back, inspect drift, read logs, and manage ApplicationSets, clusters, projects, and repositories. Works with Claude Desktop, Claude Code, Cursor, Windsurf, VS Code Copilot, and any MCP-compatible client. Runs in one of two modes: with writes, or locked read-only (MCP_READ_ONLY=true) so the 9 write tools are never offered to the model.
Works with Argo CD 3.3+ (any install: OSS, Akuity, OpenShift GitOps). Needs an API token, no cluster access.
Supports the MCP 2026-07-28 specification, often called MCP 2.0, and stays compatible with 2025-11-25 clients.
Built with FastMCP 4.x, httpx, and Pydantic.
Install: uvx mcp-argocd | PyPI | MCP Registry | Changelog
uvx mcp-argocd # with writes
MCP_READ_ONLY=true uvx mcp-argocd # locked read-only: write tools are not listed
Tip: For other AI assistants (Claude Code, Windsurf, IntelliJ, Gemini CLI), visit the [Argo CD MCP Installation Gateway](https://vish288.github.io/mcp-install?server=mcp-argocd).
Manual Setup Guides (Click to expand)
Prerequisite: Install
uvfirst. Install uv.
# with writes
claude mcp add argocd -e ARGOCD_URL=https://argocd.example.com -e ARGOCD_TOKEN= -- uvx mcp-argocd
claude mcp add argocd -e MCP_READ_ONLY=true -e ARGOCD_URL=https://argocd.example.com -e ARGOCD_TOKEN= -- uvx mcp-argocd
Windsurf: Add to ~/.codeium/windsurf/mcp_config.json IntelliJ: Add to Settings | Tools | MCP Servers
Remove MCP_READ_ONLY to allow writes.
{
"mcpServers": { "argocd": { "command": "uvx", "args": ["mcp-argocd"], "env": { "ARGOCD_URL": "https://argocd.example.com", "ARGOCD_TOKEN": " ", "MCP_READ_ONLY": "true" } } } }
The repo ships gemini-extension.json; install it with the Gemini CLI extension flow, or add it directly:
# with writes
gemini mcp add -s user -e ARGOCD_URL=https://argocd.example.com -e ARGOCD_TOKEN= argocd uvx mcp-argocd
gemini mcp add -s user -e MCP_READ_ONLY=true -e ARGOCD_URL=https://argocd.example.com -e ARGOCD_TOKEN= argocd uvx mcp-argocd
Add to .vscode/mcp.json. Remove MCP_READ_ONLY to allow writes.
{
"servers": { "argocd": { "type": "stdio", "command": "uvx", "args": ["mcp-argocd"], "env": { "ARGOCD_URL": "https://argocd.example.com", "ARGOCD_TOKEN": " ", "MCP_READ_ONLY": "true" } } } }
# with writes
codex mcp add argocd --env ARGOCD_URL=https://argocd.example.com --env ARGOCD_TOKEN= -- uvx mcp-argocd
codex mcp add argocd --env MCP_READ_ONLY=true --env ARGOCD_URL=https://argocd.example.com --env ARGOCD_TOKEN= -- uvx mcp-argocd
uvx mcp-argocd # run without installing
pip install mcp-argocd # or install into an environment
Drop MCP_READ_ONLY to allow writes. On a shared or hosted server put it in the deployer's env, not the client config.
| Variable | Required | Default | Description |
|---|---|---|---|
ARGOCD_URL | Yes | - | Base URL including any path prefix. Also reads ARGOCD_SERVER. |
ARGOCD_TOKEN | Yes | - | Bearer token. Also reads ARGOCD_AUTH_TOKEN, ARGOCD_API_TOKEN. |
MCP_READ_ONLY | No | false | Shared name across the mcp-* servers. Any value other than false/0/no/off/empty locks the server read-only: the 9 write tools and write-workflow prompts are not listed, and nothing can turn it back off at runtime |
ARGOCD_READ_ONLY | No | false | Per-server alias for MCP_READ_ONLY; either one locks the server read-only. --read-only can only raise the lock |
ARGOCD_HTTP_BEARER_TOKEN | No | - | Bearer token (min 16 chars) required to bind an HTTP transport to a non-loopback host; clients send Authorization: Bearer |
ARGOCD_TIMEOUT | No | 30 | Request timeout in seconds |
ARGOCD_SSL_VERIFY | No | true | false skips SSL verification (ARGOCD_INSECURE=true is an alias) |
ARGOCD_APP_NAMESPACE | No | - | Default appNamespace for apps-in-any-namespace installs |
Argo CD tokens come from a local account with the apiKey capability, or from a project role.
argocd-cm: set accounts.ci-bot: apiKey.argocd account generate-token --account ci-bot --expires-in 24h.ARGOCD_URL and ARGOCD_TOKEN.Minimum read-only RBAC:
p, role:mcp-ro, applications, get, */*, allow
p, role:mcp-ro, logs, get, */*, allow p, role:mcp-ro, applicationsets, get, */*, allow p, role:mcp-ro, projects, get, *, allow p, role:mcp-ro, clusters, get, *, allow p, role:mcp-ro, repositories, get, *, allow
| Component | Supported |
|---|---|
| Argo CD | 3.3+ (OSS, Akuity, OpenShift GitOps); most tools also work on 2.x |
| Python | 3.11, 3.12, 3.13, 3.14 |
| Transports | stdio, streamable-http, sse (deprecated) |
| MCP spec | 2026-07-28 (MCP 2.0); compatible with 2025-11-25 |
Supports the MCP 2026-07-28 specification (MCP 2.0) and stays compatible with 2025-11-25 clients. Built on FastMCP 4.x. A regression test lists all 37 tools with an in-memory MCP client pinned to 2026-07-28. The sse transport is deprecated by the 2026-07-28 specification; it still works and prints a warning. The server uses no roots, sampling, logging, elicitation, or resource subscriptions.
Expected failures — a missing app (404), a denied permission (403), a write that reaches the read-only guard — return a tool result with isError: true rather than a success envelope. (In locked read-only mode the write tools are hidden, so calling one returns an Unknown tool error; the envelope below is the guard's own response, returned only when a client reaches a write tool anyway.) The body is a JSON object {"error", "status_code"?, "body"?, "hint"?}, where hint names a corrective action when one applies. The body is the result's pretty-printed text content; the result carries no structuredContent, because a strict MCP client (the TypeScript SDK) validates structuredContent against the tool's outputSchema even when isError is true and would reject the error otherwise. Unexpected bugs are also isError: true but carry TypeName: message text and a logged traceback. Successful results carry the same JSON object as structuredContent alongside the pretty-printed text, so a client may read either. Tools advertise no outputSchema: payloads pass upstream fields through untyped, and a typed schema is opt-in per tool via output_schema=.
| Category | Count |
|---|---|
| Applications — read | 14 |
| Applications — write | 8 |
| ApplicationSets | 3 |
| Projects | 2 |
| Clusters | 3 |
| Repositories | 3 |
| Server and account | 4 |
Full tool reference (Click to expand)
argocd_list_applications — List applications with slim rows; filter by sync, health, destination.argocd_get_application — Get one application: spec, sync/health, conditions, operation, counts.argocd_get_resource_tree — Get the live resource tree as slim nodes.argocd_get_managed_resources — Get live-vs-desired diffs for managed resources.argocd_get_resource — Get a single managed resource's live manifest.argocd_get_manifests — Get the rendered desired manifests for a revision.argocd_get_application_events — Get Kubernetes events for an application.argocd_get_pod_logs — Get container logs; never follows.argocd_get_application_history — Get deployment history, newest first.argocd_get_revision_metadata — Get commit metadata for a revision.argocd_get_operation — Get the current or last sync operation.argocd_wait_for_operation — Poll until an operation is terminal, gone, or times out.argocd_get_sync_windows — Get sync windows and whether the app can sync now.argocd_list_resource_actions — List the custom actions available on a resource.argocd_sync_application — Sync an application; prune and force can delete or recreate resources.argocd_rollback_application — Roll back to a prior deployment history entry.argocd_terminate_operation — Terminate the running sync operation.argocd_create_application — Create an application from flattened parameters.argocd_patch_application — Patch an application; the one tool for every update.argocd_delete_application — Delete an application.argocd_run_resource_action — Run a custom resource action, such as restart.argocd_delete_resource — Delete a single managed resource so the controller recreates it.argocd_list_applicationsets — List ApplicationSets with slim rows.argocd_get_applicationset — Get one ApplicationSet and the status of its generated apps.argocd_generate_applicationset — Dry-run the generators to preview generated apps; creates nothing.argocd_list_projects — List projects with slim rows.argocd_get_project — Get a project's repos, destinations, and roles.argocd_list_clusters — List clusters with connection state, versions, and counts.argocd_get_cluster — Get one cluster by name or server URL.argocd_invalidate_cluster_cache — Invalidate a cluster's cached resources.argocd_list_repositories — List repositories; credentials are never returned.argocd_get_repository_refs — Get a repository's branches and tags.argocd_list_repository_apps — List the application paths discoverable in a repository.argocd_get_version — Get the Argo CD server version and bundled tool versions.argocd_get_userinfo — Get the authenticated identity.argocd_can_i — Check whether the account may perform a resource/action.argocd_get_settings — Get server settings and enabled features.The server exposes curated GitOps rules and guides as MCP resources.
Only the beginning is shown; read the rest in the repo