Azure Kubernetes Service (AKS) official MCP server.
361
1
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_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}}
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