MCP.so
Sign In

Argo CD MCP Server

@akuity

About Argo CD MCP Server

An implementation of Model Context Protocol (MCP) server for Argo CD.

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "argocd-mcp": {
      "command": "npx",
      "args": [
        "argocd-mcp@latest",
        "stdio"
      ],
      "env": {
        "ARGOCD_BASE_URL": "<argocd_url>",
        "ARGOCD_API_TOKEN": "<argocd_token>"
      }
    }
  }
}

Tools

16

list_applications returns list of applications

list_clusters returns list of clusters registered with ArgoCD

get_application returns application by application name. Optionally specify the application namespace to get applications from non-default namespaces.

get_appproject returns an ArgoCD AppProject (project) by its name. AppProjects provide a logical grouping of applications and define allowed sources, destinations, cluster/repository whitelists, and RBAC roles.

get_application_resource_tree returns resource tree for application by application name. Optionally specify the application namespace to get resource tree from applications in non-default namespaces.

get_application_managed_resources returns managed resources for application by application name with optional filtering. Use filters to avoid token limits with large applications. Examples: kind="ConfigMap" for config maps only, namespace="production" for specific namespace, or combine multiple filters.

get_application_workload_logs returns logs for application workload (Deployment, StatefulSet, Pod, etc.) by application name and resource ref and optionally container name

get_application_events returns events for application by application name. Optionally specify the application namespace to get events from applications in non-default namespaces.

get_resource_events returns events for a resource that is managed by an application

get_resources return manifests for resources specified by resourceRefs. If resourceRefs is empty or not provided, fetches all resources managed by the application.

get_resource_actions returns actions for a resource that is managed by an application

create_application creates a new ArgoCD application in the specified namespace. The application.metadata.namespace field determines where the Application resource will be created (e.g., "argocd", "argocd-apps", or any custom namespace).

update_application updates application

delete_application deletes application. Specify applicationNamespace if the application is in a non-default namespace to avoid permission errors.

sync_application syncs application. Specify applicationNamespace if the application is in a non-default namespace to avoid permission errors.

run_resource_action runs an action on a resource

Overview

What is Argo CD MCP Server?

An implementation of the Model Context Protocol (MCP) server for Argo CD, enabling AI assistants to interact with Argo CD applications through natural language. It integrates with Visual Studio Code, Cursor, Claude Desktop, and other MCP clients via stdio and HTTP stream transport protocols.

How to use Argo CD MCP Server?

Set the ARGOCD_BASE_URL and ARGOCD_API_TOKEN environment variables, then run npx argocd-mcp@latest stdio. Create an MCP configuration file (e.g., .cursor/mcp.json, .vscode/mcp.json, or claude_desktop_config.json) with the command and env values to integrate with supported clients.

Key features of Argo CD MCP Server

  • Supports stdio and HTTP stream transport protocols
  • Comprehensive access to Argo CD resources and operations (clusters, applications, logs, events)
  • Pre-configured tools for AI assistants to interact with Argo CD in natural language
  • Token registry for securely targeting multiple Argo CD instances with per-host tokens
  • Support for self-signed certificates via the NODE_TLS_REJECT_UNAUTHORIZED environment variable

Use cases of Argo CD MCP Server

  • List and filter all Argo CD applications from an AI assistant
  • Trigger a sync operation on an application after a code change
  • Retrieve resource trees, managed resources, and workload logs for troubleshooting
  • Get events and available actions for resources and execute actions
  • Manage multiple Argo CD instances from a single MCP server using a token registry

FAQ from Argo CD MCP Server

What are the prerequisites for using Argo CD MCP Server?

Node.js v18 or higher (for running npx), an Argo CD instance with API access, and an Argo CD API token.

How do I provide Argo CD credentials?

The base URL is supplied via the ARGOCD_BASE_URL environment variable (or x-argocd-base-url HTTP header) and optionally overridden per tool call with the argocdBaseUrl argument. The API token is mandatory and read from the ARGOCD_API_TOKEN environment variable (or x-argocd-api-token header for HTTP transport); it is never accepted as a tool argument to avoid leaking into prompts, model context, or logs.

How can I connect to multiple Argo CD instances with different tokens?

Set the ARGOCD_TOKEN_REGISTRY_PATH environment variable to point to a JSON file mapping base URLs to their tokens. The server then resolves the correct token per call, preventing token exfiltration by binding the default token only to the default base URL.

Can I use self-signed certificates with this server?

Yes. Set the NODE_TLS_REJECT_UNAUTHORIZED environment variable to "0" to disable TLS certificate validation. Use this only in development or when you understand the security implications.

Which transport protocols are supported?

The server supports both stdio (default) and HTTP stream transport modes, allowing flexible integration with different MCP clients.

Frequently asked questions

What are the prerequisites for using Argo CD MCP Server?

Node.js v18 or higher (for running `npx`), an Argo CD instance with API access, and an Argo CD API token.

How do I provide Argo CD credentials?

The base URL is supplied via the `ARGOCD_BASE_URL` environment variable (or `x-argocd-base-url` HTTP header) and optionally overridden per tool call with the `argocdBaseUrl` argument. The API token is mandatory and read from the `ARGOCD_API_TOKEN` environment variable (or `x-argocd-api-token` header for HTTP transport); it is never accepted as a tool argument to avoid leaking into prompts, model context, or logs.

How can I connect to multiple Argo CD instances with different tokens?

Set the `ARGOCD_TOKEN_REGISTRY_PATH` environment variable to point to a JSON file mapping base URLs to their tokens. The server then resolves the correct token per call, preventing token exfiltration by binding the default token only to the default base URL.

Can I use self-signed certificates with this server?

Yes. Set the `NODE_TLS_REJECT_UNAUTHORIZED` environment variable to `"0"` to disable TLS certificate validation. Use this only in development or when you understand the security implications.

Which transport protocols are supported?

The server supports both stdio (default) and HTTP stream transport modes, allowing flexible integration with different MCP clients.

Comments

More Developer Tools MCP servers