codeready-toolchain/argocd-mcp-server
If you are the rightful owner of argocd-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Argo CD MCP is a Model Context Protocol Server designed to facilitate interaction with Argo CD from user interfaces like Anthropic's Claude or Block's Goose.
Argo CD MCP
Argo CD MCP is a Model Context Protocol Server to converse with Argo CD from a UI such as Anthropic's Claude or Block's Goose
Features
- Prompts:
argocd-unhealthy-application-resources: list the Unhealthy (DegradedandProgressing) Applications in Argo CD
- Tools:
unhealthyApplications: list the Unhealthy (DegradedandProgressing) Applications in Argo CDunhealthyApplicationResources: list unhealthy resources of a given Argo CD Application
Example:
list the unhealthy applications on Argo CD and for each one, list their unhealthy resources
Building and Installing
Requires Go 1.24 (or higher) and Task
Testing and Linting
task test test-e2e lint
Note: the e2e tests rely on Podman and the podman-compose extension to build images and run containers for the MCP server and a mock instance of Argo CD. See Podman installation and podman-compose extension installtion to setup these tools in your local environment.
Building
Build the binary using the following command:
task install
Build the Container image with the following command:
task build-image
Using the Argo CD MCP Server
Obtaining a token to connect to Argo CD
Create a local account in Argo CD with apiKey capabilities only (not need for login). See Argo CD documentation for more information.
Once create, generate a token via the 'Settings > Accounts' page in the Argo CD UI or via the argocd account generate-token command and store the token in a token-file which will be passed as an argument when running the server (see below).
Stdio Transport with Claude Desktop App
On macOS, run the following command:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
and add the following MCP server definition:
{
"mcpServers": {
"argocd-mcp-server": {
"command": "<path/to/argocd-mcp-server>",
"args": [
"--transport",
"stdio",
"--argocd-token"
"<token>",
"--argocd-url",
"<url>",
"--insecure",
"<true|false>",
"debug",
"<true|false>"
]
}
}
}
Stdio Transport in Cursor
Edit your ~/.cursor/mcp.json file with the following contents:
{
"mcpServers": {
"argocd-mcp-server": {
"command": "<path/to/argocd-mcp-server>",
"args": [
"--transport",
"stdio",
"--argocd-token",
"<token>",
"--argocd-url",
"<url>",
"--insecure",
"<true|false>",
"--debug",
"<true|false>"
]
}
}
}
HTTP Transport with Cursor
Start the Argo CD MCP server from the binary after running task install:
argocd-mcp-server --transport=http --argocd-url=<url> --argocd-token=<token> --debug=<true|false> --listen=<[host]:port>
Or start the Argo CD MCP server as a container after running task build-image:
podman run -d --name argocd-mcp-server --transport http -e ARGOCD_MCP_SERVER_LISTEN_HOST=0.0.0.0 -e ARGOCD_MCP_URL=<url> -e ARGOCD_MCP_TOKEN=<token> -e ARGOCD_MCP_DEBUG=<true|false> -p 8080:8080 argocd-mcp-server:latest
Edit your ~/.cursor/mcp.json file with the following contents:
{
"mcpServers": {
"argocd-mcp-server": {
"url": "http://localhost:8080/mcp"
}
}
}
License
The code is available under the Apache License 2.0