Atlas reads Azure resource groups, App Service settings, and Log Analytics results through Microsoft's official Azure MCP server, which authenticates through DefaultAzureCredential and never stores tokens. Add it with atlas mcp add azure -- npx -y @azure/mcp@latest server start, then run az login so the credential chain resolves. Review every diff before you let Atlas run az deployment group create.
What Atlas reads from Azure
Atlas reads Azure resource groups, App Service settings, and Log Analytics results through Microsoft's official Azure MCP server. In 2026 that gives the terminal-native agent the three things it needs to debug an Azure app: what is deployed, how it is configured, and what it logged when it broke.
Azure is a cloud platform, and an Azure bug usually spans a resource group, a set of App Service settings, and a Log Analytics query. Microsoft's official Azure MCP server hands all three to Atlas from the terminal. Because Atlas is running inside your repository, it can then do the part the Azure portal cannot: connect the Log Analytics exception to the handler in your source that throws it, and connect the App Service settings to the configuration your code expects. The value is not the reading, it is the joining of what Azure knows to what the code says.
Installing Microsoft's Azure MCP server
Add Microsoft's Azure MCP server with atlas mcp add azure -- npx -y @azure/mcp@latest server start. In 2026 that one command registers the official server as a local stdio process next to Atlas, and the trailing server start argument is required for it to launch.
The Node package @azure/mcp is Microsoft's official distribution, and the command Atlas needs to run is @azure/mcp@latest server start, not the package name alone. Getting the trailing arguments right is the most common setup mistake. Once registered, the server appears to Atlas as a set of Azure tools covering resource groups, App Service, and Log Analytics. There is no separate account to create and no Azure-specific key to generate, because the credential comes from a chain that is already on your machine.
Authenticating with DefaultAzureCredential
Auth for the Azure MCP server rides DefaultAzureCredential, so run az login, or set AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_CLIENT_SECRET for a service principal. Microsoft's Azure MCP server never stores tokens, which means Atlas holds no long-lived Azure secret of its own in 2026.
DefaultAzureCredential is the standard Azure credential chain, and the MCP server simply defers to it. On a developer machine that usually means az login is enough. In CI, or on a machine where an interactive login is not possible, set the service principal trio: AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_CLIENT_SECRET. Either way the server never stores tokens, so revoking Atlas's Azure access does not require finding a credential inside Atlas's configuration. Revoke the identity in Azure, or run az logout, and the chain stops resolving.
Running the Azure MCP server without Node
The Azure MCP server is not Node-only. In 2026 it ships 3 ways: npx -y @azure/mcp@latest, the NuGet package Azure.Mcp, and the PyPI package msmcp-azure. Atlas can therefore connect from a machine with no Node runtime at all.
A .NET shop rarely wants Node on its build agents, and a Python shop rarely wants it either. Microsoft ships the Azure MCP server three ways for exactly that reason: npx -y @azure/mcp@latest for Node, the NuGet package Azure.Mcp for .NET, and the PyPI package msmcp-azure for Python. All three expose the same Azure capabilities to Atlas and all three authenticate through DefaultAzureCredential. The decision is purely about which runtime you already maintain on the machine Atlas is running on.
The daily workflow: reconciling App Service settings against bicep
A common Atlas and Azure task in 2026 is configuration drift. Ask Atlas to read an App Service's app settings and reconcile them against your bicep templates. Atlas pulls the live settings through Microsoft's official Azure MCP server and compares them to the infrastructure code in your working tree.
Bicep templates describe what an App Service should be configured with. The App Service's actual app settings describe what it is configured with. Those two diverge over time, usually because someone fixed something in the portal at 2am and never wrote it back. Atlas can see both sides at once, so it reports the drift concretely: which settings exist in Azure and not in bicep, which differ, and which the code expects and neither has. The output is a diff against your bicep templates, which turns an invisible problem into a reviewable change.
From a Log Analytics exception to the handler that throws it
Atlas can query Log Analytics for an exception, then open the handler that throws it. In 2026 that is the shortest path from an Azure alert to a code fix, because Microsoft's official Azure MCP server gives Atlas the Log Analytics results and your repository gives it the source.
Log Analytics returns a stack trace and a frequency. On its own that is a ticket, not a fix. Atlas takes the exception, finds the throwing handler in your working tree, and reads the surrounding code to work out the actual condition that triggers it. From there it proposes a change, and the deploy stays under your control: review every diff before you let Atlas run az deployment group create. That command is the point of no return for an Azure infrastructure change, so it should never be the first thing that happens after a log query.
Setup
- 01Add Microsoft's Azure MCP server with atlas mcp add azure -- npx -y @azure/mcp@latest server start
- 02Run az login so DefaultAzureCredential resolves, since auth rides DefaultAzureCredential rather than an Azure-specific key.
- 03For a service principal instead of an interactive login, set AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_CLIENT_SECRET in the environment.
- 04If Node is not available on the box, use the NuGet package Azure.Mcp or the PyPI package msmcp-azure, which ship the same server.
- 05Ask Atlas to read an App Service's app settings and reconcile them against your bicep templates.
- 06Have Atlas query Log Analytics for the exception, then open the handler that throws it.
- 07Review every diff before you let Atlas run az deployment group create.
Frequently asked questions
- how to connect atlas to the azure mcp server
- Run atlas mcp add azure -- npx -y @azure/mcp@latest server start, then run az login so DefaultAzureCredential resolves.
- how does the azure mcp server authenticate
- Auth rides DefaultAzureCredential. Run az login, or set AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_CLIENT_SECRET for a service principal. The server never stores tokens.
- can i run the azure mcp server without node
- Yes. The same server ships as the NuGet package Azure.Mcp and the PyPI package msmcp-azure, so use whichever runtime the machine already has.
- can atlas read azure app service settings
- Yes. Atlas reads Azure resource groups, App Service settings, and Log Analytics results through Microsoft's official Azure MCP server. Ask it to reconcile app settings against your bicep templates.
- does atlas store my azure token
- No. Microsoft's official Azure MCP server authenticates through DefaultAzureCredential and never stores tokens.
- can atlas query log analytics
- Yes. Have Atlas query Log Analytics for the exception, then open the handler that throws it in your working tree.
- will atlas deploy azure infrastructure without approval
- No. Review every diff before you let Atlas run az deployment group create. The deploy stays an explicit approval, not an automatic step.
Try Atlas in your terminal
The terminal-native AI coding agent. Free core, single binary.
Install AtlasRelated guides
Atlas with Together AI (gateway) in 2026: Open-Weights Models at Scale
Together AI (gateway) drives Atlas with the broadest open-weights catalog: Qwen3.7 Max at $1.25 / $3.75 per Mtok, up to 1M context, US-hosted inference.
Atlas with StarCoder2 15B (Ollama): The Provenance Choice in 2026
StarCoder2 15B (Ollama) is BigCode's 9.1GB code model with a transparent training corpus and a 16K context, Free (self-hosted). Atlas setup and tradeoffs for 2026.
Atlas with Mistral Large 2.1 (2411): A 2026 Setup Guide
Mistral Large 2.1 (2411) runs Atlas on EU infrastructure with a 131,072 token context at $2.00 / 1M input tokens and $6.00 / 1M output tokens. Setup and honest limits.
Atlas with MiniMax-M2.7 in 2026: Agentic Reasoning at $0.30
MiniMax-M2.7 is MiniMax's March 2026 agentic 230B MoE. It runs Atlas at $0.30 per Mtok input and $1.20 per Mtok output with a 204,800 token context and 131,072 output.
Atlas with Code Llama (local via Ollama): a Fill-in-the-Middle Baseline in 2026
Code Llama runs free and local via Ollama at 7b, 13b, 34b, and 70b with a 16,384 token context. Strong at infilling, but too small and too old for Atlas agent work.
Atlas with Command R: The $0.15 per Mtok Background Model for 2026
Command R runs Atlas background work at $0.15 per Mtok input and $0.6 per Mtok output, with a 128,000 token context and a 4,000 token output cap on patches.
Atlas with Baseten in 2026: 262,000 Tokens In, 262,000 Tokens Out
Atlas with Baseten in 2026: Kimi K2.7 Code at 262,000 tokens in and 262,000 out, GPT OSS 120B at $0.10/$0.50 per Mtok, and the tradeoffs of dedicated hosting.
Atlas with Google Vertex AI (gateway) in 2026: Gemini and Claude Under One GCP Project
Google Vertex AI (gateway) runs Atlas on Gemini 3.1 Pro at $2 / $12 per Mtok with a 1M context, plus Claude through Atlas's google-vertex-anthropic route.