mcp-for-argocd
An implementation of Model Context Protocol (MCP) server for Argo CD.
Install / Use
claude mcp add argoproj-labs -- npx -y github:argoproj-labs/mcp-for-argocdIf the server publishes to npm under a different name, use that package instead β check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
OperationsSupported Platforms
Tags
Our assessment of mcp-for-argocd
mcp-for-argocd scores 89/100 on our quality scale, 345th of 756 Operations skills we index (top 46%).
Its MCP Server is 24 KB long, well organised into 31 sections with 20 code examples: a thorough specification that gives an agent plenty to work with.
It has 603 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated 20 days ago, so mcp-for-argocd is actively maintained.
- Our last check on 2026-10-18 found the source still online.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 95/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit β read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk β read a skill before letting an agent act on it.
mcp-for-argocd compared with similar skills
All 4 of these similar skills score higher than mcp-for-argocd; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| mcp-for-argocd (this skill)by argoproj-labs | 89 | 603 | 20d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 109.2k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.9k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 97.9k | today | MCP Server |
Frequently asked questions
- How do I install mcp-for-argocd?
- Run
claude mcp add argoproj-labs -- npx -y github:argoproj-labs/mcp-for-argocd. The install tabs above show the steps for each supported agent. - Which AI agents does mcp-for-argocd work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is mcp-for-argocd safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is Apache-2.0-licensed and scores 95/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is mcp-for-argocd still maintained?
- The repository was last updated 20 days ago, so mcp-for-argocd is actively maintained.
Skill content
View source on GitHubArgo 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.
<a href="https://glama.ai/mcp/servers/@akuity/argocd-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@akuity/argocd-mcp/badge" alt="argocd-mcp MCP server" /> </a> <!-- // Generate using?: const config = JSON.stringify({ "name": "argocd-mcp", "command": "npx", "args": ["argocd-mcp@latest", "stdio"], "env": { "ARGOCD_BASE_URL": "<argocd_url>", "ARGOCD_API_TOKEN": "<argocd_token>" } }); const urlForWebsites = `vscode:mcp/install?${encodeURIComponent(config)}`; // Github markdown does not allow linking to `vscode:` directly, so you can use our redirect: const urlForGithub = `https://insiders.vscode.dev/redirect?url=${encodeURIComponent(urlForWebsites)}`; --><img src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF" alt="Install in VS Code"> <img alt="Install in VS Code Insiders" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5">
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
Project Management
get_appproject: Get detailed information about a specific AppProject (project)
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.
Providing ArgoCD Credentials
The server connects to ArgoCD using a base URL and an API token.
API token β header / env var only (mandatory)
The ArgoCD API token is a secret and is only ever read from the transport layer, never from a tool-call argument:
- HTTP headers (HTTP transport only):
x-argocd-api-token. - Environment variables:
ARGOCD_API_TOKEN(all transports).
This token is outbound only: it authenticates this server to ArgoCD and never authorizes an inbound caller. See Network Exposure for who may reach the listener.
This is the default token. It is mandatory unless a token registry is configured: on the HTTP transport, a connection that supplies no token (neither header nor env var) is rejected with 400 Bad Request, but when a registry is configured a tokenless connection is allowed because each call resolves its own registry token. Keeping the token out of tool arguments ensures it never enters prompts, model context, or tool-call logs.
Base URL β header / env var, or per-call argument
The base URL may be supplied at the session level (resolved once when the server starts or when an HTTP client connects):
- HTTP headers (HTTP transport only):
x-argocd-base-url. - Environment variables:
ARGOCD_BASE_URL(all transports).
In addition, every tool accepts an optional argocdBaseUrl argument:
- If a session default base URL exists,
argocdBaseUrlis optional and overrides the default for that single call. - If no session default base URL is configured (header and env var both absent),
argocdBaseUrlis required; a call without it returns an error.
Token registry β per-base-URL tokens (multi-instance)
To target multiple ArgoCD instances, each with its own token, configure a token registry. Because the tokens are secrets, the registry is read from a JSON file, not an environment variable β point ARGOCD_TOKEN_REGISTRY_PATH at the file (e.g. a mounted Kubernetes secret). This keeps the tokens out of the process environment, crash dumps, and child-process inheritance.
ARGOCD_TOKEN_REGISTRY_PATH=/appβ¦[redacted]
The file contains a JSON array mapping a base URL to the token that should be used for it:
[
{ "baseUrl": "https://argo-a.example.com", "token": "<token-a>" },
{ "baseUrl": "https://argo-b.example.com", "token": "<token-b>" }
]
Secure the file. Restrict it to the server's user (e.g.
chmod 400) and prefer a secret-management mechanism (Kubernetes secret volume, Vault agent, etc.) over a plaintext file on disk.
Local development. The
make run/make devtargets run without a registry by default; passARGOCD_TOKEN_REGISTRY_PATH=/patβ¦[redacted]to use one. Do not place the file underdist/βtsupruns withclean: trueand wipes that directory on every build. See Running locally.
With a registry configured, a caller targets an instance by passing only the (non-secret) argocdBaseUrl argument; the server pairs it with the registered token. The token never appears in the tool-call payload.
Two kinds of token
The server resolves calls using one of two distinct tokens. Keeping them straight is what makes the security model work:
| | Default token | Registry token |
|---|---|---|
| Source | x-argocd-api-token header / ARGOCD_API_TOKEN env var (the session credential) | A token entry in the ARGOCD_TOKEN_REGISTRY_PATH JSON file, keyed by baseUrl |
| Scope | The default base URL only (x-argocd-base-url / ARGOCD_BASE_URL) | The specific base URL its entry is keyed to |
| Used for | A call that targets the default base URL | A call that targets any base URL present in the registry (including the default, as a fallback) |
| Never used for | Any base URL other than the default β it is never sent to a different host | Any base URL not registered |
The cardinal rule: the default token is bound to the default base URL; every other host's token must come from the registry. A registry token is bound to exactly the host it is registered under.
Resolution order
For a given call, the resolved base URL is the argocdBaseUrl argument if supplied, otherwise the session default. The token is then chosen by:
- Call targets the default base URL β use the default token. If no default token was supplied (a tokenless session), fall back to the registry token for that base URL, if one exists.
- Call targets any other base URL β use the registry token for that base URL only. The default token is never used here β it is not sent to a host other than the default one.
- If neither applies (no token can be resolved for the requested base URL), the call returns a "Missing required ArgoCD API token" error and no request is made to that host.
Why the default token is bound to the default base URL. The
argocdBaseUrlargument comes from the tool call, so a caller (or a prompt-injected model) could point it at an arbitrary host. If the default token were paired with any supplied base URL, that token would be sent β as anAuthorization: Bearerheader β to the attacker's host. Restricting the default token to the default base URL, and requiring an explicit registry entry for every other host, prevents this token exfiltration. To target additional instances you must register their tokens (and thus their hostnames) up front.
Base URLs are n
Truncated for display β read the full file on GitHub.
Related Skills
Agent-Reach
109.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu β one CLI, zero API fees.
headroom
78.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
97.9kπ·οΈ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit β see the Safety scan above for what the skill file itself contains.
