Azure Infrastructure MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level: DEBUG, INFO, WARNING, ERROR | INFO |
| AZURE_SECRET | No | Azure service principal secret (for service principal authentication) | |
| AZURE_CLIENT_ID | No | Azure service principal client ID (for service principal authentication) | |
| AZURE_TENANT_ID | No | Azure tenant ID (for service principal authentication) | |
| RATE_LIMIT_ENABLED | No | Enable rate limiting | true |
| AZURE_SUBSCRIPTION_ID | No | Default Azure subscription ID | |
| AZURE_DEFAULT_LOCATION | No | Default region for new resources | eastus |
| RATE_LIMIT_REQUESTS_PER_MINUTE | No | Max requests per minute | 60 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_checkB | Check MCP server health and Azure SDK availability. |
| list_subscriptionsA | List all Azure subscriptions you have access to. |
| set_subscriptionA | Set the Azure subscription to use for this session. Args: subscription_id: Azure subscription ID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
| auth_statusA | Check Azure authentication status and method (CLI or Service Principal). |
| account_showA | Get details of the current Azure subscription (similar to 'az account show'). |
| account_clearA | Clear cached Azure credentials and subscription override (similar to 'az account clear'). Resets in-memory subscription override and cached SDK clients so the next operation re-authenticates from scratch. |
| account_get_access_tokenB | Get an Azure access token for utilities to access Azure (similar to 'az account get-access-token'). Args: resource: The resource/scope to obtain a token for (default: Azure Resource Manager) |
| list_locationsA | List all Azure regions available for the subscription. |
| list_tenantsA | List Azure AD tenants you have access to. |
| list_management_groupsA | List all Azure management groups. |
| get_management_groupB | Get details of a management group including its children. Args: group_id: Management group ID |
| list_role_definitionsA | List available Azure role definitions (built-in roles). |
| list_resource_locksA | List resource locks in subscription or resource group. Args: resource_group: Optional resource group to filter by |
| list_tagsB | List tags in subscription or on a resource group. Args: resource_group: Optional resource group to get tags from |
| get_activity_logA | Get recent Azure activity log (audit log). Args: resource_group: Optional resource group to filter by days: Days to look back (1-7, default 1) |
| list_resource_groupsA | List all resource groups in the subscription. |
| list_resourcesA | List resources in a resource group. Args: resource_group: Resource group name resource_type: Filter by type (all, vm, storage) |
| list_vmsA | List virtual machines in a resource group. Args: resource_group: Resource group name |
| get_vm_statusB | Get detailed status of a virtual machine. Args: resource_group: Resource group name vm_name: Virtual machine name |
| start_vmA | Start a virtual machine. Args: resource_group: Resource group name vm_name: Virtual machine name |
| stop_vmA | Stop a virtual machine (VM stays allocated, charges continue). Args: resource_group: Resource group name vm_name: Virtual machine name |
| restart_vmB | Restart a virtual machine. Args: resource_group: Resource group name vm_name: Virtual machine name |
| deallocate_vmA | Deallocate a VM (stops and releases compute, no charges). Args: resource_group: Resource group name vm_name: Virtual machine name |
| scale_vmssC | Scale a Virtual Machine Scale Set. Args: resource_group: Resource group name vmss_name: VM Scale Set name capacity: Target instance count (0+) |
| list_storage_accountsB | List storage accounts in a resource group. Args: resource_group: Resource group name |
| get_storage_statusB | Get status of a storage account. Args: resource_group: Resource group name account_name: Storage account name |
| appconfig_listA | List App Configuration stores in the subscription or resource group. Args: resource_group: Optional resource group to filter by |
| appconfig_showA | Show details of an App Configuration store. Args: store_name: Name of the App Configuration store resource_group: Resource group containing the store |
| appconfig_kv_listA | List key-values in an App Configuration store. Args: store_name: Name of the App Configuration store resource_group: Optional resource group (speeds up lookup) key_filter: Key pattern filter (default '' for all, supports '' wildcard) label_filter: Optional label filter |
| appconfig_kv_showC | Show a specific key-value from an App Configuration store. Args: store_name: Name of the App Configuration store key: The configuration key to retrieve resource_group: Optional resource group label: Optional label (default: no label) |
| appconfig_kv_setB | Set a key-value in an App Configuration store. Args: store_name: Name of the App Configuration store key: The configuration key value: The value to set resource_group: Optional resource group label: Optional label content_type: Optional content type (e.g. 'application/json') |
| appconfig_kv_deleteB | Delete a key-value from an App Configuration store. Args: store_name: Name of the App Configuration store key: The configuration key to delete resource_group: Optional resource group label: Optional label |
| appservice_plan_listB | List App Service plans in the subscription or resource group. Args: resource_group: Optional resource group to filter by |
| appservice_plan_showC | Show details of an App Service plan. Args: name: App Service plan name resource_group: Resource group containing the plan |
| webapp_listC | List web apps in the subscription or resource group. Args: resource_group: Optional resource group to filter by |
| webapp_showB | Show details of a web app. Args: name: Web app name resource_group: Resource group containing the web app |
| webapp_startC | Start a web app. Args: name: Web app name resource_group: Resource group containing the web app |
| webapp_stopB | Stop a web app. Args: name: Web app name resource_group: Resource group containing the web app |
| webapp_restartB | Restart a web app. Args: name: Web app name resource_group: Resource group containing the web app |
| vnet_listA | List virtual networks in the subscription or resource group. Args: resource_group: Optional resource group to filter by |
| vnet_showA | Show details of a virtual network including subnets and peerings. Args: name: Virtual network name resource_group: Resource group containing the VNet |
| vnet_createB | Create a virtual network with a default subnet. Args: name: Virtual network name resource_group: Resource group to create the VNet in address_prefix: Address space CIDR (default 10.0.0.0/16) location: Azure region (defaults to resource group location) |
| vnet_deleteA | Delete a virtual network. WARNING: removes all subnets and peerings. Args: name: Virtual network name resource_group: Resource group containing the VNet |
| vnet_subnet_listA | List subnets in a virtual network. Args: vnet_name: Virtual network name resource_group: Resource group containing the VNet |
| vnet_subnet_showA | Show details of a subnet including NSG, route table, and delegations. Args: vnet_name: Virtual network name subnet_name: Subnet name resource_group: Resource group containing the VNet |
| vnet_subnet_createB | Create a subnet in a virtual network. Args: vnet_name: Virtual network name subnet_name: Name for the new subnet resource_group: Resource group containing the VNet address_prefix: Subnet CIDR (e.g. 10.0.1.0/24) |
| vnet_subnet_deleteB | Delete a subnet from a virtual network. Args: vnet_name: Virtual network name subnet_name: Subnet name to delete resource_group: Resource group containing the VNet |
| vnet_peering_listA | List peerings for a virtual network. Args: vnet_name: Virtual network name resource_group: Resource group containing the VNet |
| acr_list_registriesA | List container registries in a resource group or subscription. Args: resource_group: Optional resource group name to filter by |
| acr_show_registryB | Get details of a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_create_registryA | Create a new container registry. Args: resource_group: Resource group name registry_name: Name of the container registry (must be unique across Azure) location: Azure region (default: eastus) sku: Sku tier - Basic, Standard, Premium (default: Basic) admin_enabled: Enable admin user (default: False) |
| acr_delete_registryC | Delete a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_update_registryC | Update a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry admin_enabled: Enable or disable admin user (optional) |
| acr_get_credentialsC | Get login credentials for a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_get_login_serverA | Get the login server URL for a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_list_repositoriesC | List repositories in a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_list_tagsC | List tags in a container registry repository. Args: resource_group: Resource group name registry_name: Name of the container registry repository: Repository name |
| acr_show_taskC | Get details of a container registry task. Args: resource_group: Resource group name registry_name: Name of the container registry task_name: Name of the task |
| acr_list_tasksB | List tasks in a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_create_taskC | Create a container registry task. Args: resource_group: Resource group name registry_name: Name of the container registry task_name: Name of the task platform_os: Platform OS - Linux or Windows (default: Linux) platform_architecture: Platform architecture (default: amd64) platform_variant: Platform variant (optional) |
| acr_delete_taskC | Delete a container registry task. Args: resource_group: Resource group name registry_name: Name of the container registry task_name: Name of the task |
| acr_run_taskC | Run a container registry task. Args: resource_group: Resource group name registry_name: Name of the container registry task_name: Name of the task |
| acr_list_buildsC | List build tasks in a subscription or specific registry. Args: resource_group: Resource group containing build runners (optional) registry_name: Name of the container registry (optional) |
| acr_show_quotasC | Show quota information for a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_show_usageB | Show usage information for a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_list_network_rulesC | List network rules for a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry |
| acr_update_network_rulesC | Update network rules for a container registry. Args: resource_group: Resource group name registry_name: Name of the container registry default_action: Default action - Allow or Deny (default: Allow) |
| acr_reset_clientB | Reset cached ACR client and force re-authentication. |
| aad_list_usersB | List Azure AD users. Args: filter: OData filter query (e.g., 'displayName eq 'John Doe'') top: Maximum number of users to return (default 50) |
| aad_show_userB | Get details of an Azure AD user. Args: user_id: Object ID of the user user_principal_name: User principal name (alternative lookup) |
| aad_create_userB | Create a new Azure AD user. Args: display_name: Display name for the user user_principal_name: UserPrincipalName (UPN) for the user password: Initial password for the user mail_nick_name: Mail alias (optional) department: Department name (optional) job_title: Job title (optional) |
| aad_delete_userA | Delete an Azure AD user. Args: user_id: Object ID of the user to delete user_principal_name: User principal name (alternative lookup) |
| aad_list_applicationsB | List Azure AD applications. Args: filter: OData filter query top: Maximum number of applications to return (default 50) |
| aad_create_applicationA | Create a new Azure AD application. Args: display_name: Display name for the application sign_in_audience: Who can sign in (default: AzureADMyOrg) |
| aad_list_groupsA | List Azure AD groups. Args: filter: OData filter query top: Maximum number of groups to return (default 50) |
| aad_verify_tenantB | Verify Azure AD tenant information. |
| aad_reset_clientA | Reset cached Azure AD client and force re-authentication. |
| webapp_create_for_containerA | Create a Web App for Containers on Azure App Service. Args: name: Web app name (must be unique across Azure) resource_group: Resource group to deploy to plan_name: App Service plan name plan_sku: SKU tier (P1v2, P2v2, P3v2, etc.) plan_tier: SKU tier (PremiumV2, PremiumV3, etc.) location: Azure region (defaults to resource group location) image: Container image (e.g., myregistry.azurecr.io/myapp:latest) registry_url: Container registry URL (e.g., myregistry.azurecr.io) registry_username: Registry username (admin user) registry_password: Registry password/access key os_type: OS type - 'linux' or 'windows' multi_container: Whether to use multi-container (Docker Compose) startup_command: Startup command (e.g., 'python app.py') env_variables: Environment variables as JSON string (optional) vnet_subnet_id: Subnet resource ID for VNet integration assign_identity: Whether to assign system-assigned managed identity |
| webapp_grant_cr_accessB | Grant Web App access to Container Registry via RBAC. Args: webapp_name: Web app name resource_group: Resource group containing the web app registry_name: Container registry name registry_resource_group: Resource group containing the registry role: Role name (AcrPull, AcrPush, etc.) |
| webapp_configure_vnet_integrationC | Configure Virtual Network integration for a web app. Args: webapp_name: Web app name resource_group: Resource group containing the web app subnet_id: Subnet resource ID to integrate with |
| webapp_assign_identityC | Assign a system-assigned managed identity to a web app. Args: webapp_name: Web app name resource_group: Resource group containing the web app |
| webapp_view_logsB | View web app logs from Azure Monitor. Args: webapp_name: Web app name resource_group: Resource group containing the web app days: Number of days to look back (1-7) |
| webapp_set_container_registry_credentialsB | Set container registry credentials for a web app. Args: webapp_name: Web app name resource_group: Resource group containing the web app registry_url: Container registry URL (e.g., myregistry.azurecr.io) username: Registry username (admin user) password: Registry password/access key os_type: OS type - 'linux' or 'windows' |
| webapp_deleteB | Delete a web app. Args: name: Web app name resource_group: Resource group containing the web app |
| create_role_assignmentA | Create a new role assignment (RBAC). Args: principal_id: Object ID of the principal (user, group, or service principal) role_definition_name: Role name (e.g., 'Contributor', 'Reader', 'AcrPull') resource_group: Resource group scope (optional, uses subscription if not provided) scope: Full resource scope (optional, overrides resource_group) |
| delete_role_assignmentC | Delete a role assignment. Args: assignment_id: Role assignment ID to delete |
| list_role_assignments_for_principalB | List role assignments for a specific principal. Args: principal_id: Object ID of the principal resource_group: Resource group to filter by (optional) |
| list_containersA | List running Docker containers on the local machine. |
| get_container_logsA | Retrieve logs from a Docker container. Args: container_id: Container ID or name lines: Number of log lines to retrieve (default: 50) |
| restart_containerA | Restart a Docker container. Args: container_id: Container ID or name to restart |
| get_system_metricsA | Get system metrics (CPU, memory, disk usage). |
| check_service_healthC | Check health of a system service. Args: service_name: Name of the service to check |
| get_infrastructure_statusB | Get overall infrastructure health status. |
| billing_usage_detailsA | Get Azure usage details for a subscription. Args: start_date: Start date in YYYY-MM-DD format end_date: End date in YYYY-MM-DD format resource_group: Optional resource group to filter by |
| billing_budgetsA | List Azure budgets or get a specific budget. Args: budget_name: Specific budget name to retrieve (optional) |
| billing_reservationsB | Get Azure reservation details. |
| billing_estimate_costC | Estimate cost for specific resources or types. Args: resource_name: Specific resource name to estimate cost for resource_type: Resource type (e.g. 'Microsoft.Compute/virtualMachines') |
| billing_periodsA | List available Azure billing periods. |
| billing_chargesA | List charges for a subscription. Args: start_date: Start date in YYYY-MM-DD format end_date: End date in YYYY-MM-DD format |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/artemkozlenkov/azops-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server