Argo CD
Interact with Argo CD applications through natural language.
Argo CD MCP Server
An implementation of Model Context Protocol (MCP) server for Argo CD, enabling AI assistants to interact with your Argo CD applications through natural language. This server allows for seamless integration with Visual Studio Code and other MCP clients through stdio and HTTP stream transport protocols.
Features
- Transport Protocols: Supports both stdio and HTTP stream transport modes for flexible integration with different clients
- Complete Argo CD API Integration: Provides comprehensive access to Argo CD resources and operations
- AI Assistant Ready: Pre-configured tools for AI assistants to interact with Argo CD in natural language
Available Tools
The server provides the following ArgoCD management tools:
Cluster Management
list_clusters: List all clusters registered with ArgoCD
Application Management
list_applications: List and filter all applicationsget_application: Get detailed information about a specific applicationcreate_application: Create a new applicationupdate_application: Update an existing applicationdelete_application: Delete an applicationsync_application: Trigger a sync operation on an application
Resource Management
get_application_resource_tree: Get the resource tree for a specific applicationget_application_managed_resources: Get managed resources for a specific applicationget_application_workload_logs: Get logs for application workloads (Pods, Deployments, etc.)get_resource_events: Get events for resources managed by an applicationget_resource_actions: Get available actions for resourcesrun_resource_action: Run an action on a resource
Installation
Prerequisites
- Node.js (v18 or higher recommended)
- pnpm package manager (for development)
- Argo CD instance with API access
- Argo CD API token (see the docs for instructions)
Usage with Cursor
- Follow the Cursor documentation for MCP support, and create a
.cursor/mcp.jsonfile in your project:
{
"mcpServers": {
"argocd-mcp": {
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}
- Start a conversation with Agent mode to use the MCP.
Usage with VSCode
- Follow the Use MCP servers in VS Code documentation, and create a
.vscode/mcp.jsonfile in your project:
{
"servers": {
"argocd-mcp-stdio": {
"type": "stdio",
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}
- Start a conversation with an AI assistant in VS Code that supports MCP.
Usage with Claude Desktop
- Follow the MCP in Claude Desktop documentation, and create a
claude_desktop_config.jsonconfiguration file:
{
"mcpServers": {
"argocd-mcp": {
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}
- Configure Claude Desktop to use this configuration file in settings.
Self-signed Certificates
If your Argo CD instance uses self-signed certificates or certificates from a private Certificate Authority (CA), you may need to add the following environment variable to your configuration:
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
This disables TLS certificate validation for Node.js when connecting to Argo CD instances using self-signed certificates or certificates from private CAs that aren't trusted by your system's certificate store.
Warning: Disabling SSL verification reduces security. Use this setting only in development environments or when you understand the security implications.
Read Only Mode
If you want to run the MCP Server in a ReadOnly mode to avoid resource or application modification, you should set the environment variable:
"MCP_READ_ONLY": "true"
This will disable the following tools:
create_applicationupdate_applicationdelete_applicationsync_applicationrun_resource_action
By default, all the tools will be available.
Stateless Mode
By default, the HTTP transport assigns a session ID to each client connection and keeps an in-memory map of active sessions. This works well for single-instance deployments but causes 400 errors when multiple replicas are running without sticky sessions, because a request routed to a different pod will not find the session that was created on the original pod.
To run without session affinity requirements, start the server with the --stateless flag:
node dist/index.js http --stateless
Or with Docker:
docker run -e ARGOCD_BASE_URL=<argocd_url> -e ARGOCD_API_TOKEN=<argocd_token> \
argoprojlabs/mcp-for-argocd http --stateless
In stateless mode:
- No
Mcp-Session-Idis returned or required — any replica can handle any request - ArgoCD credentials must be supplied on every request via environment variables or
x-argocd-base-url/x-argocd-api-tokenheaders GET /mcpandDELETE /mcpreturn405 Method Not Allowed(session-level SSE and termination are not supported)
This mode is recommended for Kubernetes deployments with Horizontal Pod Autoscaling (HPA) where network-level sticky sessions are not available.
For Development
- Clone the repository:
git clone https://github.com/argoproj-labs/mcp-for-argocd.git
cd mcp-for-argocd
- Install project dependencies:
pnpm install
- Start the development server with hot reloading enabled:
pnpm run dev
Once the server is running, you can utilize the MCP server within Visual Studio Code or other MCP client.
Upgrading ArgoCD Types
To update the TypeScript type definitions based on the latest Argo CD API specification:
-
Download the
swagger.jsonfile from the ArgoCD release page, for example here is the swagger.json link for ArgoCD v2.14.11. -
Place the downloaded
swagger.jsonfile in the root directory of theargocd-mcpproject. -
Generate the TypeScript types from the Swagger definition by running the following command. This will create or overwrite the
src/types/argocd.d.tsfile:pnpm run generate-types -
Update the
src/types/argocd-types.tsfile to export the required types from the newly generatedsrc/types/argocd.d.ts. This step often requires manual review to ensure only necessary types are exposed.
Credits
The project was initially created and donated by @jiachengxu, @imwithye, @hwwn, and @alexmt from Akuity.
Servidores relacionados
Alpha Vantage MCP Server
patrocinadorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
OpenAPI2MCP
Converts OpenAPI specifications into MCP tools, enabling AI clients to interact with external APIs seamlessly.
Clangaroo
Provides fast C++ code intelligence for LLMs using the clangd language server.
XLUXX Trust Layer
Runtime trust scoring for MCP servers. Monitors 15,000+ servers with reliability metrics, drift detection, and fallback recommendations.
LangSmith MCP Server
An MCP server for fetching conversation history and prompts from the LangSmith observability platform.
ApostropheCMS
Interact with ApostropheCMS, a Node.js-based content management system, to manage content snippets.
RunwayML + Luma AI
Interact with the RunwayML and Luma AI APIs for video and image generation tasks.
MCP Memory Keeper
A server for persistent context management in Claude AI coding assistants, using a local SQLite database for storage.
Remote MCP Server
An example of a remote MCP server deployable on Cloudflare Workers, customizable by defining tools.
Cntx UI
A minimal file bundling and tagging tool for AI development, featuring a web interface and MCP server mode for AI integration.
Python Interpreter MCP
An MCP server that provides Python code execution capabilities through a REST API interface.