Skip to main content
Glama
sat0ps

Azure Platform Engineering MCP Server

by sat0ps

Azure Platform Engineering MCP Server

A Model Context Protocol (MCP) server connected to real Azure infrastructure. Deploys a live AKS cluster and provides AI agents with real-time access to cluster health, Azure resources, policy validation, and Terraform analysis.

No simulated data. Every API call hits live Azure services.


What This Does

This MCP server gives AI agents (Claude Code, GitHub Copilot, etc.) structured access to a real Azure platform:

Tool

Data Source

What It Returns

check_cluster_health

Kubernetes API (live AKS)

Real node status, pod health, events, recommendations

validate_manifest

PyYAML parser

Policy compliance for real YAML manifests

analyze_terraform

HCL analysis

Quality score for Terraform modules

query_azure_resources

Azure Resource Manager API

Real resource groups, AKS clusters, VMs


Related MCP server: code-intel MCP Server

Architecture

Architecture Overview

How It Works

MCP Protocol Flow

Deployment Pipeline

Deployment Pipeline


Live Proof

This was deployed and tested against a real AKS cluster on Azure for Students.

kubectl get nodes

kubectl get nodes

kubectl get pods (with real CrashLoopBackOff)

kubectl get pods

MCP Server Test Output (LIVE)

Live test output

Azure Portal

Azure Portal


Infrastructure

Deployed via Terraform in terraform/main.tf:

Resource

Details

Resource Group

mcp-demo-rg (Sweden Central)

AKS Cluster

aks-platform-demo — Kubernetes 1.32

Node Pool

1x Standard_D2as_v4 (cost-optimised)

Network

Azure CNI + Calico network policy

Monitoring

Log Analytics workspace + OMS agent

Workloads

3 namespaces: product-api, product-web, platform-monitoring

The platform-monitoring namespace includes an intentionally failing pod to demonstrate how the health check tool detects and reports real CrashLoopBackOff incidents.


Setup

Prerequisites

  • Azure subscription (Azure for Students works)

  • Azure CLI (az)

  • Terraform

  • kubectl

  • Python 3.10+

Deploy

# 1. Clone
git clone https://github.com/sat0ps/mcp-server-azure-platform.git
cd mcp-server-azure-platform

# 2. Login to Azure
az login

# 3. Deploy infrastructure
cd terraform
terraform init
terraform plan
terraform apply

# 4. Configure kubectl
az aks get-credentials --resource-group mcp-demo-rg --name aks-platform-demo

# 5. Deploy sample workloads
kubectl apply -f workloads.yaml

# 6. Install dependencies
cd ..
pip install -r requirements.txt

# 7. Set subscription ID
export AZURE_SUBSCRIPTION_ID=$(az account show --query id -o tsv)

# 8. Test
python test_tools.py

Tear Down (stop costs)

cd terraform
terraform destroy

Live Test Output

Platform Engineering MCP Server — Live Test Suite
============================================================
Testing against REAL Azure infrastructure

TEST: Initialize
  Server: azure-platform-engineering-mcp v1.0.0
  PASS

TEST: Check Cluster Health (LIVE)
  Source: LIVE — Kubernetes API
  Health Score: 100 (healthy)
  Nodes: 1/1 ready
  Pods: 25 running, 0 pending, 0 failed
  Problem pods:
    - platform-monitoring/failing-service: 6 restarts (CrashLoopBackOff)
  PASS

TEST: Query Azure Resources (LIVE)
  Source: LIVE — Azure Resource Manager API
  AKS Clusters found: 1
    - aks-platform-demo (swedencentral) — K8s 1.32 — Succeeded
      Pool: system — Standard_D2as_v4 x1
  PASS

ALL TESTS PASSED (Live Azure)

Diagrams

Diagram

What It Shows

Architecture Overview

Full system: agent → MCP → live tools → real Azure

MCP Protocol Flow

Real request flow with CrashLoopBackOff detection

Deployment Pipeline

terraform apply → kubectl → test → destroy

Incident Detection

How MCP found the failing-service pod

Policy Validation

YAML validation gate with real PyYAML parsing

Agent Configuration

How agents.md + skills + instructions work together

Terraform PR Review

AI-driven PR review with quality scoring


Project Structure

├── mcp_server.py              # MCP server (JSON-RPC 2.0 over stdio)
├── tools/
│   ├── kubernetes_live.py     # Real K8s API health checks
│   ├── compliance_live.py     # Real YAML policy validation
│   ├── terraform_live.py      # Terraform HCL analysis
│   ├── azure_resources.py     # Real Azure Resource Manager queries
│   └── azure_metrics.py       # Azure Monitor metrics (SDK v2 WIP)
├── terraform/
│   ├── main.tf                # AKS + monitoring infrastructure
│   └── workloads.yaml         # Sample K8s deployments
├── .claude/
│   ├── agents.md              # Agent behaviour configuration
│   └── mcp.json               # Claude Code MCP config
├── skills/
│   └── SKILL.md               # Repeatable agent procedures
├── instructions/
│   ├── terraform-standards.md # Terraform quality standards
│   └── kubernetes-standards.md# K8s deployment requirements
├── scripts/
│   └── setup.sh               # Automated deployment script
├── diagrams/                  # Architecture diagrams + live screenshots
├── requirements.txt           # Python dependencies
└── test_tools.py              # Live test suite

Authentication

Uses DefaultAzureCredential — works with az login, managed identity, and service principals. No credentials stored in the repo.



License

MIT

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/sat0ps/mcp-server-azure-platform'

If you have feedback or need assistance with the MCP directory API, please join our Discord server