Azure Kubernetes Service (AKS) official MCP server.
1.6K
15 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Azure Kubernetes Service (AKS) official MCP server.
Attribute | Details |
---|---|
Docker Image | mcp/aks |
Author | Azure |
Repository | https://github.com/Azure/aks-mcp |
Dockerfile | https://github.com/Azure/aks-mcp/blob/main/Dockerfile |
Docker Image built by | Docker Inc. |
Docker Scout Health Score | |
Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/aks --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
Licence | MIT License |
Tools provided by this Server | Short Description |
---|---|
az_advisor_recommendation | Retrieve and manage Azure Advisor recommendations for AKS clusters |
az_aks_operations | Unified tool for managing Azure Kubernetes Service (AKS) clusters and related operations. |
az_compute_operations | Unified tool for managing Azure Virtual Machines (VMs) and Virtual Machine Scale Sets (VMSS) using Azure CLI. |
az_fleet | Run Azure Kubernetes Service Fleet management commands. |
az_monitoring | Unified tool for Azure monitoring and diagnostics operations for AKS clusters. |
az_network_resources | Unified tool for getting Azure network resource information used by AKS clusters. |
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). |
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. |
kubectl_cluster | Get information about the Kubernetes cluster and API. |
kubectl_config | Work with Kubernetes configurations (read-only). |
kubectl_diagnostics | Diagnose and debug Kubernetes resources. |
kubectl_resources | View Kubernetes resources with read-only operations. |
list_detectors | List all available AKS cluster detectors |
run_detector | Run a specific AKS detector |
run_detectors_by_category | Run all detectors in a specific category |
az_advisor_recommendation
Retrieve and manage Azure Advisor recommendations for AKS clusters
Parameters | Type | Description |
---|---|---|
operation | string | Operation to perform: list or report |
subscription_id | string | Azure subscription ID to query recommendations |
category | string optional | Filter by recommendation category: Cost, HighAvailability, Performance, Security |
cluster_names | string optional | Comma-separated list of specific AKS cluster names to filter recommendations |
format | string optional | Output format for reports: summary, detailed, actionable |
resource_group | string optional | Filter by specific resource group containing AKS clusters |
severity | string optional | Filter by severity level: High, Medium, Low |
This tool may perform destructive updates.
This tool interacts with external entities.
az_aks_operations
Unified tool for managing Azure Kubernetes Service (AKS) clusters and related operations.
Supported operations:
Examples:
args
|string
|Arguments for the operation
operation
|string
|The operation to perform
resource_type
|string
optional|The resource type (cluster, nodepool, account). Can be inferred from operation.This tool may perform destructive updates.
This tool interacts with external entities.
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:
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"
Parameters | Type | Description |
---|---|---|
args | string | Azure CLI arguments: '--resource-group myRG' (required for most operations), '--name myVM' (for specific resources), '--new-capacity 3' (for scaling) |
operation | string | Operation to perform. Common operations: list, show, start, stop, restart, deallocate, scale, etc. |
resource_type | string | Resource type: 'vm' (single virtual machine) or 'vmss' (virtual machine scale set) |
This tool may perform destructive updates.
This tool interacts with external entities.
az_fleet
Run Azure Kubernetes Service Fleet management commands.
Available operations and resources:
Examples:
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, clusterresourceplacementThis tool may perform destructive updates.
This tool interacts with external entities.
az_monitoring
Unified tool for Azure monitoring and diagnostics operations for AKS clusters.
Supported Operations:
Metrics - Query Azure Monitor metrics for AKS clusters and nodes
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
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)
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)
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
Control Plane Logs - Query AKS control plane logs Supported log categories:
Use This Tool When You Need To:
Examples:
metrics:
resource_health:
app_insights:
diagnostics:
control_plane_logs:
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
|string
optional|AKS cluster name (required for resource_health, diagnostics, control_plane_logs)
query_type
|string
optional|For metrics operations only: 'list' (get metric values), 'list-definitions' (available metrics), 'list-namespaces' (metric categories)
resource_group
|string
optional|Resource group name (required for resource_health, app_insights, diagnostics, control_plane_logs)
subscription_id
|string
optional|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.
az_network_resources
Unified tool for getting Azure network resource information used by AKS clusters.
Supported resource types:
Examples:
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
|string
optional|Optional filters for the queryThis tool may perform destructive updates.
This tool interacts with external entities.
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.
Parameters | Type | Description |
---|---|---|
cluster_name | string | Name of the AKS cluster |
resource_group | string | Azure Resource Group containing the AKS cluster |
subscription_id | string | Azure Subscription ID |
node_pool_name | string optional | Name 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.
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_process_execution.command, observe_file_open.path, top_tcp.max_entries, top_file.max_entries, observe_dns.unsuccessful_only, observe_dns.name, observe_dns.nameserver, observe_dns.minimum_latency, observe_tcp.destination_port, observe_tcp.unsuccessful_only, observe_signal.signal, observe_system_calls.syscall, observe_dns.response_code, observe_tcp.source_port, observe_tcp.event_type, observe_file_open.unsuccessful_only. Example: {'action': 'run', 'filter_params': {'namespace': 'default', 'selector': 'app=myapp', 'observe_dns.unsuccessful_only': true}}
Parameters | Type | Description |
---|---|---|
action | string | Action 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_params | object optional | Parameters for the action |
filter_params | object optional | Parameters to filter the data captured by the gadget |
This tool may perform destructive updates.
This tool interacts with external entities.
kubectl_cluster
Get information about the Kubernetes cluster and API.
Available operations:
Examples:
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-versionsThis tool may perform destructive updates.
This tool interacts with external entities.
kubectl_config
Work with Kubernetes configurations (read-only).
Available operations:
Config operations (read-only):
Examples:
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 operationThis tool may perform destructive updates.
This tool interacts with external entities.
kubectl_diagnostics
Diagnose and debug Kubernetes resources.
Available operations:
Examples:
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/cpThis tool may perform destructive updates.
This tool interacts with external entities.
kubectl_resources
View Kubernetes resources with read-only operations.
Available operations:
Common resources: pods, deployments, services, configmaps, secrets, namespaces, etc.
Examples:
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.
list_detectors
List all available AKS cluster detectors
Parameters | Type | Description |
---|---|---|
cluster_resource_id | string | AKS cluster resource ID |
This tool may perform destructive updates.
This tool interacts with external entities.
run_detector
Run a specific AKS detector
Parameters | Type | Description |
---|---|---|
cluster_resource_id | string | AKS cluster resource ID |
detector_name | string | Name of the detector to run |
end_time | string | End time in UTC ISO format (within last 30 days, max 24h from start). Example: 2025-07-11T14:55:13Z |
start_time | string | Start 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.
run_detectors_by_category
Run all detectors in a specific category
Parameters | Type | Description |
---|---|---|
category | string | Detector 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_id | string | AKS cluster resource ID |
end_time | string | End time in UTC ISO format (within last 30 days, max 24h from start). Example: 2025-07-11T14:55:13Z |
start_time | string | Start 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.
{
"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}}"
]
}
}
}
Manual installation
You can install the MCP server using:
Installation for