MCP Reference
List, inspect, create, update, sync and delete Argo CD applications, and read their resources, events and logs, from an MCP client. The server runs locally over stdio and calls the API of the Argo CD server you configure, with an API token: API Docs shows how to get one. Its source is argoproj-labs/mcp-for-argocd.
Connect your client
Add to your MCP client configuration:
{
"mcpServers": {
"argocd-mcp": {
"command": "npx",
"args": [
"--yes",
"argocd-mcp@0.9.0",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "https://argocd.example.com",
"ARGOCD_API_TOKEN": "your-api-token"
}
}
}
}Tools
list_ applications
list_applications returns list of applications
Parameters
searchstringSearch applications by name. This is a partial match on the application name and does not support glob patterns (e.g. "*"). Optional.
limitintegerMaximum number of applications to return. Use this to reduce token usage when there are many applications. Optional.
offsetinteger>= 0Number of applications to skip before returning results. Use with limit for pagination. Optional.
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
list_ clusters
list_clusters returns list of clusters registered with ArgoCD
Parameters
serverstringFilter clusters by server URL. Optional.
namestringFilter clusters by name. Optional.
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ application
get_application returns application by application name. Optionally specify the application namespace to get applications from non-default namespaces.
Parameters
applicationNamestringrequiredapplicationNamespacestringThe namespace where the ArgoCD application resource will be created. This is the namespace of the Application resource itself, not the destination namespace for the application's resources. You can specify any valid Kubernetes namespace (e.g., 'argocd', 'argocd-apps', 'my-namespace', etc.). The default ArgoCD namespace is typically 'argocd', but you can use any namespace you prefer.
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ appproject
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.
Parameters
projectNamestringrequiredThe name of the ArgoCD AppProject to fetch.
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ application_ resource_ tree
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.
Parameters
applicationNamestringrequiredapplicationNamespacestringThe namespace where the application is located. Required if application is not in the default namespace.
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ application_ managed_ resources
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.
Parameters
applicationNamestringrequiredkindstringFilter by Kubernetes resource kind (e.g., "ConfigMap", "Secret", "Deployment")
namespacestringFilter by Kubernetes namespace
namestringFilter by resource name
versionstringFilter by resource API version
groupstringFilter by API group
appNamespacestringFilter by Argo CD application namespace
projectstringFilter by Argo CD project
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ application_ workload_ logs
get_application_workload_logs returns logs for application workload (Deployment, StatefulSet, Pod, etc.) by application name and resource ref and optionally container name
Body
applicationNamestringrequiredapplicationNamespacestringrequiredThe namespace where the ArgoCD application resource will be created. This is the namespace of the Application resource itself, not the destination namespace for the application's resources. You can specify any valid Kubernetes namespace (e.g., 'argocd', 'argocd-apps', 'my-namespace', etc.). The default ArgoCD namespace is typically 'argocd', but you can use any namespace you prefer.
resourceRefobjectrequiredcontainerstringrequiredargocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ application_ events
get_application_events returns events for application by application name. Optionally specify the application namespace to get events from applications in non-default namespaces.
Parameters
applicationNamestringrequiredapplicationNamespacestringThe namespace where the application is located. Required if application is not in the default namespace.
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ resource_ events
get_resource_events returns events for a resource that is managed by an application
Parameters
applicationNamestringrequiredapplicationNamespacestringrequiredThe namespace where the ArgoCD application resource will be created. This is the namespace of the Application resource itself, not the destination namespace for the application's resources. You can specify any valid Kubernetes namespace (e.g., 'argocd', 'argocd-apps', 'my-namespace', etc.). The default ArgoCD namespace is typically 'argocd', but you can use any namespace you prefer.
resourceUIDstringrequiredresourceNamespacestringrequiredresourceNamestringrequiredargocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ resources
get_resources return manifests for resources specified by resourceRefs. If resourceRefs is empty or not provided, fetches all resources managed by the application.
Body
applicationNamestringrequiredapplicationNamespacestringrequiredThe namespace where the ArgoCD application resource will be created. This is the namespace of the Application resource itself, not the destination namespace for the application's resources. You can specify any valid Kubernetes namespace (e.g., 'argocd', 'argocd-apps', 'my-namespace', etc.). The default ArgoCD namespace is typically 'argocd', but you can use any namespace you prefer.
resourceRefsArray<object>argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
get_ resource_ actions
get_resource_actions returns actions for a resource that is managed by an application
Body
applicationNamestringrequiredapplicationNamespacestringrequiredThe namespace where the ArgoCD application resource will be created. This is the namespace of the Application resource itself, not the destination namespace for the application's resources. You can specify any valid Kubernetes namespace (e.g., 'argocd', 'argocd-apps', 'my-namespace', etc.). The default ArgoCD namespace is typically 'argocd', but you can use any namespace you prefer.
resourceRefobjectrequiredargocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
create_ 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).
Body
applicationobjectrequiredargocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
update_ application
update_application updates application
Body
applicationNamestringrequiredapplicationobjectrequiredargocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
delete_ application
delete_application deletes application. Specify applicationNamespace if the application is in a non-default namespace to avoid permission errors.
Parameters
applicationNamestringrequiredapplicationNamespacestringThe namespace where the application is located. Required if application is not in the default namespace.
cascadebooleanWhether to cascade the deletion to child resources
propagationPolicystringDeletion propagation policy (e.g., "Foreground", "Background", "Orphan")
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
sync_ application
sync_application syncs application. Specify applicationNamespace if the application is in a non-default namespace to avoid permission errors.
Parameters
applicationNamestringrequiredapplicationNamespacestringThe namespace where the application is located. Required if application is not in the default namespace.
dryRunbooleanPerform a dry run sync without applying changes
prunebooleanRemove resources that are no longer defined in the source
revisionstringSync to a specific revision instead of the latest
syncOptionsArray<string>Additional sync options (e.g., ["CreateNamespace=true", "PrunePropagationPolicy=foreground"])
argocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
run_ resource_ action
run_resource_action runs an action on a resource
Body
applicationNamestringrequiredapplicationNamespacestringrequiredThe namespace where the ArgoCD application resource will be created. This is the namespace of the Application resource itself, not the destination namespace for the application's resources. You can specify any valid Kubernetes namespace (e.g., 'argocd', 'argocd-apps', 'my-namespace', etc.). The default ArgoCD namespace is typically 'argocd', but you can use any namespace you prefer.
resourceRefobjectrequiredactionstringrequiredargocdBaseUrlstringArgoCD base URL to use for this call (e.g. "https://argocd.example.com"). Overrides the server default. Optional if the server is configured with a default base URL (x-argocd-base-url header or ARGOCD_BASE_URL env var); otherwise required.
