Skip to main content
Glama

ArgoCD MCP 서버

ArgoCD API와 통합되는 MCP(Model Context Protocol) 서버로, AI 어시스턴트와 대규모 언어 모델이 자연어 상호작용을 통해 ArgoCD 애플리케이션과 리소스를 관리할 수 있도록 합니다.

버전파이썬유형 검사

특징

  • 인증 및 세션 관리 :

    • ArgoCD API에서 사용자 정보 검색

    • ArgoCD를 사용한 토큰 기반 인증

    • 서버 설정 및 구성 액세스

    • 플러그인 정보 검색

    • 버전 정보 검색

  • 애플리케이션 관리 :

    • 프로젝트, 이름, 네임스페이스별로 애플리케이션을 나열하고 필터링합니다.

    • 자세한 신청 정보를 받아보세요

    • 애플리케이션 생성, 업데이트 및 삭제

    • 구성 가능한 옵션으로 애플리케이션 동기화

  • 강력한 API 클라이언트 :

    • URL 정규화 및 지능형 엔드포인트 처리

    • 포괄적인 오류 처리 및 자세한 오류 메시지

    • 구성 가능한 시간 초과 및 SSL 검증

    • 토큰 보안 보호 및 마스킹

  • 개발자 경험 :

    • MyPy를 사용한 전체 정적 유형 검사

    • 자세한 문서 및 예제

    • 환경 기반 구성

Related MCP server: argocd-mcp

빠른 시작

설정

지엑스피1

서버 시작

서버는 환경 변수를 통해 구성됩니다. 사용 가능한 구성 옵션은 다음과 같습니다.

환경 변수

설명

기본값

ARGOCD_TOKEN

ArgoCD API 토큰

없음

ARGOCD_API_URL

ArgoCD API 엔드포인트

https://argocd.example.com/api/v1

ARGOCD_VERIFY_SSL

SSL 인증서 확인

진실

다음과 같은 여러 가지 방법으로 서버를 시작할 수 있습니다.

# Using MCP dev tools (provides debugging tools)
export ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
mcp dev server.py

# Using MCP run command
export ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
mcp run server.py

# Standard method
export ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
uv run server.py

# Setting multiple environment variables
export ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
export ARGOCD_API_URL=https://your-argocd-server.com:9000/api/v1
export ARGOCD_VERIFY_SSL=false  # Disable SSL verification for self-signed certs
uv run server.py

# Using a .env file
echo "ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
ARGOCD_API_URL=https://your-argocd-server.com:9000/api/v1
ARGOCD_VERIFY_SSL=false" > .env
uv run server.py

# Run in background
export ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
uv run server.py > server.log 2>&1 & echo $! > server.pid

토큰이 환경 변수를 통해 제공되는 경우 Claude는 사용자가 모든 명령에서 토큰을 지정하지 않고도 해당 토큰을 사용할 수 있습니다.

클로드와 연결

Claude Code CLI 사용

# Add the MCP server
claude mcp add argocd-mcp "uv run $(pwd)/server.py"

# With token
claude mcp add argocd-mcp -e ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN -- "uv run $(pwd)/server.py"

# Verify it was added
claude mcp list

# For debugging, you can use MCP Inspector with 'mcp dev' command

Claude Desktop 사용

claude_desktop_config.json 구성 파일을 만듭니다.

{
  "mcpServers": {
    "argocd-mcp": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/argocd-mcp",
        "run",
        "server.py"
      ],
      "env": {
        "ARGOCD_TOKEN": "your_argocd_token",
        "ARGOCD_API_URL": "https://your-argocd-server.com/api/v1",
        "ARGOCD_VERIFY_SSL": "true"
      }
    }
  }
}

경로와 구성 값을 실제 값으로 바꾸세요.

  • uv 실행 파일의 전체 경로를 사용하세요(macOS/Linux에서는 which uv 로, Windows에서는 where uv 찾으세요)

  • argocd-mcp 설치에 올바른 디렉토리 경로를 설정하세요.

  • ArgoCD API 토큰을 추가하세요

  • 필요에 따라 다른 환경 변수를 구성하세요

이 구성은 Claude Desktop이 사용자의 특정 환경 설정에 따라 MCP 서버를 자동으로 시작하는 방법을 알려줍니다.

사용 가능한 도구

세션 도구

  • get_user_info : api/v1/session/userinfo를 통해 현재 사용자 정보를 가져옵니다.

설정 도구

  • get_settings : UI, OIDC 및 기타 구성을 포함한 ArgoCD 서버 설정을 가져옵니다.

  • get_plugins : 구성된 ArgoCD 플러그인에 대한 정보를 가져옵니다.

버전 도구

  • get_version : API 서버의 버전 정보를 가져옵니다.

애플리케이션 관리 도구

  • list_applications : 필터링 옵션을 사용하여 모든 애플리케이션을 가져옵니다.

  • get_application_details : 특정 애플리케이션에 대한 자세한 정보를 가져옵니다.

  • create_application : 새로운 애플리케이션을 생성합니다

  • update_application : 기존 애플리케이션 업데이트

  • delete_application : 애플리케이션 삭제

  • sync_application : 애플리케이션에서 동기화 작업을 트리거합니다.

대화 예시

사용자 정보 확인

User: What's my user information in ArgoCD?

Claude: Let me retrieve your user information.

⏺ argocd-mcp:get_user_info (MCP)
  ⎿  {"loggedIn": true, "username": "devops-user", "iss": "argocd"}

You are logged in as 'devops-user'.

ArgoCD 버전 받기

User: What version of ArgoCD is running on the server?

Claude: Let me check the ArgoCD version information.

⏺ argocd-mcp:get_version (MCP)
  ⎿  {
        "Version": "v2.9.3+5eaf684",
        "BuildDate": "2023-09-15T14:25:11Z",
        "GitCommit": "5eaf68452",
        "GitTreeState": "clean",
        "GoVersion": "go1.20.7",
        "Compiler": "gc",
        "Platform": "linux/amd64",
        "KustomizeVersion": "v5.1.1",
        "HelmVersion": "v3.12.3",
        "KubectlVersion": "v1.27.4",
        "JsonnetVersion": "v0.20.0"
      }

You're running ArgoCD v2.9.3, built on September 15, 2023. It's running on Linux (amd64) with Go 1.20.7, and includes Kustomize v5.1.1 and Helm v3.12.3.

ArgoCD 설정 가져오기

User: Show me the ArgoCD server settings

Claude: Let me retrieve the ArgoCD server settings for you.

⏺ argocd-mcp:get_settings (MCP)
  ⎿  {
        "clusterSettings": {
          "appLabelKey": "argocd.argoproj.io/instance",
          "controllerNamespace": "argocd",
          "execEnabled": true,
          "statusBadgeEnabled": true,
          "uiBannerContent": "This is a development instance of ArgoCD",
          "url": "https://argocd.example.com"
        }
      }

Here are the key settings for your ArgoCD server:
- URL: https://argocd.example.com
- Controller namespace: argocd
- Exec enabled: Yes
- Status badge enabled: Yes
- UI Banner: "This is a development instance of ArgoCD"

애플리케이션 관리

User: What applications do I have in the "production" project?

Claude: Let me list your applications in the production project.

⏺ argocd-mcp:list_applications (MCP)
  ⎿  {
        "items": [
          {
            "metadata": {
              "name": "frontend-app",
            },
            "status": {
              "sync": {"status": "Synced"},
              "health": {"status": "Healthy"},
            }
          },
          {
            "metadata": {
              "name": "api-service",
            },
            "status": {
              "sync": {"status": "OutOfSync"},
              "health": {"status": "Healthy"},
            }
          },
          {
            "metadata": {
              "name": "database",
            },
            "status": {
              "sync": {"status": "Synced"},
              "health": {"status": "Degraded"},
            }
          }
        ]
      }

You have 3 applications in the production project:
- frontend-app (Synced, Healthy)
- api-service (OutOfSync, Healthy)
- database (Synced, Degraded)
User: Sync the api-service application

Claude: I'll sync the api-service application for you.

⏺ argocd-mcp:sync_application (MCP)
  ⎿  {
        "resourcesResult": {
          "updated": ["Deployment/api-service"],
          "hooks": []
        },
        "status": "Syncing"
      }

Application sync initiated successfully. The sync operation is now in progress.

개발

요구 사항

  • 파이썬 3.12+

  • MCP(FastMCP 및 개발 도구 포함)

  • uv 패키지 관리자(권장) 또는 pip

  • ArgoCD API 토큰

유형 검사

이 프로젝트에서는 정적 유형 검사를 위해 mypy를 사용하여 코드 품질을 향상하고 유형 관련 버그를 조기에 포착합니다.

# Install mypy
uv pip install mypy

# Run type checking
uv run -m mypy .

타입 검사 설정은 pyproject.tomlmypy.ini 모두에서 사용할 수 있습니다. 이 설정은 다음을 포함한 엄격한 타입 규칙을 적용합니다.

  • 유형이 지정되지 않은 정의 허용 안 함

  • 모든 유형을 반환할 때 경고

  • 함수 정의의 완전성 확인

  • 네임스페이스 패키지 지원

  • 모듈별 구성

프로젝트 구조

코드는 모듈형 구조로 구성됩니다.

argocd-mcp/
├── api/              # API client and communication
│   ├── __init__.py
│   └── client.py     # HTTP client for ArgoCD API
├── models/           # Data models
│   ├── __init__.py
│   └── applications.py # Application data structures
├── tools/            # MCP tools implementation
│   ├── __init__.py
│   ├── session.py    # Session tools (user info)
│   ├── applications.py # Application management tools
│   ├── settings.py   # Server settings tools
│   └── version.py    # Version information tools
├── utils/            # Utility functions
│   ├── __init__.py
├── server.py         # Main server entry point
├── pyproject.toml    # Project configuration and dependencies
└── mypy.ini          # Mypy type checking configuration

서버 확장

새로운 기능을 추가하려면:

  1. tools 디렉토리의 해당 모듈에 새 도구를 추가합니다.

  2. server.py 에 새로운 도구를 등록합니다.

  3. 매개변수 검증 및 오류 처리를 위해 기존 패턴을 따르세요.

  4. README.md에 설명서 업데이트

  5. 새로운 기능에 대한 테스트 추가

문제 해결

문제가 발생하는 경우:

  1. 서버 로그 확인(정보 로깅은 기본적으로 활성화되어 있음)

  2. Processing request of type CallToolRequest 오류가 아닌 정보 제공용임을 유의하세요.

  3. mcp dev server.py 사용하는 경우 MCP Inspector가 디버깅을 위해 http://localhost:5173 에서 자동으로 열립니다.

  4. API 호출 및 응답을 디버깅하려면 서버 로그를 사용하세요.

  5. 자체 서명 인증서로 인한 SSL 인증서 문제의 경우:

# Disable SSL verification
export ARGOCD_VERIFY_SSL=false
uv run server.py
  1. 모든 필수 환경 변수가 올바르게 설정되었는지 확인하세요.

# Show all current ArgoCD environment variables
env | grep ARGOCD

기여하다

기여를 환영합니다! 이 프로젝트에 참여하고 싶으시다면 이슈를 개설하거나 풀 리퀘스트를 보내주세요.

기여할 때 다음 지침을 따르세요.

  • 모든 코드에 적절한 유형 힌트가 포함되어 있는지 확인하세요.

  • PR을 제출하기 전에 mypy 유형 검사를 실행하세요.

  • 새로운 기능에 대한 테스트 추가

  • 새로운 기능이나 변경 사항에 대한 문서를 업데이트합니다.

Available Tools

10 tools
create_applicationA
Create a new application in ArgoCD

Args:
    name: The name of the application (required)
    project: The project name (required)
    repo_url: The Git repository URL (required)
    path: Path within the repository (required)
    dest_server: Destination K8s API server URL (required)
    dest_namespace: Destination namespace (required)
    revision: Git revision (default: HEAD)
    automated_sync: Enable automated sync (default: False)
    prune: Auto-prune resources (default: False)
    self_heal: Enable self-healing (default: False)
    namespace: Application namespace
    validate: Whether to validate the application before creation
    upsert: Whether to update the application if it already exists

Returns:
    The created application details
ParametersJSON Schema
NameRequiredDescriptionDefault
automated_syncNo
dest_namespaceYes
dest_serverYes
nameYes
namespaceNo
pathYes
projectYes
pruneNo
repo_urlYes
revisionNoHEAD
self_healNo
upsertNo
validateNo

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While it states this is a creation operation, it doesn't describe what happens on failure, whether the operation is idempotent, what permissions are required, or what side effects might occur. The mention of 'upsert' hints at update behavior but doesn't explain the implications. For a mutation tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Args, Returns) and uses bullet-like formatting for parameters. Every sentence earns its place, though the opening statement could be slightly more front-loaded with context about ArgoCD. Overall, it's appropriately sized for a tool with many parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (13 parameters, mutation operation, no annotations, no output schema), the description does well on parameter documentation but lacks crucial behavioral context. It doesn't explain what 'application details' are returned, error conditions, or operational implications. For a creation tool in a deployment system, this leaves significant gaps in understanding how to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 13 parameters, the description provides excellent compensation by documenting every parameter with clear semantics, required status, and default values. It adds substantial meaning beyond what the bare schema provides, transforming a completely undocumented parameter set into a well-explained one.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a new application') and resource ('in ArgoCD'), distinguishing it from siblings like delete_application, update_application, and list_applications. It provides a complete verb+resource+context statement that leaves no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like update_application (which has an 'upsert' parameter that could overlap) or when creation might fail. There's no mention of prerequisites, dependencies, or typical use cases that would help an agent choose between this and sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_applicationB
Delete an application from ArgoCD

Args:
    name: The name of the application to delete (required)
    cascade: Whether to delete application resources as well (default: True)
    propagation_policy: The propagation policy ("foreground", "background", or "orphan")
    namespace: The application namespace (optional)

Returns:
    Success message or error details
ParametersJSON Schema
NameRequiredDescriptionDefault
cascadeNo
nameYes
namespaceNo
propagation_policyNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only minimally discloses behavior. It mentions 'cascade' and 'propagation_policy' parameters which hint at deletion behavior, but doesn't explain what 'delete application resources' entails, potential side effects, permissions needed, or error handling. For a destructive tool, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded with the core purpose. The Args/Returns structure is clear, though the 'Returns' section is vague ('Success message or error details'). No redundant sentences, but could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks critical context: no warnings about irreversible deletion, no explanation of what 'application resources' are, no error scenarios, and the return value description is too vague. Should provide more behavioral detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant value beyond the schema, which has 0% coverage. It explains each parameter's purpose: 'name' as required application identifier, 'cascade' as controlling resource deletion with default, 'propagation_policy' with enum values, and 'namespace' as optional. This compensates well for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Delete' and resource 'application from ArgoCD', making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'create_application' or 'update_application' beyond the obvious difference in action verbs, missing explicit sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'sync_application' or 'update_application', nor any prerequisites or warnings about destructive effects. The description merely lists parameters without contextual usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_application_detailsB
Get details for a specific application

Args:
    name: The application name (required)
    project: The project name (optional filter)
    refresh: Forces application reconciliation if set to 'hard' or 'normal'
    namespace: Filter by application namespace

Returns:
    Application details
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
namespaceNo
projectNo
refreshNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions that 'refresh' forces application reconciliation, which is useful behavioral context. However, it doesn't disclose other important traits like whether this is a read-only operation (implied by 'get' but not explicit), authentication requirements, rate limits, error conditions, or what happens if the application doesn't exist. The description adds some value but leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized. It starts with a clear purpose statement, then lists parameters with brief explanations, and ends with return information. Every sentence earns its place, with no redundant or verbose content. The bullet-like format for Args and Returns enhances readability without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters with 0% schema coverage and no output schema, the description does a decent job explaining parameters but has gaps. It doesn't fully describe the return value ('Application details' is vague), error handling, or behavioral constraints. For a tool with moderate complexity and no annotations/output schema, this is minimally adequate but could be more complete to help the agent understand execution outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides meaningful explanations for all 4 parameters: 'name' is required for the application, 'project' is an optional filter, 'refresh' controls reconciliation behavior, and 'namespace' filters by namespace. This adds substantial value beyond the bare schema, though it doesn't specify format constraints (e.g., string patterns) or the exact effect of 'refresh' values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get details') and resource ('for a specific application'), making the purpose immediately understandable. It distinguishes from siblings like 'list_applications' (which lists multiple) and 'create_application' (which creates new). However, it doesn't explicitly differentiate from 'get_plugins' or 'get_settings' which might also retrieve details about related resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't explain when to use 'get_application_details' versus 'list_applications' (e.g., for single vs. multiple applications) or 'sync_application' (e.g., for refreshing state). There's also no mention of prerequisites or dependencies with other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pluginsB
Get returns Argo CD plugins using api/v1/settings/plugins

This endpoint returns information about available plugins in ArgoCD.

Returns:
    List of available plugins
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool returns a list of plugins but doesn't disclose behavioral traits such as authentication requirements, rate limits, error handling, or whether it's read-only (implied by 'Get' but not explicit). It lacks details on response format, pagination, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with three sentences: it states the action, clarifies the endpoint, and notes the return value. It's front-loaded with the core purpose. However, the first sentence is slightly redundant ('Get returns'), and the 'Returns:' section could be integrated more smoothly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers what the tool does and the return type but lacks context on usage, behavior, or integration with siblings. For a read-only tool with no params, it's passable but could benefit from more guidance or transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add param info, but with no params, this is acceptable. It implies no filtering or input is required, which aligns with the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get returns Argo CD plugins using api/v1/settings/plugins' and 'This endpoint returns information about available plugins in ArgoCD.' It specifies the verb ('Get'), resource ('Argo CD plugins'), and endpoint, though it doesn't explicitly differentiate from siblings like 'get_settings' or 'get_user_info' beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description mentions the endpoint but doesn't explain its context relative to sibling tools (e.g., 'get_settings' might include plugin info, or 'list_applications' could relate). There's no mention of prerequisites, timing, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_settingsB
Get returns Argo CD settings using api/v1/settings

This endpoint returns the ArgoCD server settings including
configuration related to OIDC, Dex, UI customization, and plugins.

Returns:
    ArgoCD server settings
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation ('Get') and describes what the endpoint returns, which is helpful. However, it doesn't mention authentication requirements, rate limits, error conditions, or whether the data is cached/live. For a read-only tool with zero annotation coverage, this provides basic but incomplete behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with three sentences that each add value: stating the action, detailing what's returned, and summarizing the return value. It's front-loaded with the core purpose. Minor deduction for slightly redundant phrasing ('Returns:' section could be integrated more smoothly).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a read operation with no parameters and no output schema, the description provides adequate coverage of what the tool does and what it returns. However, without annotations or output schema, it should ideally mention more about the response format, authentication needs, or error handling. The description is complete enough for basic use but lacks depth for a production tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the baseline for a parameterless tool is 4. The description appropriately doesn't waste space discussing nonexistent parameters. It focuses on what the tool does rather than parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get returns Argo CD settings using api/v1/settings' - this specifies the verb ('Get'), resource ('Argo CD settings'), and endpoint. It distinguishes from siblings by focusing on server settings rather than applications, plugins, or user info. However, it doesn't explicitly contrast with all siblings, keeping it at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate versus other settings-related tools (if any exist) or when to use it versus other configuration-fetching tools. There's no context about prerequisites, timing, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_infoB
Get the current user's info via session/userinfo

This endpoint returns information about the currently logged-in user,
including permissions and groups.

Returns:
    User information from ArgoCD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the endpoint returns 'information about the currently logged-in user, including permissions and groups' and specifies 'User information from ArgoCD', which gives some context about the source and data scope. However, it lacks critical details: authentication requirements, rate limits, error conditions, or whether this is a read-only operation (though 'Get' implies it). For a tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with three sentences that each add value: stating the action, detailing what's returned, and specifying the data source. It's front-loaded with the core purpose. Minor room for improvement in flow, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is reasonably complete for a basic read operation. It explains what data is returned and the source. However, without annotations or output schema, it should ideally cover more behavioral aspects like authentication needs or response format, leaving some gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage (empty schema). The description appropriately doesn't discuss parameters since none exist. This meets the baseline for tools with no parameters, as there's nothing to document beyond what the schema already indicates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get the current user's info via session/userinfo' - a specific verb ('Get') and resource ('current user's info'). It distinguishes from siblings like get_application_details or get_settings by focusing on user information rather than application or system data. However, it doesn't explicitly contrast with all sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While it's clear this retrieves user information, there's no mention of when this is needed versus other user-related operations (though none exist in the sibling list), nor any prerequisites or context for usage. The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_versionB
Version returns version information of the API server using api/version

This endpoint returns version details of the ArgoCD API server including
Git commit, version, build date, compiler information, and more.

Returns:
    Version information of the ArgoCD API server
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It clearly indicates this is a read-only operation that returns version details, which is adequate for a simple metadata endpoint. However, it doesn't mention potential behavioral aspects like authentication requirements, rate limits, error conditions, or whether this endpoint is always available. The description adds some value but lacks comprehensive behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise with three sentences that each add value: states the purpose, details what's returned, and summarizes the return. There's minimal redundancy, though the third sentence ('Returns: Version information...') slightly repeats the first. The structure is logical and front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a simple, parameterless read operation with no annotations and no output schema, the description is minimally adequate. It explains what the tool does and what information it returns, which covers the basics. However, for a tool without structured output documentation, it could better describe the return format (e.g., JSON structure) or provide example output. The description meets minimum requirements but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema description coverage is 100% (empty schema). The description appropriately doesn't discuss parameters since none exist. It focuses instead on what the tool returns, which is correct for a parameterless endpoint. The baseline for zero parameters with full schema coverage would be 4, and the description meets this expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'returns version information of the API server' with specific details about what's included (Git commit, version, build date, compiler information). It distinguishes from siblings by focusing on server metadata rather than application operations, though it doesn't explicitly name alternatives. The verb 'returns' is appropriate for this read-only operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While it's obvious this is for checking server version information, there's no mention of when this would be needed (e.g., troubleshooting, compatibility checks) or how it differs from other metadata tools like get_settings or get_plugins. The agent must infer usage context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_applicationsB
List applications in ArgoCD with filtering options

Args:
    project: Filter applications by project name
    name: Filter applications by name
    repo: Filter applications by repository URL
    namespace: Filter applications by namespace
    refresh: Forces application reconciliation if set to 'hard' or 'normal'

Returns:
    List of applications with pagination information
ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
namespaceNo
projectNo
refreshNo
repoNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions pagination in returns, which is useful, but lacks critical details: whether this is a read-only operation, what permissions are required, how filtering logic works (AND/OR), error handling, or rate limits. The refresh parameter's effect is noted but not fully explained (e.g., consequences of forcing reconciliation).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with a clear purpose statement followed by organized 'Args' and 'Returns' sections. Every sentence adds value: the first sets context, and the bullet points concisely explain parameters and output without redundancy. It's appropriately sized and front-loaded for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, 0% schema coverage, no annotations, and no output schema, the description does a decent job covering basics (purpose, parameters, pagination). However, it lacks details on behavioral aspects like error handling, authentication needs, and filtering logic, making it incomplete for safe and effective use by an AI agent without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameters. It successfully documents all 5 parameters with brief semantics (e.g., 'Filter applications by project name'), adding clear value beyond the schema. However, it doesn't specify format constraints (e.g., regex for names) or default behaviors when parameters are omitted, leaving some gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('applications in ArgoCD'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this listing tool from its sibling 'get_application_details', which provides detailed information about a single application, leaving room for potential confusion about when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_application_details' for single applications or other filtering methods. It mentions filtering options but doesn't explain when specific filters are appropriate or what happens without them, offering minimal usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sync_applicationB
Sync an application in ArgoCD

Args:
    name: The name of the application to sync (required)
    revision: Git revision to sync to (optional)
    prune: Whether to prune resources (default: False)
    dry_run: Whether to perform a dry run (default: False)
    strategy: Sync strategy ("apply" or "hook")
    resources: List of resources to sync (optional)
    namespace: The application namespace (optional)

Returns:
    Sync result details
ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
nameYes
namespaceNo
pruneNo
resourcesNo
revisionNo
strategyNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'sync' implies a mutation operation, the description doesn't explain what 'sync' actually does in ArgoCD (e.g., deploying manifests, reconciling state), what permissions are required, whether it's idempotent, or potential side effects like resource pruning. The parameter descriptions add some behavioral context but not enough for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections for Args and Returns. Each parameter gets exactly one line of explanation. While efficient, the opening sentence could be more informative about what 'sync' means in ArgoCD context. No wasted words, but room for more front-loaded context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 7 parameters, no annotations, and no output schema, the description is minimally adequate. It covers parameters well but lacks crucial behavioral context about what 'sync' actually does, error conditions, permissions needed, or what the 'Sync result details' return contains. The sibling context suggests this is part of a GitOps workflow, but the description doesn't leverage this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by documenting all 7 parameters with clear semantics: required/optional status, defaults, and brief explanations of what each parameter controls. The description adds significant value beyond the bare schema, though it could provide more context about parameter interactions (e.g., how 'resources' interacts with 'prune').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('sync') and resource ('an application in ArgoCD'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'update_application' or 'create_application', which might have overlapping functionality in a GitOps context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'update_application' or 'create_application'. There's no mention of prerequisites, typical use cases, or scenarios where sync might be preferred over other operations in the ArgoCD context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_applicationB
Update an existing application in ArgoCD

Args:
    name: The application name to update (required)
    project: New project name (optional)
    repo_url: New Git repository URL (optional)
    path: New path within the repository (optional)
    dest_server: New destination K8s API server URL (optional)
    dest_namespace: New destination namespace (optional)
    revision: New Git revision (optional)
    automated_sync: Enable/disable automated sync (optional)
    prune: Enable/disable auto-pruning resources (optional)
    self_heal: Enable/disable self-healing (optional)
    validate: Whether to validate the application

Returns:
    The updated application details
ParametersJSON Schema
NameRequiredDescriptionDefault
automated_syncNo
dest_namespaceNo
dest_serverNo
nameYes
pathNo
projectNo
pruneNo
repo_urlNo
revisionNo
self_healNo
validateNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While it mentions the tool updates an existing application and returns details, it doesn't describe important behaviors like whether changes are immediate or require sync, what happens if validation fails, or if there are rate limits or side effects. This leaves significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Args, Returns) and uses bullet points effectively. It's appropriately sized for an 11-parameter tool, though the opening sentence could be more front-loaded with key usage information rather than just stating the basic purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (11 parameters, mutation operation, no annotations, no output schema), the description does a decent job but has significant gaps. It thoroughly documents parameters but lacks behavioral context, error handling information, and doesn't explain what 'updated application details' actually contains. For a mutation tool with this complexity, more completeness would be expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides excellent parameter semantics, listing all 11 parameters with clear explanations of what each represents (e.g., 'New Git repository URL', 'Enable/disable automated sync'). This adds substantial value beyond the input schema, which has 0% description coverage and only provides titles like 'Dest Server' without context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Update') and resource ('an existing application in ArgoCD'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from its sibling 'create_application' or 'sync_application' in terms of when to use each, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'create_application' or 'sync_application'. It also lacks information about prerequisites (e.g., whether the application must exist) or constraints (e.g., permissions needed).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity. Application management tools (create, delete, get, list, sync, update) target specific actions on applications, while other tools (get_plugins, get_settings, get_user_info, get_version) retrieve distinct types of metadata. The descriptions reinforce these boundaries, making tool selection straightforward.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern throughout. Application tools use create_application, delete_application, get_application_details, list_applications, sync_application, update_application, while metadata tools use get_plugins, get_settings, get_user_info, get_version. This uniformity enhances readability and predictability.

Tool Count5/5

With 10 tools, the count is well-scoped for an ArgoCD server. It provides comprehensive application lifecycle coverage (CRUD + sync) and essential metadata retrieval without being overwhelming. Each tool earns its place, supporting common workflows like deployment management and system inspection.

Completeness5/5

The tool surface offers complete coverage for ArgoCD's core domain. It includes full CRUD operations for applications (create, get, list, update, delete), sync functionality for deployments, and metadata tools for plugins, settings, user info, and version. There are no obvious gaps, enabling agents to handle typical ArgoCD tasks effectively.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables interaction with Kubernetes/Minikube clusters through natural language, allowing AI agents like Codename Goose to manage Kubernetes resources via the Model Context Protocol.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with ArgoCD APIs through standardized MCP tools for managing applications, resources, and deployments.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with Argo CD applications, managing clusters, applications, and resources through natural language.
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/severity1/argocd-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server