Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

azure-mcp

MCP.Pizza Chef: kalivaraprasad-gonapa

Azure MCP is a Model Context Protocol server that integrates Claude Desktop with Azure services, enabling natural language queries and management of Azure resources. It supports subscription and tenant management, automatic authentication via DefaultAzureCredential, robust error handling, and clean response formatting for seamless interaction with Azure's cloud infrastructure.

Use This MCP server To

Query Azure resource status using natural language Manage Azure subscriptions through conversational commands Select and switch between Azure tenants easily Automate Azure resource management tasks via Claude Desktop Handle authentication automatically for Azure API access Receive formatted Azure resource data in chat responses Retry operations on transient Azure API failures automatically

README

Azure MCP (Model Context Protocol) for Claude Desktop

smithery badge

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

Prerequisites

  • Node.js (v18 or higher)
  • Claude Desktop Application
  • Azure Account with appropriate permissions
  • Azure CLI (optional, for CLI-based authentication)

Installation

Manual Installation

  1. Clone the repository:
git clone https://github.com/Streen9/azure-mcp.git
cd azure-mcp
  1. Install dependencies:
npm install
  1. Configure Claude Desktop:
    • Open claude_desktop_config.json
    • Add 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

  1. Close Claude Desktop if it's running (check Task Manager)
  2. Start Claude Desktop
  3. 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.md

Key Components

  • AzureMCPServer: Main server class implementing the MCP protocol
  • HandleCallTool: Processes incoming tool requests
  • ExecuteWithRetry: Implements retry logic for resilient operations

Troubleshooting

  1. 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
  2. Connection Issues:

    • Verify Claude Desktop configuration
    • Check paths in config file match your installation
    • Ensure no other instances are running
  3. Common Errors:

    • NO_TENANT: Select a tenant using the 'select-tenant' tool
    • NO_CLIENTS: Ensure proper initialization and authentication
    • CODE_EXECUTION_FAILED: Check Azure permissions and connection

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Contributors

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.

azure-mcp FAQ

How does Azure MCP authenticate with Azure services?
It uses DefaultAzureCredential, supporting multiple flexible authentication methods including managed identities and environment credentials.
Can Azure MCP manage multiple Azure subscriptions?
Yes, it can list and manage multiple subscriptions within the same session.
How does Azure MCP handle errors during Azure API calls?
It implements robust error handling with automatic retries for transient failures to ensure reliability.
Is Azure MCP limited to Claude Desktop only?
While designed for Claude Desktop, the MCP server architecture allows potential integration with other MCP clients.
What kind of Azure resources can Azure MCP manage?
It interfaces with Azure Resource Management client, enabling management of a wide range of Azure resources.
Does Azure MCP format responses for better readability?
Yes, it provides clean, properly formatted responses to improve user experience in chat.
How does Azure MCP support tenant management?
It can list available Azure tenants and allow users to select the active tenant for operations.
Can Azure MCP be extended to support additional Azure services?
Yes, its modular design allows adding support for more Azure APIs as needed.