Microsoft Azure MCP server
The core-infrastructure slice of Azure Resource Manager, on your own tenant's consent.
- Tools
- 77
- Read-only
- 50
- Write
- 27
- Off by default
- Destructive
- 23
- Flagged distinctly
Microsoft Azure through an assistant
Compute, Storage, Key Vault, SQL, Cosmos DB, AKS, Container Registry, App Service and Monitor -- the namespaces most teams actually operate day to day. Your Azure AD tenant consents once, then you choose which subscriptions a connection may reach, and that choice is checked per tool call. Everything that deletes, deallocates or overwrites is opt-in and requires an explicit confirmation.
- Virtual machines, managed disks and scale sets, with power state
- SQL servers, databases, elastic pools and firewall rules
- Cosmos DB and Storage accounts, databases and containers
- AKS clusters and node pools, plus Container Registry repositories
- App Service web apps and Monitor's activity log, metrics and Log Analytics queries
- Create, update and delete resources (opt-in, confirmation required)
What people actually ask
Real questions, answered from live Microsoft Azure data.
“Which VMs in this subscription are still running right now?”
azure_compute_vm_listazure_compute_vm_power_state“Are there any SQL firewall rules allowing the whole internet?”
azure_sql_server_listazure_sql_server_firewall_rule_list“What has this web app logged in the last hour, and are the diagnostics clean?”
azure_monitor_log_queryazure_appservice_diagnostic_list77 Microsoft Azure tools
Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.
Virtual machines & disks
16 tools6 read-only · 10 writeShowing 10 of 10 tools
- azure_compute_disk_createWriteDestructive
Create a managed disk (empty, or from a source). Provisions billable storage.
- azure_compute_disk_deleteWriteDestructive
Permanently delete a managed disk and all data on it. IRREVERSIBLE.
- azure_compute_disk_getRead-only
Get a single managed disk by name.
- azure_compute_disk_listRead-only
List managed disks in a subscription, optionally scoped to a resource group.
- azure_compute_disk_updateWriteDestructive
Resize or change the SKU of an existing managed disk. Can shrink availability of the disk mid-flight if attached to a running VM.
- azure_compute_vm_createWriteDestructive
Create/deploy a new virtual machine with its OS disk. Provisions billable compute and storage.
- azure_compute_vm_deleteWriteDestructive
Permanently delete a virtual machine. Does NOT delete its disks or NICs by default -- those are separate resources. IRREVERSIBLE.
- azure_compute_vm_getRead-only
Get a single virtual machine by name, including its current provisioning state.
- azure_compute_vm_listRead-only
List virtual machines in a subscription, optionally scoped to a resource group.
- azure_compute_vm_power_stateWriteDestructive
Start, stop (power off but keep billing for allocated hardware), restart, or deallocate (stop AND release the underlying hardware, stopping compute billing) a virtual machine. Deallocating or stopping a running VM interrupts anything running on it.
+ 6 more virtual machines & disks tools — see the full catalogue
SQL databases
16 tools8 read-only · 8 writeShowing 10 of 10 tools
- azure_cosmos_database_listRead-only
List the SQL (Core) API databases under a Cosmos DB account. Accounts using another API (MongoDB, Cassandra, Gremlin, Table) expose their databases/keyspaces/tables under different ARM sub-resource types not covered here.
- azure_sql_database_createWriteDestructive
Create a new database on an existing Azure SQL server.
- azure_sql_database_deleteWriteDestructive
Delete a single database from an Azure SQL server. Irreversible.
- azure_sql_database_getRead-only
Get details, including current SKU/tier, of a single database on an Azure SQL server.
- azure_sql_database_listRead-only
List all databases on an Azure SQL server.
- azure_sql_database_renameWriteDestructive
Rename a database in place on the same server.
- azure_sql_database_updateWriteDestructive
Scale or reconfigure an existing database's performance SKU (e.g. change service tier or compute size).
- azure_sql_elastic_pool_listRead-only
List the elastic pools configured on an Azure SQL server.
- azure_sql_server_createWriteDestructive
Create a new Azure SQL logical server with admin credentials. administratorLoginPassword is write-only -- Azure never echoes it back in responses, and this tool does not persist or log it beyond the request itself.
- azure_sql_server_deleteWriteDestructive
Delete an Azure SQL logical server and every database on it. Irreversible.
+ 6 more sql databases tools — see the full catalogue
Key Vault
9 tools6 read-only · 3 writeShowing 9 of 9 tools
- azure_keyvault_certificate_createWrite
Create/issue a new certificate (a new version, if the name already exists). This starts an async issuance operation against the vault's configured issuer (self-signed by default). Does not import existing PFX/PEM material -- that's azmcp's certificate_import, out of scope for this pass (see file header). DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
- azure_keyvault_certificate_getRead-only
Get a certificate's public portion (cer/PEM) and metadata by name. Never returns the private key -- pair azure_keyvault_key_get / azure_keyvault_secret_get against the same name for exportable material where the vault's policy allows it. DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
- azure_keyvault_certificate_listRead-only
List certificates in a vault by name and metadata (never returns private key material). DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
- azure_keyvault_key_createWrite
Create a new key (a new version, if the name already exists -- old versions remain readable, unlike a secret). DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
- azure_keyvault_key_getRead-only
Get a key's public portion and metadata by name. Never returns private key material -- Key Vault keys are non-exportable by design. DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
- azure_keyvault_key_listRead-only
List keys in a vault by name and metadata (never returns private key material). DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
- azure_keyvault_secret_createWriteDestructive
Create/set a secret's value. IMPORTANT: if a secret with this name already exists, this SILENTLY adds a new current version -- every future reader gets the new value with no separate warning. Marked destructive for that reason (see this file's header 'Secret-flag, not Destructive-flag' comment), even though nothing is deleted. DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
- azure_keyvault_secret_getRead-only
Get a secret by name. SENSITIVE: the response includes the secret's live plaintext VALUE, not just metadata -- treat the output as confidential. DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
- azure_keyvault_secret_listRead-only
List secrets in a vault by name and metadata ONLY -- does not return secret values (Azure's list API never does; use azure_keyvault_secret_get per-name for a value). DATA-plane operation against {vaultName}.vault.azure.net -- see this file's header KNOWN GAP comment.
App Service
9 tools6 read-only · 3 writeShowing 9 of 9 tools
- azure_appservice_database_addWrite
Add a database connection string to a web app. Not destructive: this reads the existing connection strings first and adds the new one to them, rather than replacing the whole collection.
- azure_appservice_deployment_listRead-only
List deployment history for a web app -- status, timestamps, commit/author info where available.
- azure_appservice_diagnostic_listRead-only
List the diagnostic detectors available for a web app (e.g. 'high CPU', 'app crashes') -- use with azure_appservice_diagnostic_run to actually run one.
- azure_appservice_diagnostic_runRead-only
Run a specific diagnostic detector against a web app and return its analysis (e.g. root-causing high CPU or crashes over a time window).
- azure_appservice_webapp_change_stateWriteDestructive
Start, stop, or restart a web app. Stopping or restarting a running production app causes an outage for its users -- requires confirm: true.
- azure_appservice_webapp_getRead-only
Get a single App Service web app's details (state, host names, SKU, runtime).
- azure_appservice_webapp_listRead-only
List App Service web apps in a subscription, optionally scoped to one resource group.
- azure_appservice_webapp_settings_getRead-only
Get a web app's application settings (key-value pairs). SENSITIVE: these commonly include connection strings, API keys, and other secrets in plaintext -- treat the output as you would a Key Vault secret read.
- azure_appservice_webapp_settings_updateWriteDestructive
Replace a web app's application settings. DESTRUCTIVE: ARM's appsettings write is a full REPLACE of the entire settings collection, not a merge -- any existing key you don't include here is silently removed. Read the current settings with azure_appservice_webapp_settings_get first and include every key you want kept.
Monitor & logs
9 tools9 read-only · 0 writeShowing 9 of 9 tools
- azure_monitor_activity_log_listRead-only
List Azure Activity Log events (control-plane operations like create/update/delete) for a subscription, optionally scoped to one resource and a time window.
- azure_monitor_log_queryRead-only
Run a KQL query against diagnostic/activity logs for ONE resource, scoped via the resource's Log Analytics workspace. Uses ARM's query proxy -- see file header for the data-plane-vs-management-plane gap this works around.
- azure_monitor_metric_definitions_listRead-only
List the metric names/units/supported aggregations available for a resource, so you know what to pass to azure_monitor_metrics_query.
- azure_monitor_metrics_batch_queryRead-only
Query the same metric(s) across multiple resources at once. COMPATIBILITY SHIM: Azure's real Metrics Batch API is a data-plane-only regional endpoint (metrics.monitor.azure.com) this connector can't reach with its ARM-only token -- this fans out to one ARM metrics call per resourceId instead. Correct results, but N HTTP calls, not Azure's real single batch call.
- azure_monitor_metrics_queryRead-only
Query one or more metric time series for a single resource over a time window (e.g. CPU percentage for a VM, request count for a web app).
- azure_monitor_table_listRead-only
List the tables available in a Log Analytics workspace.
- azure_monitor_table_type_listRead-only
List the distinct table types (e.g. Microsoft, CustomLog) present in a Log Analytics workspace. INFERRED: ARM has no dedicated 'table types' endpoint documented -- this calls the same Tables-List API as azure_monitor_table_list and summarizes the distinct properties.schema.tableType values found. BUILD-TIME VERIFY this matches Azure's real azmcp_monitor_table_type_list behavior before shipping.
- azure_monitor_workspace_listRead-only
List Log Analytics workspaces in a subscription, optionally scoped to one resource group.
- azure_monitor_workspace_log_queryRead-only
Run a KQL query across an ENTIRE Log Analytics workspace -- not scoped to one resource. Results are capped at 2000 rows; add explicit filters/aggregation to your KQL rather than relying on the cap. Uses ARM's query proxy -- see file header for the known data-plane gap.
Storage
7 tools4 read-only · 3 writeShowing 7 of 7 tools
- azure_storage_account_createWriteDestructive
Create a storage account. Provisions billable storage infrastructure. True ARM management-plane call.
- azure_storage_account_getRead-only
Get a single storage account by name. True ARM management-plane call.
- azure_storage_account_listRead-only
List storage accounts in a subscription, optionally scoped to a resource group. True ARM management-plane call.
- azure_storage_blob_listRead-only
List blobs in a container. DATA-plane operation against *.blob.core.windows.net -- see this file's header KNOWN GAP comment: requires a storage.azure.com token audience this connector does not yet request.
- azure_storage_blob_uploadWrite
Upload a small blob (base64-encoded content, capped at 5MB decoded) to a container, ONLY IF a blob of that name doesn't already exist. For anything larger or requiring streaming/chunked/multi-part upload, this control-plane REST tool is not sufficient -- use a real Data Plane SDK client instead. DATA-plane operation against *.blob.core.windows.net -- see this file's header KNOWN GAP comment: requires a storage.azure.com token audience this connector does not yet request.
- azure_storage_container_createWriteDestructive
Create a blob container in a storage account. DATA-plane operation against *.blob.core.windows.net -- see this file's header KNOWN GAP comment: requires a storage.azure.com token audience this connector does not yet request.
- azure_storage_container_listRead-only
List blob containers in a storage account. DATA-plane operation against *.blob.core.windows.net -- see this file's header KNOWN GAP comment: requires a storage.azure.com token audience this connector does not yet request.
Cosmos DB
6 tools6 read-only · 0 writeShowing 6 of 6 tools
- azure_cosmos_account_listRead-only
List Cosmos DB accounts in a resource group, or across the whole subscription if resourceGroupName is omitted.
- azure_cosmos_container_listRead-only
List the containers inside a SQL (Core) API Cosmos DB database.
- azure_cosmos_item_getRead-only
Get a single document by id and partition key from a Cosmos DB container. DATA-PLANE -- not functional yet; see this file's header comment for why.
- azure_cosmos_item_list_recentRead-only
List the most recently modified documents in a Cosmos DB container, ordered by the system _ts property. DATA-PLANE -- not functional yet; see this file's header comment for why.
- azure_cosmos_item_queryRead-only
List items from a Cosmos DB container via a custom SQL (Core) API query. DATA-PLANE -- not functional yet; see this file's header comment for why.
- azure_cosmos_schema_inferRead-only
Infer an approximate schema (top-level field names and types) for a Cosmos DB container by sampling documents. DATA-PLANE -- not functional yet; see this file's header comment for why.
Kubernetes & registry
5 tools5 read-only · 0 writeShowing 5 of 5 tools
- azure_acr_registry_listRead-only
List Azure Container Registries in a resource group, or across the whole subscription if resourceGroupName is omitted.
- azure_acr_repository_listRead-only
List repositories (image names) stored in an Azure Container Registry. DATA-PLANE -- not functional yet; see this file's header comment for why.
- azure_aks_cluster_getRead-only
Get details of a single AKS managed cluster, including its Kubernetes version and network profile.
- azure_aks_cluster_listRead-only
List all AKS (Azure Kubernetes Service) managed clusters across the subscription.
- azure_aks_nodepool_listRead-only
List the node pools (system and user) configured on an AKS managed cluster.
Every tool name and description, machine-readable: /llms-full.txt
You decide what it can touch
The same model applies to every connector, and it defaults closed.
Authorize once
Connect Microsoft Azure through its own consent screen. Credentials are encrypted with AES-256-GCM and never returned by any API response or tool call.
Writes off by default
A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.
Roles enforced server-side
READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.
Connect Microsoft Azure in minutes
No infrastructure to run. Copy one URL and one token into your client.
- 1Create a free workspace and connect Microsoft Azure.
- 2Choose which tools to expose — writes stay off until you enable them.
- 3Copy your MCP endpoint URL and bearer token.
- 4Paste them into Claude, Cursor, or any MCP client.
{
"mcpServers": {
"serve-mcp": {
"url": "https://servemcp.com/api/mcp/your-workspace",
"transport": "http",
"headers": {
"Authorization": "Bearer smcp_..."
}
}
}
}More in Network & Infrastructure
Cisco Meraki
Network & InfrastructureEvery read in the Meraki Dashboard API, across every product line. No write tools exist.
DigitalOcean
Network & InfrastructureThe whole DigitalOcean account, at the same depth as DigitalOcean's own MCP server.
Cloudflare
Network & InfrastructureDNS, WAF, Workers and analytics -- scoped to the zones you explicitly authorise.
Put Microsoft Azure in front of your assistant
Free plan, no card required. Connect in minutes.