# argocd-mcp

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](https://sourcey-argocd.pages.dev/developer-guide/api-docs/index.md#authorization) shows how to get one. Its source is [argoproj-labs/mcp-for-argocd](https://github.com/argoproj-labs/mcp-for-argocd).

Version: 0.9.0

## list_applications

`TOOL list_applications`

list_applications returns list of applications

Authentication: no security requirement declared for this operation.

Parameters:

- `search` (argument, string, optional) - Search applications by name. This is a partial match on the application name and does not support glob patterns (e.g. "*"). Optional.
  Type: string
  
  Search applications by name. This is a partial match on the application name and does not support glob patterns (e.g. "*"). Optional.

- `limit` (argument, integer, optional) - Maximum number of applications to return. Use this to reduce token usage when there are many applications. Optional.
  Type: integer
  
  Maximum number of applications to return. Use this to reduce token usage when there are many applications. Optional.
  
  exclusiveMinimum: 0

- `offset` (argument, integer, optional) - Number of applications to skip before returning results. Use with limit for pagination. Optional.
  Type: integer
  
  Number of applications to skip before returning results. Use with limit for pagination. Optional.
  
  minimum: 0

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_applications",
    "arguments": {
        "search": "string",
        "limit": 0,
        "offset": 0,
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "list_applications",
  "arguments": {
    "search": "string",
    "limit": 0,
    "offset": 0,
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("list_applications", arguments={
  "search": "string",
  "limit": 0,
  "offset": 0,
  "argocdBaseUrl": "string"
})
```


## list_clusters

`TOOL list_clusters`

list_clusters returns list of clusters registered with ArgoCD

Authentication: no security requirement declared for this operation.

Parameters:

- `server` (argument, string, optional) - Filter clusters by server URL. Optional.
  Type: string
  
  Filter clusters by server URL. Optional.

- `name` (argument, string, optional) - Filter clusters by name. Optional.
  Type: string
  
  Filter clusters by name. Optional.

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_clusters",
    "arguments": {
        "server": "string",
        "name": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "list_clusters",
  "arguments": {
    "server": "string",
    "name": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("list_clusters", arguments={
  "server": "string",
  "name": "string",
  "argocdBaseUrl": "string"
})
```


## get_application

`TOOL get_application`

get_application returns application by application name. Optionally specify the application namespace to get applications from non-default namespaces.

Authentication: no security requirement declared for this operation.

Parameters:

- `applicationName` (argument, string, required)
  Type: string

- `applicationNamespace` (argument, string, optional) - The 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.
  Type: string
  
  The 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.
  
  minLength: 1

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_application",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_application",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_application", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "argocdBaseUrl": "string"
})
```


## get_appproject

`TOOL 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.

Authentication: no security requirement declared for this operation.

Parameters:

- `projectName` (argument, string, required) - The name of the ArgoCD AppProject to fetch.
  Type: string
  
  The name of the ArgoCD AppProject to fetch.

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_appproject",
    "arguments": {
        "projectName": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_appproject",
  "arguments": {
    "projectName": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_appproject", arguments={
  "projectName": "string",
  "argocdBaseUrl": "string"
})
```


## get_application_resource_tree

`TOOL 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.

Authentication: no security requirement declared for this operation.

Parameters:

- `applicationName` (argument, string, required)
  Type: string

- `applicationNamespace` (argument, string, optional) - The namespace where the application is located. Required if application is not in the default namespace.
  Type: string
  
  The namespace where the application is located. Required if application is not in the default namespace.
  
  minLength: 1

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_application_resource_tree",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_application_resource_tree",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_application_resource_tree", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "argocdBaseUrl": "string"
})
```


## get_application_managed_resources

`TOOL 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.

Authentication: no security requirement declared for this operation.

Parameters:

- `applicationName` (argument, string, required)
  Type: string

- `kind` (argument, string, optional) - Filter by Kubernetes resource kind (e.g., "ConfigMap", "Secret", "Deployment")
  Type: string
  
  Filter by Kubernetes resource kind (e.g., "ConfigMap", "Secret", "Deployment")

- `namespace` (argument, string, optional) - Filter by Kubernetes namespace
  Type: string
  
  Filter by Kubernetes namespace

- `name` (argument, string, optional) - Filter by resource name
  Type: string
  
  Filter by resource name

- `version` (argument, string, optional) - Filter by resource API version
  Type: string
  
  Filter by resource API version

- `group` (argument, string, optional) - Filter by API group
  Type: string
  
  Filter by API group

- `appNamespace` (argument, string, optional) - Filter by Argo CD application namespace
  Type: string
  
  Filter by Argo CD application namespace

- `project` (argument, string, optional) - Filter by Argo CD project
  Type: string
  
  Filter by Argo CD project

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_application_managed_resources",
    "arguments": {
        "applicationName": "string",
        "kind": "string",
        "namespace": "string",
        "name": "string",
        "version": "string",
        "group": "string",
        "appNamespace": "string",
        "project": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_application_managed_resources",
  "arguments": {
    "applicationName": "string",
    "kind": "string",
    "namespace": "string",
    "name": "string",
    "version": "string",
    "group": "string",
    "appNamespace": "string",
    "project": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_application_managed_resources", arguments={
  "applicationName": "string",
  "kind": "string",
  "namespace": "string",
  "name": "string",
  "version": "string",
  "group": "string",
  "appNamespace": "string",
  "project": "string",
  "argocdBaseUrl": "string"
})
```


## get_application_workload_logs

`TOOL 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

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `applicationName` (required)
  Type: string

- `applicationNamespace` (required)
  Type: string
  
  The 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.
  
  minLength: 1

- `resourceRef` (required)
  Type: object
  
  - `uid` (required)
    Type: string
  
  - `kind` (required)
    Type: string
  
  - `namespace` (required)
    Type: string
  
  - `name` (required)
    Type: string
  
  - `version` (required)
    Type: string
  
  - `group` (required)
    Type: string
  
  Additional properties: false

- `container` (required)
  Type: string

- `argocdBaseUrl` (optional)
  Type: string
  
  ArgoCD 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.

Additional properties: false

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_application_workload_logs",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "resourceRef": {
          "uid": "string",
          "kind": "string",
          "namespace": "string",
          "name": "string",
          "version": "string",
          "group": "string"
        },
        "container": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_application_workload_logs",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "resourceRef": {
      "uid": "string",
      "kind": "string",
      "namespace": "string",
      "name": "string",
      "version": "string",
      "group": "string"
    },
    "container": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_application_workload_logs", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "resourceRef": {
    "uid": "string",
    "kind": "string",
    "namespace": "string",
    "name": "string",
    "version": "string",
    "group": "string"
  },
  "container": "string",
  "argocdBaseUrl": "string"
})
```


## get_application_events

`TOOL 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.

Authentication: no security requirement declared for this operation.

Parameters:

- `applicationName` (argument, string, required)
  Type: string

- `applicationNamespace` (argument, string, optional) - The namespace where the application is located. Required if application is not in the default namespace.
  Type: string
  
  The namespace where the application is located. Required if application is not in the default namespace.
  
  minLength: 1

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_application_events",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_application_events",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_application_events", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "argocdBaseUrl": "string"
})
```


## get_resource_events

`TOOL get_resource_events`

get_resource_events returns events for a resource that is managed by an application

Authentication: no security requirement declared for this operation.

Parameters:

- `applicationName` (argument, string, required)
  Type: string

- `applicationNamespace` (argument, string, required) - The 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.
  Type: string
  
  The 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.
  
  minLength: 1

- `resourceUID` (argument, string, required)
  Type: string

- `resourceNamespace` (argument, string, required)
  Type: string

- `resourceName` (argument, string, required)
  Type: string

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_resource_events",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "resourceUID": "string",
        "resourceNamespace": "string",
        "resourceName": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_resource_events",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "resourceUID": "string",
    "resourceNamespace": "string",
    "resourceName": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_resource_events", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "resourceUID": "string",
  "resourceNamespace": "string",
  "resourceName": "string",
  "argocdBaseUrl": "string"
})
```


## get_resources

`TOOL 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.

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `applicationName` (required)
  Type: string

- `applicationNamespace` (required)
  Type: string
  
  The 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.
  
  minLength: 1

- `resourceRefs` (optional)
  Type: array
  
  Items:
    Type: object
    
    - `uid` (required)
      Type: string
    
    - `kind` (required)
      Type: string
    
    - `namespace` (required)
      Type: string
    
    - `name` (required)
      Type: string
    
    - `version` (required)
      Type: string
    
    - `group` (required)
      Type: string
    
    Additional properties: false

- `argocdBaseUrl` (optional)
  Type: string
  
  ArgoCD 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.

Additional properties: false

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_resources",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "resourceRefs": [
          {
            "uid": "string",
            "kind": "string",
            "namespace": "string",
            "name": "string",
            "version": "string",
            "group": "string"
          }
        ],
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_resources",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "resourceRefs": [
      {
        "uid": "string",
        "kind": "string",
        "namespace": "string",
        "name": "string",
        "version": "string",
        "group": "string"
      }
    ],
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_resources", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "resourceRefs": [
    {
      "uid": "string",
      "kind": "string",
      "namespace": "string",
      "name": "string",
      "version": "string",
      "group": "string"
    }
  ],
  "argocdBaseUrl": "string"
})
```


## get_resource_actions

`TOOL get_resource_actions`

get_resource_actions returns actions for a resource that is managed by an application

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `applicationName` (required)
  Type: string

- `applicationNamespace` (required)
  Type: string
  
  The 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.
  
  minLength: 1

- `resourceRef` (required)
  Type: object
  
  - `uid` (required)
    Type: string
  
  - `kind` (required)
    Type: string
  
  - `namespace` (required)
    Type: string
  
  - `name` (required)
    Type: string
  
  - `version` (required)
    Type: string
  
  - `group` (required)
    Type: string
  
  Additional properties: false

- `argocdBaseUrl` (optional)
  Type: string
  
  ArgoCD 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.

Additional properties: false

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_resource_actions",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "resourceRef": {
          "uid": "string",
          "kind": "string",
          "namespace": "string",
          "name": "string",
          "version": "string",
          "group": "string"
        },
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "get_resource_actions",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "resourceRef": {
      "uid": "string",
      "kind": "string",
      "namespace": "string",
      "name": "string",
      "version": "string",
      "group": "string"
    },
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("get_resource_actions", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "resourceRef": {
    "uid": "string",
    "kind": "string",
    "namespace": "string",
    "name": "string",
    "version": "string",
    "group": "string"
  },
  "argocdBaseUrl": "string"
})
```


## create_application

`TOOL 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).

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `application` (required)
  Type: object
  
  - `metadata` (required)
    Type: object
    
    - `name` (required)
      Type: string
    
    - `namespace` (required)
      Type: string
      
      The 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.
      
      minLength: 1
    
    Additional properties: false
  
  - `spec` (required)
    Type: object
    
    - `project` (required)
      Type: string
    
    - `source` (required)
      Type: object
      
      - `repoURL` (required)
        Type: string
      
      - `path` (required)
        Type: string
      
      - `targetRevision` (required)
        Type: string
      
      Additional properties: false
    
    - `syncPolicy` (required)
      Type: object
      
      - `syncOptions` (required)
        Type: array
        
        Items:
          Type: string
      
      - `automated` (optional)
        Type: object
        
        - `prune` (required)
          Type: boolean
        
        - `selfHeal` (required)
          Type: boolean
        
        Additional properties: false
      
      - `retry` (required)
        Type: object
        
        - `limit` (required)
          Type: number
        
        - `backoff` (required)
          Type: object
          
          - `duration` (required)
            Type: string
          
          - `maxDuration` (required)
            Type: string
          
          - `factor` (required)
            Type: number
          
          Additional properties: false
        
        Additional properties: false
      
      Additional properties: false
    
    - `destination` (required)
      Type: object
      
      The destination of the application.
               Only one of server or name must be specified.
      
      - `server` (optional)
        Type: string
      
      - `namespace` (optional)
        Type: string
      
      - `name` (optional)
        Type: string
      
      Additional properties: false
    
    Additional properties: false
  
  Additional properties: false

- `argocdBaseUrl` (optional)
  Type: string
  
  ArgoCD 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.

Additional properties: false

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_application",
    "arguments": {
        "application": {
          "metadata": {
            "name": "string",
            "namespace": "string"
          },
          "spec": {
            "project": "string",
            "source": {
              "repoURL": "string",
              "path": "string",
              "targetRevision": "string"
            },
            "syncPolicy": {
              "syncOptions": [
                "string"
              ],
              "automated": {
                "prune": true,
                "selfHeal": true
              },
              "retry": {
                "limit": 0,
                "backoff": {
                  "duration": "string",
                  "maxDuration": "string",
                  "factor": 0
                }
              }
            },
            "destination": {
              "server": "string",
              "namespace": "string",
              "name": "string"
            }
          }
        },
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "create_application",
  "arguments": {
    "application": {
      "metadata": {
        "name": "string",
        "namespace": "string"
      },
      "spec": {
        "project": "string",
        "source": {
          "repoURL": "string",
          "path": "string",
          "targetRevision": "string"
        },
        "syncPolicy": {
          "syncOptions": [
            "string"
          ],
          "automated": {
            "prune": true,
            "selfHeal": true
          },
          "retry": {
            "limit": 0,
            "backoff": {
              "duration": "string",
              "maxDuration": "string",
              "factor": 0
            }
          }
        },
        "destination": {
          "server": "string",
          "namespace": "string",
          "name": "string"
        }
      }
    },
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("create_application", arguments={
  "application": {
    "metadata": {
      "name": "string",
      "namespace": "string"
    },
    "spec": {
      "project": "string",
      "source": {
        "repoURL": "string",
        "path": "string",
        "targetRevision": "string"
      },
      "syncPolicy": {
        "syncOptions": [
          "string"
        ],
        "automated": {
          "prune": true,
          "selfHeal": true
        },
        "retry": {
          "limit": 0,
          "backoff": {
            "duration": "string",
            "maxDuration": "string",
            "factor": 0
          }
        }
      },
      "destination": {
        "server": "string",
        "namespace": "string",
        "name": "string"
      }
    }
  },
  "argocdBaseUrl": "string"
})
```


## update_application

`TOOL update_application`

update_application updates application

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `applicationName` (required)
  Type: string

- `application` (required)
  Type: object
  
  - `metadata` (required)
    Type: object
    
    - `name` (required)
      Type: string
    
    - `namespace` (required)
      Type: string
      
      The 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.
      
      minLength: 1
    
    Additional properties: false
  
  - `spec` (required)
    Type: object
    
    - `project` (required)
      Type: string
    
    - `source` (required)
      Type: object
      
      - `repoURL` (required)
        Type: string
      
      - `path` (required)
        Type: string
      
      - `targetRevision` (required)
        Type: string
      
      Additional properties: false
    
    - `syncPolicy` (required)
      Type: object
      
      - `syncOptions` (required)
        Type: array
        
        Items:
          Type: string
      
      - `automated` (optional)
        Type: object
        
        - `prune` (required)
          Type: boolean
        
        - `selfHeal` (required)
          Type: boolean
        
        Additional properties: false
      
      - `retry` (required)
        Type: object
        
        - `limit` (required)
          Type: number
        
        - `backoff` (required)
          Type: object
          
          - `duration` (required)
            Type: string
          
          - `maxDuration` (required)
            Type: string
          
          - `factor` (required)
            Type: number
          
          Additional properties: false
        
        Additional properties: false
      
      Additional properties: false
    
    - `destination` (required)
      Type: object
      
      The destination of the application.
               Only one of server or name must be specified.
      
      - `server` (optional)
        Type: string
      
      - `namespace` (optional)
        Type: string
      
      - `name` (optional)
        Type: string
      
      Additional properties: false
    
    Additional properties: false
  
  Additional properties: false

- `argocdBaseUrl` (optional)
  Type: string
  
  ArgoCD 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.

Additional properties: false

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_application",
    "arguments": {
        "applicationName": "string",
        "application": {
          "metadata": {
            "name": "string",
            "namespace": "string"
          },
          "spec": {
            "project": "string",
            "source": {
              "repoURL": "string",
              "path": "string",
              "targetRevision": "string"
            },
            "syncPolicy": {
              "syncOptions": [
                "string"
              ],
              "automated": {
                "prune": true,
                "selfHeal": true
              },
              "retry": {
                "limit": 0,
                "backoff": {
                  "duration": "string",
                  "maxDuration": "string",
                  "factor": 0
                }
              }
            },
            "destination": {
              "server": "string",
              "namespace": "string",
              "name": "string"
            }
          }
        },
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "update_application",
  "arguments": {
    "applicationName": "string",
    "application": {
      "metadata": {
        "name": "string",
        "namespace": "string"
      },
      "spec": {
        "project": "string",
        "source": {
          "repoURL": "string",
          "path": "string",
          "targetRevision": "string"
        },
        "syncPolicy": {
          "syncOptions": [
            "string"
          ],
          "automated": {
            "prune": true,
            "selfHeal": true
          },
          "retry": {
            "limit": 0,
            "backoff": {
              "duration": "string",
              "maxDuration": "string",
              "factor": 0
            }
          }
        },
        "destination": {
          "server": "string",
          "namespace": "string",
          "name": "string"
        }
      }
    },
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("update_application", arguments={
  "applicationName": "string",
  "application": {
    "metadata": {
      "name": "string",
      "namespace": "string"
    },
    "spec": {
      "project": "string",
      "source": {
        "repoURL": "string",
        "path": "string",
        "targetRevision": "string"
      },
      "syncPolicy": {
        "syncOptions": [
          "string"
        ],
        "automated": {
          "prune": true,
          "selfHeal": true
        },
        "retry": {
          "limit": 0,
          "backoff": {
            "duration": "string",
            "maxDuration": "string",
            "factor": 0
          }
        }
      },
      "destination": {
        "server": "string",
        "namespace": "string",
        "name": "string"
      }
    }
  },
  "argocdBaseUrl": "string"
})
```


## delete_application

`TOOL delete_application`

delete_application deletes application. Specify applicationNamespace if the application is in a non-default namespace to avoid permission errors.

Authentication: no security requirement declared for this operation.

Parameters:

- `applicationName` (argument, string, required)
  Type: string

- `applicationNamespace` (argument, string, optional) - The namespace where the application is located. Required if application is not in the default namespace.
  Type: string
  
  The namespace where the application is located. Required if application is not in the default namespace.
  
  minLength: 1

- `cascade` (argument, boolean, optional) - Whether to cascade the deletion to child resources
  Type: boolean
  
  Whether to cascade the deletion to child resources

- `propagationPolicy` (argument, string, optional) - Deletion propagation policy (e.g., "Foreground", "Background", "Orphan")
  Type: string
  
  Deletion propagation policy (e.g., "Foreground", "Background", "Orphan")

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_application",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "cascade": true,
        "propagationPolicy": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "delete_application",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "cascade": true,
    "propagationPolicy": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("delete_application", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "cascade": true,
  "propagationPolicy": "string",
  "argocdBaseUrl": "string"
})
```


## sync_application

`TOOL sync_application`

sync_application syncs application. Specify applicationNamespace if the application is in a non-default namespace to avoid permission errors.

Authentication: no security requirement declared for this operation.

Parameters:

- `applicationName` (argument, string, required)
  Type: string

- `applicationNamespace` (argument, string, optional) - The namespace where the application is located. Required if application is not in the default namespace.
  Type: string
  
  The namespace where the application is located. Required if application is not in the default namespace.
  
  minLength: 1

- `dryRun` (argument, boolean, optional) - Perform a dry run sync without applying changes
  Type: boolean
  
  Perform a dry run sync without applying changes

- `prune` (argument, boolean, optional) - Remove resources that are no longer defined in the source
  Type: boolean
  
  Remove resources that are no longer defined in the source

- `revision` (argument, string, optional) - Sync to a specific revision instead of the latest
  Type: string
  
  Sync to a specific revision instead of the latest

- `syncOptions` (argument, array, optional) - Additional sync options (e.g., ["CreateNamespace=true", "PrunePropagationPolicy=foreground"])
  Type: array
  
  Additional sync options (e.g., ["CreateNamespace=true", "PrunePropagationPolicy=foreground"])
  
  Items:
    Type: string

- `argocdBaseUrl` (argument, string, optional) - ArgoCD 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.
  Type: string
  
  ArgoCD 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.

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "sync_application",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "dryRun": true,
        "prune": true,
        "revision": "string",
        "syncOptions": [
          "string"
        ],
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "sync_application",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "dryRun": true,
    "prune": true,
    "revision": "string",
    "syncOptions": [
      "string"
    ],
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("sync_application", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "dryRun": true,
  "prune": true,
  "revision": "string",
  "syncOptions": [
    "string"
  ],
  "argocdBaseUrl": "string"
})
```


## run_resource_action

`TOOL run_resource_action`

run_resource_action runs an action on a resource

Authentication: no security requirement declared for this operation.

Request body: application/json (required)

Type: object

- `applicationName` (required)
  Type: string

- `applicationNamespace` (required)
  Type: string
  
  The 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.
  
  minLength: 1

- `resourceRef` (required)
  Type: object
  
  - `uid` (required)
    Type: string
  
  - `kind` (required)
    Type: string
  
  - `namespace` (required)
    Type: string
  
  - `name` (required)
    Type: string
  
  - `version` (required)
    Type: string
  
  - `group` (required)
    Type: string
  
  Additional properties: false

- `action` (required)
  Type: string

- `argocdBaseUrl` (optional)
  Type: string
  
  ArgoCD 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.

Additional properties: false

## Examples

### JSON-RPC

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run_resource_action",
    "arguments": {
        "applicationName": "string",
        "applicationNamespace": "string",
        "resourceRef": {
          "uid": "string",
          "kind": "string",
          "namespace": "string",
          "name": "string",
          "version": "string",
          "group": "string"
        },
        "action": "string",
        "argocdBaseUrl": "string"
      }
  }
}
```

### TypeScript

```typescript
const result = await client.callTool({
  "name": "run_resource_action",
  "arguments": {
    "applicationName": "string",
    "applicationNamespace": "string",
    "resourceRef": {
      "uid": "string",
      "kind": "string",
      "namespace": "string",
      "name": "string",
      "version": "string",
      "group": "string"
    },
    "action": "string",
    "argocdBaseUrl": "string"
  }
});
```

### Python

```python
result = await session.call_tool("run_resource_action", arguments={
  "applicationName": "string",
  "applicationNamespace": "string",
  "resourceRef": {
    "uid": "string",
    "kind": "string",
    "namespace": "string",
    "name": "string",
    "version": "string",
    "group": "string"
  },
  "action": "string",
  "argocdBaseUrl": "string"
})
```
