ArgoCD MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARGOCD_URL | Yes | ArgoCD server URL (required) | |
| ARGOCD_TOKEN | Yes | ArgoCD API token (required) | |
| MCP_AUDIT_LOG | No | Path to audit log file (disabled if not set) | |
| MCP_READ_ONLY | No | Block write operations | true |
| ARGOCD_INSECURE | No | Skip TLS verification (dev only!) | false |
| MCP_SINGLE_CLUSTER | No | Restrict to default cluster | false |
| ARGOCD_MCP_LOG_LEVEL | No | Logging level | INFO |
| MCP_RATE_LIMIT_CALLS | No | Max API calls per window | 100 |
| MCP_RATE_LIMIT_WINDOW | No | Rate limit window (seconds) | 60 |
| MCP_DISABLE_DESTRUCTIVE | No | Block delete/prune | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_applicationsA | List ArgoCD applications with optional filtering. Returns applications matching the specified filters. Use this to get an overview of applications in a project or find unhealthy/out-of-sync apps. |
| get_applicationB | Get detailed information about a specific ArgoCD application. Returns comprehensive application details including source repo, sync status, health status, deployment destination, and any conditions or errors. |
| get_application_statusB | Get condensed health and sync status for quick checks. Use this for a quick status check when you don't need full application details. |
| get_application_diffA | Preview what would change on sync (dry-run diff). Shows resources that would be created, updated, or deleted if sync were triggered. Use this before syncing to understand the impact. |
| get_application_historyA | View deployment history with commit info and timestamps. Shows recent deployments including revision, timestamp, and initiator. Useful for understanding recent changes and finding rollback targets. |
| diagnose_sync_failureB | Diagnose why an application sync failed. Aggregates sync status, resource conditions, events, and recent logs to identify root cause. Provides actionable suggestions for resolution. |
| get_application_logsA | Get pod logs for an application. Retrieves logs from pods managed by the application. Useful for debugging application issues, checking startup errors, or monitoring runtime behavior. |
| list_clustersB | List registered Kubernetes clusters with health status. Shows all clusters registered with ArgoCD and their connection status. |
| list_projectsA | List ArgoCD projects. Shows all projects which organize and control application access. |
| sync_applicationA | |
| refresh_applicationB | Force manifest refresh from Git. Triggers ArgoCD to re-fetch manifests from the Git repository. Use hard=true to invalidate cache and force full refresh. |
| rollback_applicationB | |
| terminate_syncB | Terminate an ongoing sync operation. Stops a sync that's currently in progress. Useful when a sync is stuck, taking too long, or was triggered by mistake. |
| delete_applicationA | |
| sync_application_with_pruneA | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_instances_resource | Get information about configured ArgoCD instances. |
| get_security_resource | Get current security settings. |
TDQS
Scored across 15 tools
Each tool targets a distinct resource and action combination. Get/status/diff/history/logs/diagnose all serve clearly separate purposes. Sync and delete operations are cleanly separated from their non-prune vs prune variants, and the destructive tools include explicit confirmation requirements that distinguish them from safe operations.
The vast majority follow a consistent verb_noun pattern (get_application, list_applications, sync_application, delete_application, rollback_application). Minor deviation: diagnose_sync_failure, refresh_application, and terminate_sync don't carry the 'application' noun prefix, though this is readable and doesn't cause confusion.
Fifteen tools is well within the sweet spot for an operations-focused MCP server. Each tool covers a distinct lifecycle operation—read, list, sync, rollback, delete, diagnose, log retrieval, cluster/project listing—so every tool earns its place without redundancy.
The tool surface covers the full application lifecycle well: create/read/update/delete is mostly covered (notably missing application creation/update), plus sync, rollback, refresh, logs, diff preview, history, and failure diagnosis. No audit/events tool is missing; the only notable gap is application creation/update operations, plus cluster/project management is read-only.