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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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