argocd-mcp
io.github.matthisholleville/argocd-mcp
Overview
OpenAPI-driven MCP server exposing the Argo CD API to LLM clients through search or generated endpoint tools, with static-token or ArgoCD Dex OAuth authentication.
Documentation
argocd-mcp
OpenAPI-driven MCP server for Argo CD. At startup it fetches Argo CD's Swagger spec and exposes the API through either the default search mode, with search_operations and execute_operation, or generated mode, with one typed tool per endpoint.
Install and launch
The documented local MCP launch uses Docker over stdio:
docker run --rm -i \
-e ARGOCD_BASE_URL=https://argocd.example.com \
-e ARGOCD_TOKEN=your-token \
ghcr.io/matthisholleville/argocd-mcp:latest
For HTTP and OAuth via ArgoCD Dex, set MCP_TRANSPORT=http, AUTH_MODE=oauth, DEX_CLIENT_ID, and SERVER_BASE_URL, then expose /mcp on the configured address. Helm deployment is available at oci://ghcr.io/matthisholleville/charts/argocd-mcp.
Capabilities
- Discovers 103+ Argo CD API endpoints from
/swagger.jsonat startup. - Default search mode exposes two meta-tools for endpoint discovery and execution.
- Generated mode exposes one typed MCP tool per Argo CD endpoint.
- Supports static Argo CD API token authentication and OAuth via ArgoCD Dex for per-user RBAC.
- Supports read-only mode, resource scoping, per-user rate limiting, prompt templates, audit logging, MCP annotations, and optional semantic search via Ollama embeddings.
Limitations and security notes
ARGOCD_BASE_URLis required.ARGOCD_TOKENis required whenAUTH_MODE=token.- OAuth mode requires
MCP_TRANSPORT=httpand correct ArgoCD Dex redirect URI configuration. ARGOCD_TLS_INSECURE=truedisables TLS verification and should be used only for trusted/self-signed environments.- Semantic search requires an Ollama service and embedding model.
- Write operations are available unless
DISABLE_WRITE=trueorALLOWED_RESOURCESrestricts them.
Wardn Hub source review notes
- Wardn import was called first but returned 404 with no usable imported serverJson; no imported transport fields were available to preserve.
- Package identifier and version are split: Docker/GitHub package identifier
matthisholleville/argocd-mcp, package version1.6.0. - Secret and user-specific env values are empty.
- Documented env vars from README, .env.example, config loader, Docker Compose, and Helm templates were merged without duplicates.