Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) official MCP server.

361

1

15 Tools

Signed
Built by Docker
Requires Configuration
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

Unified tool for Azure monitoring and diagnostics operations for AKS clusters. Supported Operations: 1. Metrics - Query Azure Monitor metrics for AKS clusters and nodes - list: Get metric values for specific metrics - list-definitions: Get available metrics for a resource - list-namespaces: Get metric namespaces for a resource Use for: CPU usage, memory consumption, network traffic, pod counts, node health Required parameters: resource (Azure resource ID) Additional for 'list': metrics (metric names) Optional: aggregation, start-time, end-time, interval, filter 2. Resource Health - Get Azure Resource Health events for AKS clusters Use for: Cluster availability issues, platform problems, service health events Required parameters: subscription_id, resource_group, cluster_name, start_time Optional: end_time, status (Available, Unavailable, Degraded, Unknown) 3. Application Insights - Execute KQL queries against Application Insights telemetry Use for: Application performance monitoring, custom telemetry analysis, trace correlation Required parameters: subscription_id, resource_group, app_insights_name, query Optional: start_time + end_time OR timespan (not both) 4. Diagnostics - Check AKS cluster diagnostic settings configuration Use for: Verify logging is enabled, check log retention, validate diagnostic configuration Required parameters: subscription_id, resource_group, cluster_name 5. Control Plane Logs - Query AKS control plane logs Supported log categories: - kube-apiserver - kube-audit - kube-audit-admin - kube-controller-manager - kube-scheduler - cluster-autoscaler - cloud-controller-manager - guard (for authentication/authorization issues) - csi-azuredisk-controller - csi-azurefile-controller - csi-snapshot-controller - fleet-member-agent - fleet-member-net-controller-manager - fleet-mcs-controller-manager PLEASE NOTE: you need to check if the category is enabled in your cluster's diagnostic settings by using the diagnostics tool. Use This Tool When You Need To: - Monitor cluster or other azure resource performance and usage (use metrics) - Check cluster availability and platform health (use resource_health) - Analyze application telemetry and performance (use app_insights) - Verify diagnostic logging configuration (use diagnostics) - Debug Kubernetes API server issues (use control_plane_logs with kube-apiserver) - Investigate authentication/authorization problems (use control_plane_logs with kube-audit, guard) - Troubleshoot pod scheduling issues (use control_plane_logs with kube-scheduler) - Check storage-related problems (use control_plane_logs with csi-azuredisk-controller, csi-azurefile-controller) - Analyze cluster scaling behavior (use control_plane_logs with cluster-autoscaler) - Review security audit events (use control_plane_logs with kube-audit, kube-audit-admin) Examples: metrics: - Get CPU usage: operation="metrics", query_type="list", parameters="{\"resource\":\"/subscriptions/sub-id/resourceGroups/rg/providers/Microsoft.ContainerService/managedClusters/cluster\", \"metrics\":\"node_cpu_usage_percentage\", \"aggregation\":\"Average\", \"start-time\":\"<start-time>\", \"end-time\":\"<end-time>\"}" - List available metrics: operation="metrics", query_type="list-definitions", parameters="{\"resource\":\"/subscriptions/sub-id/resourceGroups/rg/providers/Microsoft.ContainerService/managedClusters/cluster\"}" resource_health: - Check recent cluster health: operation="resource_health", subscription_id="<subscription-id>", resource_group="<resource-group>", cluster_name="<cluster-name>", parameters="{\"start_time\":\"<start-time>\"}" app_insights: - Query request telemetry: operation="app_insights", subscription_id="<subscription-id>", resource_group="<resource-group>", parameters="{\"app_insights_name\":\"myapp-insights\", \"query\":\"requests | where timestamp > ago(1h) | summarize count() by bin(timestamp, 5m)\"}" - Analyze exceptions: operation="app_insights", subscription_id="<subscription-id>", resource_group="<resource-group>", parameters="{\"app_insights_name\":\"myapp-insights\", \"query\":\"exceptions | where timestamp > ago(24h) | summarize count() by type, bin(timestamp, 1h)\"}" - Performance with timespan: operation="app_insights", subscription_id="<subscription-id>", resource_group="<resource-group>", parameters="{\"app_insights_name\":\"myapp-insights\", \"query\":\"performanceCounters | where category == 'Processor' | summarize avg(value) by bin(timestamp, 5m)\", \"timespan\":\"PT1H\"}" diagnostics: - Verify diagnostic settings: operation="diagnostics", subscription_id="<subscription-id>", resource_group="<resource-group>", cluster_name="<cluster-name>", parameters="{}" control_plane_logs: - Query API server logs: operation="control_plane_logs", subscription_id="<subscription-id>", resource_group="<resource-group>", cluster_name="<cluster-name>", parameters="{\"log_category\":\"kube-apiserver\", \"start_time\":\"<start-time>\", \"end_time\":\"<end-time>\", \"max_records\":\"50\"}" - Debug authentication issues: operation="control_plane_logs", subscription_id="<subscription-id>", resource_group="<resource-group>", cluster_name="<cluster-name>", parameters="{\"log_category\":\"guard\", \"start_time\":\"<start-time>\", \"end_time\":\"<end-time>\", \"max_records\":\"100\"}" - Analyze audit events: operation="control_plane_logs", subscription_id="<subscription-id>", resource_group="<resource-group>", cluster_name="<cluster-name>", parameters="{\"log_category\":\"kube-audit\", \"log_level\":\"error\", \"start_time\":\"<start-time>\", \"end_time\":\"<end-time>\", \"max_records\":\"50\"}"

About

Azure Kubernetes Service (AKS) MCP Server

Azure Kubernetes Service (AKS) official MCP server.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/aks
AuthorAzure
Repositoryhttps://github.com/Azure/aks-mcp
Dockerfilehttps://github.com/Azure/aks-mcp/blob/main/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/aks --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (15)

Tools provided by this ServerShort Description
az_advisor_recommendationRetrieve and manage Azure Advisor recommendations for AKS clusters
az_aks_operationsUnified tool for managing Azure Kubernetes Service (AKS) clusters and related operations.
az_compute_operationsUnified tool for managing Azure Virtual Machines (VMs) and Virtual Machine Scale Sets (VMSS) using Azure CLI.
az_fleetRun Azure Kubernetes Service Fleet management commands.
az_monitoringUnified tool for Azure monitoring and diagnostics operations for AKS clusters.
az_network_resourcesUnified tool for getting Azure network resource information used by AKS clusters.
get_aks_vmss_infoGet detailed VMSS configuration for a specific node pool or all node pools in the AKS cluster (provides low-level VMSS settings not available in az aks nodepool show).
inspektor_gadget_observabilityReal-time observability tool for Azure Kubernetes Service (AKS) clusters, allowing users to manage gadgets for monitoring and debugging Apart from 'action' param: It supports 'action_params' (type=object) to specify parameters for the action.Available params are: gadget_name, duration, gadget_id, chart_version.
kubectl_clusterGet information about the Kubernetes cluster and API.
kubectl_configWork with Kubernetes configurations (read-only).
kubectl_diagnosticsDiagnose and debug Kubernetes resources.
kubectl_resourcesView Kubernetes resources with read-only operations.
list_detectorsList all available AKS cluster detectors
run_detectorRun a specific AKS detector
run_detectors_by_categoryRun all detectors in a specific category

Tools Details

Tool: az_advisor_recommendation

Retrieve and manage Azure Advisor recommendations for AKS clusters

ParametersTypeDescription
operationstringOperation to perform: list or report
subscription_idstringAzure subscription ID to query recommendations
categorystringoptionalFilter by recommendation category: Cost, HighAvailability, Performance, Security
cluster_namesstringoptionalComma-separated list of specific AKS cluster names to filter recommendations
formatstringoptionalOutput format for reports: summary, detailed, actionable
resource_groupstringoptionalFilter by specific resource group containing AKS clusters
severitystringoptionalFilter by severity level: High, Medium, Low

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: az_aks_operations

Unified tool for managing Azure Kubernetes Service (AKS) clusters and related operations.

Supported operations:

  • Cluster: show, list, get-versions, check-network
  • Nodepool: nodepool-list, nodepool-show
  • Account: account-list

Examples:

  • Show cluster: operation="show", args="--name myCluster --resource-group myRG"
  • List nodepools: operation="nodepool-list", args="--cluster-name myCluster --resource-group myRG" Parameters|Type|Description -|-|- args|string|Arguments for the operation operation|string|The operation to perform resource_type|stringoptional|The resource type (cluster, nodepool, account). Can be inferred from operation.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: az_compute_operations

Unified tool for managing Azure Virtual Machines (VMs) and Virtual Machine Scale Sets (VMSS) using Azure CLI.

IMPORTANT: VM/VMSS resources are managed by AKS. Write operations should be used carefully and only for debugging purposes.

Use resource_type="vm" for single virtual machines or resource_type="vmss" for virtual machine scale sets.

Available operation values:

  • show: Get details of a VM/VMSS
  • list: List VMs/VMSS in subscription or resource group
  • get-instance-view: Get runtime status

EXAMPLES: List VMSS: operation="list", resource_type="vmss", args="--resource-group myRG" Show VMSS: operation="show", resource_type="vmss", args="--name myVMSS --resource-group myRG" List VMs: operation="list", resource_type="vm", args="--resource-group myRG"

ParametersTypeDescription
argsstringAzure CLI arguments: '--resource-group myRG' (required for most operations), '--name myVM' (for specific resources), '--new-capacity 3' (for scaling)
operationstringOperation to perform. Common operations: list, show, start, stop, restart, deallocate, scale, etc.
resource_typestringResource type: 'vm' (single virtual machine) or 'vmss' (virtual machine scale set)

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: az_fleet

Run Azure Kubernetes Service Fleet management commands.

Available operations and resources:

  • fleet: list, show, create, update, delete, get-credentials
  • member: list, show, create, update, delete
  • updaterun: list, show, create, start, stop, delete
  • updatestrategy: list, show, create, delete
  • clusterresourceplacement: list, show, get, create, delete (Kubernetes CRD operations)

Examples:

  • List fleets: operation='list', resource='fleet', args='--resource-group myRG'
  • Show fleet: operation='show', resource='fleet', args='--name myFleet --resource-group myRG'
  • Get fleet credentials: operation='get-credentials', resource='fleet', args='--name myFleet --resource-group myRG'
  • Create member: operation='create', resource='member', args='--name myMember --fleet-name myFleet --resource-group myRG --member-cluster-id /subscriptions/.../myCluster'
  • Create clusterresourceplacement: operation='create', resource='clusterresourceplacement', args='--name nginx --selector app=nginx --policy PickAll'
  • List clusterresourceplacements: operation='list', resource='clusterresourceplacement', args='' Parameters|Type|Description -|-|- args|string|Additional arguments for the command (e.g., '--name myFleet --resource-group myRG') operation|string|The operation to perform. Valid values: list, show, create, update, delete, start, stop, get-credentials resource|string|The resource type to operate on. Valid values: fleet, member, updaterun, updatestrategy, clusterresourceplacement

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: az_monitoring

Unified tool for Azure monitoring and diagnostics operations for AKS clusters.

Supported Operations:

  1. Metrics - Query Azure Monitor metrics for AKS clusters and nodes

    • list: Get metric values for specific metrics
    • list-definitions: Get available metrics for a resource
    • list-namespaces: Get metric namespaces for a resource

    Use for: CPU usage, memory consumption, network traffic, pod counts, node health Required parameters: resource (Azure resource ID) Additional for 'list': metrics (metric names) Optional: aggregation, start-time, end-time, interval, filter

  2. Resource Health - Get Azure Resource Health events for AKS clusters Use for: Cluster availability issues, platform problems, service health events Required parameters: subscription_id, resource_group, cluster_name, start_time Optional: end_time, status (Available, Unavailable, Degraded, Unknown)

  3. Application Insights - Execute KQL queries against Application Insights telemetry Use for: Application performance monitoring, custom telemetry analysis, trace correlation Required parameters: subscription_id, resource_group, app_insights_name, query Optional: start_time + end_time OR timespan (not both)

  4. Diagnostics - Check AKS cluster diagnostic settings configuration Use for: Verify logging is enabled, check log retention, validate diagnostic configuration Required parameters: subscription_id, resource_group, cluster_name

  5. Control Plane Logs - Query AKS control plane logs Supported log categories:

    • kube-apiserver
    • kube-audit
    • kube-audit-admin
    • kube-controller-manager
    • kube-scheduler
    • cluster-autoscaler
    • cloud-controller-manager
    • guard (for authentication/authorization issues)
    • csi-azuredisk-controller
    • csi-azurefile-controller
    • csi-snapshot-controller
    • fleet-member-agent
    • fleet-member-net-controller-manager
    • fleet-mcs-controller-manager PLEASE NOTE: you need to check if the category is enabled in your cluster's diagnostic settings by using the diagnostics tool.

Use This Tool When You Need To:

  • Monitor cluster or other azure resource performance and usage (use metrics)
  • Check cluster availability and platform health (use resource_health)
  • Analyze application telemetry and performance (use app_insights)
  • Verify diagnostic logging configuration (use diagnostics)
  • Debug Kubernetes API server issues (use control_plane_logs with kube-apiserver)
  • Investigate authentication/authorization problems (use control_plane_logs with kube-audit, guard)
  • Troubleshoot pod scheduling issues (use control_plane_logs with kube-scheduler)
  • Check storage-related problems (use control_plane_logs with csi-azuredisk-controller, csi-azurefile-controller)
  • Analyze cluster scaling behavior (use control_plane_logs with cluster-autoscaler)
  • Review security audit events (use control_plane_logs with kube-audit, kube-audit-admin)

Examples:

metrics:

  • Get CPU usage: operation="metrics", query_type="list", parameters="{"resource":"/subscriptions/sub-id/resourceGroups/rg/providers/Microsoft.ContainerService/managedClusters/cluster", "metrics":"node_cpu_usage_percentage", "aggregation":"Average", "start-time":"", "end-time":""}"
  • List available metrics: operation="metrics", query_type="list-definitions", parameters="{"resource":"/subscriptions/sub-id/resourceGroups/rg/providers/Microsoft.ContainerService/managedClusters/cluster"}"

resource_health:

  • Check recent cluster health: operation="resource_health", subscription_id="", resource_group="", cluster_name="", parameters="{"start_time":""}"

app_insights:

  • Query request telemetry: operation="app_insights", subscription_id="", resource_group="", parameters="{"app_insights_name":"myapp-insights", "query":"requests | where timestamp > ago(1h) | summarize count() by bin(timestamp, 5m)"}"
  • Analyze exceptions: operation="app_insights", subscription_id="", resource_group="", parameters="{"app_insights_name":"myapp-insights", "query":"exceptions | where timestamp > ago(24h) | summarize count() by type, bin(timestamp, 1h)"}"
  • Performance with timespan: operation="app_insights", subscription_id="", resource_group="", parameters="{"app_insights_name":"myapp-insights", "query":"performanceCounters | where category == 'Processor' | summarize avg(value) by bin(timestamp, 5m)", "timespan":"PT1H"}"

diagnostics:

  • Verify diagnostic settings: operation="diagnostics", subscription_id="", resource_group="", cluster_name="", parameters="{}"

control_plane_logs:

  • Query API server logs: operation="control_plane_logs", subscription_id="", resource_group="", cluster_name="", parameters="{"log_category":"kube-apiserver", "start_time":"", "end_time":"", "max_records":"50"}"
  • Debug authentication issues: operation="control_plane_logs", subscription_id="", resource_group="", cluster_name="", parameters="{"log_category":"guard", "start_time":"", "end_time":"", "max_records":"100"}"
  • Analyze audit events: operation="control_plane_logs", subscription_id="", resource_group="", cluster_name="", parameters="{"log_category":"kube-audit", "log_level":"error", "start_time":"", "end_time":"", "max_records":"50"}" Parameters|Type|Description -|-|- operation|string|The monitoring operation to perform: 'metrics' (CPU/memory/network), 'resource_health' (cluster availability), 'app_insights' (telemetry analysis), 'diagnostics' (logging config), 'control_plane_logs' (Kubernetes logs like kube-apiserver, kube-audit, guard, etc.) parameters|string|JSON string with operation parameters. metrics: resource (required), metrics (required for 'list' query_type), aggregation/start-time/end-time/interval/filter (optional). resource_health: start_time, end_time, status. app_insights: app_insights_name, query, start_time/end_time OR timespan (optional). diagnostics: none required. control_plane_logs: log_category (kube-apiserver/kube-audit/guard/etc), start_time, end_time, max_records, log_level cluster_name|stringoptional|AKS cluster name (required for resource_health, diagnostics, control_plane_logs) query_type|stringoptional|For metrics operations only: 'list' (get metric values), 'list-definitions' (available metrics), 'list-namespaces' (metric categories) resource_group|stringoptional|Resource group name (required for resource_health, app_insights, diagnostics, control_plane_logs) subscription_id|stringoptional|Azure subscription ID (required for resource_health, app_insights, diagnostics, control_plane_logs)

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: az_network_resources

Unified tool for getting Azure network resource information used by AKS clusters.

Supported resource types:

  • all: Get information about all network resources
  • vnet: Get Virtual Network information
  • nsg: Get Network Security Group information
  • route_table: Get Route Table information
  • subnet: Get Subnet information
  • load_balancer: Get Load Balancer information
  • private_endpoint: Get Private Endpoint information (private clusters only)

Examples:

  • Get all network resources: resource_type="all"
  • Get VNet info: resource_type="vnet"
  • Get NSG info: resource_type="nsg" Parameters|Type|Description -|-|- cluster_name|string|Name of the AKS cluster resource_group|string|Azure Resource Group containing the AKS cluster resource_type|string|The type of network resource to query subscription_id|string|Azure Subscription ID filters|stringoptional|Optional filters for the query

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: get_aks_vmss_info

Get detailed VMSS configuration for a specific node pool or all node pools in the AKS cluster (provides low-level VMSS settings not available in az aks nodepool show). Leave node_pool_name empty to get info for all node pools.

ParametersTypeDescription
cluster_namestringName of the AKS cluster
resource_groupstringAzure Resource Group containing the AKS cluster
subscription_idstringAzure Subscription ID
node_pool_namestringoptionalName of the node pool to get VMSS information for. Leave empty to get info for all node pools.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: inspektor_gadget_observability

Real-time observability tool for Azure Kubernetes Service (AKS) clusters, allowing users to manage gadgets for monitoring and debugging

Apart from 'action' param:

It supports 'action_params' (type=object) to specify parameters for the action.Available params are: gadget_name, duration, gadget_id, chart_version. Available Gadget names are: observe_dns, observe_tcp, observe_file_open, observe_process_execution, observe_signal, observe_system_calls, top_file, top_tcp. Example: {'action': 'run', 'action_params': {'gadget_name': 'observe_dns', 'duration': 10}}

It supports 'filter_params' (type=object) to filter the data captured by the gadget. Available params are: namespace, pod, container, selector,observe_dns.response_code, observe_file_open.unsuccessful_only, observe_file_open.path, top_file.max_entries, top_tcp.max_entries, observe_tcp.destination_port, observe_tcp.event_type, observe_process_execution.command, observe_system_calls.syscall, observe_dns.nameserver, observe_dns.minimum_latency, observe_tcp.source_port, observe_tcp.unsuccessful_only, observe_signal.signal, observe_dns.name, observe_dns.unsuccessful_only. Example: {'action': 'run', 'filter_params': {'namespace': 'default', 'selector': 'app=myapp', 'observe_dns.unsuccessful_only': true}}

ParametersTypeDescription
actionstringAction to perform on the gadget: run to run a gadget for a specific duration, start to start a gadget for continuous observation, stop to stop a running gadget using gadget_id, get_results to retrieve results of a gadget run using gadget_id (only available before stopping the gadget), list_gadgets to list all running (not available) gadgetsdeploy to deploy Inspektor Gadget, undeploy to undeploy Inspektor Gadgetupgrade to upgrade Inspektor Gadget, is_deployed to check if Inspektor Gadget is deployed
action_paramsobjectoptionalParameters for the action
filter_paramsobjectoptionalParameters to filter the data captured by the gadget

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: kubectl_cluster

Get information about the Kubernetes cluster and API.

Available operations:

  • cluster-info: Display cluster information
  • api-resources: Print supported API resources
  • api-versions: Print supported API versions
  • explain: Get documentation for a resource

Examples:

  • Cluster info: operation='cluster-info', resource='', args=''
  • Cluster info dump: operation='cluster-info', resource='dump', args=''
  • List resources: operation='api-resources', resource='', args=''
  • Namespaced resources: operation='api-resources', resource='', args='--namespaced=true'
  • Non-namespaced resources: operation='api-resources', resource='', args='--namespaced=false'
  • Resources by group: operation='api-resources', resource='', args='--api-group=rbac.authorization.k8s.io'
  • API versions: operation='api-versions', resource='', args=''
  • Explain pod: operation='explain', resource='pods', args=''
  • Explain field: operation='explain', resource='pods.spec.containers', args=''
  • Explain with version: operation='explain', resource='deployments', args='--api-version=apps/v1' Parameters|Type|Description -|-|- args|string|Additional flags and options operation|string|The operation to perform: cluster-info, api-resources, api-versions, explain resource|string|The resource type for explain operation, or empty string '' for cluster-info/api-resources/api-versions

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: kubectl_config

Work with Kubernetes configurations (read-only).

Available operations:

  • diff: Diff the live version against what would be applied
  • auth: Inspect authorization (can-i)
  • config: View kubectl configuration contexts (read-only)

Config operations (read-only):

  • current-context: Display the current context
  • get-contexts: Describe one or many contexts

Examples:

  • Diff config: operation='diff', resource='', args='-f pod.json'
  • Check auth: operation='auth', resource='can-i', args='create pods --all-namespaces'
  • Get current context: operation='config', resource='current-context', args=''
  • List contexts: operation='config', resource='get-contexts', args='' Parameters|Type|Description -|-|- args|string|Operation-specific arguments operation|string|The operation to perform: diff, auth, config resource|string|Subcommand for auth/certificate/config operations, or empty string '' for diff operation

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: kubectl_diagnostics

Diagnose and debug Kubernetes resources.

Available operations:

  • logs: Print logs for a container in a pod
  • events: Display events
  • top: Display resource usage (CPU/Memory)
  • exec: Execute a command in a container
  • cp: Copy files to/from containers

Examples:

  • Logs for default container: operation='logs', resource='', args='nginx'
  • Logs for specific container: operation='logs', resource='', args='nginx -c ruby-container'
  • Logs with selector: operation='logs', resource='', args='-l app=nginx --all-containers=true'
  • Get events: operation='events', resource='', args='--all-namespaces'
  • Get events namespace: operation='events', resource='', args='-n default'
  • Top pods: operation='top', resource='pod', args=''
  • Top nodes: operation='top', resource='node', args=''
  • Top with containers: operation='top', resource='pod', args='POD_NAME --containers'
  • Exec command: operation='exec', resource='', args='mypod -n NAMESPACE -- date'
  • Copy to pod: operation='cp', resource='', args='/tmp/foo_dir some-pod:/tmp/bar_dir'
  • Copy from pod: operation='cp', resource='', args='some-namespace/some-pod:/tmp/foo /tmp/bar'
  • Copy with container: operation='cp', resource='', args='/tmp/foo some-pod:/tmp/bar -c specific-container' Parameters|Type|Description -|-|- args|string|Resource names and operation-specific flags operation|string|The operation to perform: logs, events, top, exec, cp resource|string|The resource type: 'node'/'pod' for top, empty string '' for logs/events/exec/cp

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: kubectl_resources

View Kubernetes resources with read-only operations.

Available operations:

  • get: Display one or many resources
  • describe: Show detailed information about resources

Common resources: pods, deployments, services, configmaps, secrets, namespaces, etc.

Examples:

  • Get pods: operation='get', resource='pods', args='-n default'
  • Get specific pod: operation='get', resource='pods', args='nginx-pod -n default'
  • Get with selector: operation='get', resource='pods', args='-l app=nginx'
  • Get all namespaces: operation='get', resource='pods', args='--all-namespaces'
  • Describe deployment: operation='describe', resource='deployment', args='myapp -n production'
  • Describe all pods: operation='describe', resource='pods', args=''
  • Describe with selector: operation='describe', resource='pods', args='-l name=myLabel' Parameters|Type|Description -|-|- args|string|Additional arguments like resource names, namespaces, and flags operation|string|The operation to perform: get, describe resource|string|The resource type (e.g., pods, deployments, services) or empty string '' for file-based operations (create -f, apply -f, patch -f, replace -f, delete -f)

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: list_detectors

List all available AKS cluster detectors

ParametersTypeDescription
cluster_resource_idstringAKS cluster resource ID

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: run_detector

Run a specific AKS detector

ParametersTypeDescription
cluster_resource_idstringAKS cluster resource ID
detector_namestringName of the detector to run
end_timestringEnd time in UTC ISO format (within last 30 days, max 24h from start). Example: 2025-07-11T14:55:13Z
start_timestringStart time in UTC ISO format (within last 30 days). Example: 2025-07-11T10:55:13Z

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: run_detectors_by_category

Run all detectors in a specific category

ParametersTypeDescription
categorystringDetector category to run (Best Practices, Cluster and Control Plane Availability and Performance, Connectivity Issues, Create/Upgrade/Delete and Scale, Deprecations, Identity and Security, Node Health, Storage)
cluster_resource_idstringAKS cluster resource ID
end_timestringEnd time in UTC ISO format (within last 30 days, max 24h from start). Example: 2025-07-11T14:55:13Z
start_timestringStart time in UTC ISO format (within last 30 days). Example: 2025-07-11T10:55:13Z

This tool may perform destructive updates.

This tool interacts with external entities.


Use this MCP Server

{
  "mcpServers": {
    "aks": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/local-directory:/local-directory",
        "mcp/aks",
        "--transport=stdio",
        "--access-level={{aks.access_level}}",
        "--allow-namespaces={{aks.allow_namespaces}}",
        "--additional-tools={{aks.additional_tools}}"
      ]
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Manual installation

You can install the MCP server using:

Installation for

Related servers