Server data from the Official MCP Registry
Argo CD MCP server for MCP 2026-07-28: app status, sync, rollback, drift, logs, ApplicationSets
About
Argo CD MCP server for MCP 2026-07-28: app status, sync, rollback, drift, logs, ApplicationSets
Security Report
Valid MCP server (1 strong, 3 medium validity signals). 1 known CVE in dependencies Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (6/6 approved).
4 files analyzed · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: ARGOCD_TOKEN
Environment variable: ARGOCD_URL
Environment variable: ARGOCD_READ_ONLY
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-vish288-mcp-argocd": {
"env": {
"ARGOCD_URL": "your-argocd-url-here",
"ARGOCD_TOKEN": "your-argocd-token-here",
"ARGOCD_READ_ONLY": "your-argocd-read-only-here"
},
"args": [
"mcp-argocd"
],
"command": "uvx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
mcp-argocd
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.
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
1-Click Installation
Tip: For other AI assistants (Claude Code, Windsurf, IntelliJ, Gemini CLI), visit the Argo CD MCP Installation Gateway.
Prerequisite: Install
uvfirst. Install uv.
Claude Code
claude mcp add argocd -- uvx mcp-argocd
Windsurf & IntelliJ
Windsurf: Add to ~/.codeium/windsurf/mcp_config.json
IntelliJ: Add to Settings | Tools | MCP Servers
{
"mcpServers": {
"argocd": {
"command": "uvx",
"args": ["mcp-argocd"],
"env": {
"ARGOCD_URL": "https://argocd.example.com",
"ARGOCD_TOKEN": "<token>"
}
}
}
}
Gemini CLI
The repo ships gemini-extension.json; install it with the Gemini CLI extension flow.
pip / uv
uvx mcp-argocd # run without installing
pip install mcp-argocd # or install into an environment
Configuration
| 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. |
ARGOCD_READ_ONLY | No | false | true blocks the 9 write tools before any API call |
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 |
Getting an API token
Argo CD tokens come from a local account with the apiKey capability, or from a project role.
- Add a local account in
argocd-cm: setaccounts.ci-bot: apiKey. - Generate a token:
argocd account generate-token --account ci-bot --expires-in 24h. - Set
ARGOCD_URLandARGOCD_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
Compatibility
| Component | Supported |
|---|---|
| Argo CD | 3.3+ (OSS, Akuity, OpenShift GitOps); most tools also work on 2.x |
| Python | 3.10, 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 |
Protocol support
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.
Tools (37)
| Category | Count |
|---|---|
| Applications — read | 14 |
| Applications — write | 8 |
| ApplicationSets | 3 |
| Projects | 2 |
| Clusters | 3 |
| Repositories | 3 |
| Server and account | 4 |
Applications — read
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.
Applications — write
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.
ApplicationSets
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.
Projects
argocd_list_projects— List projects with slim rows.argocd_get_project— Get a project's repos, destinations, and roles.
Clusters
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.
Repositories
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.
Server and account
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.
Resources (7)
The server exposes curated GitOps rules and guides as MCP resources.
resource://rules/sync-safety— Sync Safety Rules.resource://rules/rollback— Rollback Rules.resource://rules/gitops-change-flow— GitOps Change Flow.resource://rules/applicationsets— ApplicationSet Rules.resource://guides/status-triage— Status Triage Guide.resource://guides/rbac— RBAC and Permission Errors.resource://guides/api-token-setup— API Token Setup.
Prompts (7)
The server provides MCP prompts — multi-tool workflow templates clients surface as slash commands.
triage_application— Diagnose a Degraded or OutOfSync application.diagnose_sync_failure— Classify why the last sync failed.review_drift— Review OutOfSync apps and recommend a fix.safe_sync— Check sync windows, dry-run, then sync and wait.rollback_application— Roll back with the auto-sync check.fleet_status— Report clusters and apps that are not Synced/Healthy.inspect_applicationset— Compare generated vs existing apps.
Usage Examples
- Triage: "Why is
paymentsDegraded?" runstriage_application— app conditions, unhealthy nodes, warning events, then pod logs. - Drift: "What has drifted in
prod?" runsreview_drift— lists OutOfSync apps and shows each diff. - Safe sync: "Sync
websafely" runssafe_sync— checks sync windows, dry-runs, then syncs and waits. - Rollback: "Roll
apiback to the last good deploy" runsrollback_application— checks auto-sync first. - Fleet: "Show cluster health" runs
fleet_status— clusters and the apps that are not healthy.
Security Considerations
- Token scope: use the minimum RBAC the workflow needs. A read-only role needs
applications, getandlogs, get. - Read-only mode:
ARGOCD_READ_ONLY=trueblocks all 9 write tools before any API call. - SSL verification: on by default. Disable only for self-signed certificates in trusted networks.
- Secret scrubbing: repository, cluster, and project payloads are scrubbed of credentials, cluster
config, and rolejwtTokens, even withfull=True. - MCP tool annotations: every tool declares
readOnlyHint,destructiveHint, andidempotentHint. - No credential storage: the server reads the token from the environment at startup and never persists it.
- Destructive tools:
argocd_sync_application,argocd_rollback_application,argocd_terminate_operation,argocd_delete_application,argocd_run_resource_action,argocd_delete_resource.
Permissions
| Operation | Argo CD RBAC resource, action |
|---|---|
| Read apps and resources | applications, get |
| Read pod logs | logs, get |
| Sync | applications, sync |
| Override a revision | applications, override |
| Roll back | applications, sync (or applications, rollback when enforced) |
| Delete an app | applications, delete |
| Run a resource action | applications, action/<group>/<kind>/<action> |
| Read clusters, projects, repos | clusters, get / projects, get / repositories, get |
CLI & Transport Options
uvx mcp-argocd # stdio (default)
uvx mcp-argocd --transport streamable-http --port 9000
uvx mcp-argocd --transport sse # deprecated; prints a warning
uvx mcp-argocd --read-only --insecure
FAQ
Does mcp-argocd support MCP 2026-07-28 (MCP 2.0)? Yes. It supports the MCP 2026-07-28 specification, often called MCP 2.0, and stays compatible with 2025-11-25 clients.
How is it different from argoproj-labs/mcp-for-argocd? argoproj-labs/mcp-for-argocd is the official TypeScript server with 15 tools. mcp-argocd adds 37 tools with slim payloads by default, plus diff, rollback, terminate, wait-for-operation, ApplicationSet dry-run, and RBAC error hints.
Which Argo CD versions work? Argo CD 3.3 and newer. Most tools also work on 2.x; only run_resource_action uses a 3.x endpoint.
Does it need kubectl or cluster credentials? No. It talks to the Argo CD API over HTTPS with a bearer token. It never touches the cluster directly.
Is it safe for read-only use? Yes. Set ARGOCD_READ_ONLY=true. The server blocks all nine write tools before any API call.
Which token does it need? It needs a bearer token in ARGOCD_TOKEN. Generate one from a local account with the apiKey capability, or use a project-role token. It also reads ARGOCD_AUTH_TOKEN and ARGOCD_API_TOKEN.
Why do I get a 403 for an app that exists? Without project, Argo CD returns 403 for an app that does not exist. Pass project to get a real 404.
Can it sync only one resource? Yes. Pass resources to argocd_sync_application with [group:]kind:name[/namespace] selectors.
Can it roll back? Yes. Use argocd_rollback_application with a history id. It refuses while auto-sync is on and tells you how to disable it.
How does it keep responses small? Every tool returns a slim payload by default and pages lists client-side. Pass full=True for the raw payload.
Which transports? stdio, streamable-http, and sse. sse is deprecated by the 2026-07-28 spec but still works.
How do I install? Run uvx mcp-argocd, or add it to your MCP client config.
Related MCP Servers
- mcp-gitlab — GitLab integration (83 tools, 7 resources, 6 prompts)
- mcp-atlassian-extended — Jira + Confluence integration (22 tools, 15 resources, 5 prompts)
- mcp-coda — Coda integration (53 tools, 12 resources, 5 prompts)
Development
git clone https://github.com/vish288/mcp-argocd.git
cd mcp-argocd
uv sync --all-extras
uv run pytest --cov
uv run ruff check .
uv run ruff format --check .
License
MIT — see LICENSE.
Reviews
No reviews yet
Be the first to review this server!
More Cloud & DevOps MCP Servers
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Lharries · Communication
Read, search, and send WhatsApp messages through your AI assistant
Google Workspace MCP
Freeby Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI
