Azure MCP Server
The Azure MCP Server enables Claude Desktop to interact with Azure services via natural language conversations, allowing you to:
List and Select Tenants/Subscriptions: View all available Azure tenants and choose specific tenants and subscriptions for operations
Execute Azure SDK Code: Run custom JavaScript code using Azure SDK to query and manage Azure resources and subscriptions
Manage Resources: Interact with Azure resources using ResourceManagementClient and SubscriptionClient
Benefit from Built-in Features: Automatic authentication, error handling with retry logic, and clean response formatting
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Azure MCP Server list all virtual machines in my current subscription"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Azure MCP (Model Context Protocol) for Claude Desktop
A Model Context Protocol (MCP) implementation that enables Claude Desktop to interact with Azure services. This integration allows Claude to query and manage Azure resources directly through natural language conversations.
Features
Azure Resource Management: Interface with Azure Resource Management client
Subscription Management: List and manage Azure subscriptions
Tenant Management: List and select Azure tenants
Automatic Authentication: Leverages DefaultAzureCredential for flexible authentication methods
Error Handling: Robust error handling with retries for transient failures
Clean Response Formatting: Properly formatted responses compatible with Claude Desktop
Related MCP server: Azure Assistant MCP
Prerequisites
Node.js (v18 or higher)
Claude Desktop Application
Azure Account with appropriate permissions
Azure CLI (optional, for CLI-based authentication)
Installation
Manual Installation
Clone the repository:
git clone https://github.com/Streen9/azure-mcp.git
cd azure-mcpInstall dependencies:
npm installConfigure Claude Desktop:
Open
claude_desktop_config.jsonAdd the following MCP configuration:
{
"mcpServers": {
"sequential-thinking": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sequential-thinking"
]
},
"azure": {
"command": "tsx",
"args": [
"C:/Users/[YourUsername]/path/to/azure-mcp/src/launcher.ts"
]
}
}
}Authentication
The server supports multiple authentication methods through DefaultAzureCredential:
Environment Variables
Managed Identity
Azure CLI
Visual Studio Code
Interactive Browser
The server will automatically try these methods in sequence until one succeeds.
Usage
Close Claude Desktop if it's running (check Task Manager)
Start Claude Desktop
In the chat, you can now ask Azure-related questions like:
"Can you get all the available Azure accounts and subscriptions?"
"List all resource groups in my subscription"
"Show me all virtual machines in a specific resource group"
Example Conversation
You: Can you get all the available Azure accounts and subscriptions?
Claude: I'll help you list all available Azure tenants and subscriptions.
[Claude will then use the Azure MCP to fetch and display the information]Development
Project Structure
azure-mcp/
├── src/
│ ├── launcher.ts # Server entry point
│ ├── AzureServer.ts # Main MCP server implementation
│ └── LoggerService.ts # Logging utility
├── package.json
└── README.mdKey Components
AzureMCPServer: Main server class implementing the MCP protocol
HandleCallTool: Processes incoming tool requests
ExecuteWithRetry: Implements retry logic for resilient operations
Troubleshooting
Authentication Issues:
Ensure you're logged in via Azure CLI (
az login)Check environment variables if using service principal
Verify your Azure account has necessary permissions
Connection Issues:
Verify Claude Desktop configuration
Check paths in config file match your installation
Ensure no other instances are running
Common Errors:
NO_TENANT: Select a tenant using the 'select-tenant' toolNO_CLIENTS: Ensure proper initialization and authenticationCODE_EXECUTION_FAILED: Check Azure permissions and connection
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Contributors
@calclavia - Integration with smithery.ai
Acknowledgments
Claude Desktop team for the MCP implementation
Azure SDK team for the comprehensive SDK
Model Context Protocol for enabling AI-service integration
Security Note
This implementation follows Azure security best practices:
No hardcoded credentials
Secure credential chain implementation
Proper error handling and sanitization
For security concerns or vulnerabilities, please create an issue.
Available Tools
9 toolscreate-resource-groupC
Create a new resource group
Inputs: name (required), location (required), tags.
get-resource-detailsC
Get detailed information about a specific resource
Inputs: resourceId (required).
get-role-definitionsC
List available role definitions
Inputs: scope.
get-user-permissionsC
Get detailed user permissions by combining role assignments and role definitions
Inputs: scope.
list-resource-groupsB
List all resource groups in the selected subscription
Inputs: no named parameters.
list-role-assignmentsC
List role assignments for the subscription or resource group
Inputs: scope.
list-tenantsB
List all available Azure tenants
Inputs: no named parameters.
run-azure-codeC
Run Azure code
Inputs: reasoning (required), code (required), tenantId, subscriptionId.
select-tenantC
Select Azure tenant and subscription
Inputs: tenantId (required), subscriptionId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools have distinct purposes targeting different Azure resources (resource groups, roles, tenants, code execution), but 'get-resource-details' is ambiguous—it could overlap with other specific getters if not clarified. The descriptions help differentiate, but this one tool creates minor confusion.
Tools mostly follow a consistent verb_noun pattern (e.g., create-resource-group, list-resource-groups, get-role-definitions), with all using kebab-case. However, 'run-azure-code' deviates slightly by including 'azure' in the noun, breaking the pure resource-focused naming seen elsewhere.
With 9 tools, this server is well-scoped for Azure management, covering core areas like resource groups, roles, tenants, and code execution. Each tool earns its place by addressing a specific aspect of Azure operations without being overly broad or sparse.
The toolset provides good coverage for Azure management, including CRUD-like operations (create/list for resource groups) and key administrative functions (roles, tenants). Minor gaps exist, such as missing update/delete for resource groups or more granular resource operations, but agents can likely work around these for common workflows.
Maintenance
Related MCP Connectors
Deploy, monitor, and manage your OpenClaw AI assistants via natural language.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Your AI Agent's Infrastructure Layer. Connect Claude, Copilot, Codex, or ChatGPT to 200+ managed open source services. Start databases, pipelines, and applications through natural language.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables management of Azure Cloud PCs using the Microsoft Graph API, allowing users to list available Cloud PCs in their tenant through Claude Desktop.MIT
- AlicenseBqualityDmaintenanceEnables natural language exploration of Azure environments by generating and executing KQL queries against Azure Resource Graph. Supports multi-tenant configurations, subscription scoping, and provides direct access to Azure resource information through conversational interactions.83Apache 2.0
- AlicenseBqualityDmaintenanceEnables intelligent interaction with Azure resources through natural language by translating requests into safe, auditable Azure CLI commands with plan/review workflows and direct access to 8 Azure services including Storage, Cosmos DB, Key Vault, and more.31MIT
- FlicenseBqualityCmaintenanceEnables users to securely connect Claude Desktop to Azure DevOps for managing work items, metadata, comments, pull requests, and code reviews.15-