observability-mcp
Click on "Install 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., "@observability-mcpcorrelate recent deployments with failed requests"
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 Incident Investigation
A two-part portfolio project: a read-only MCP server exposing Azure observability tools, and an autonomous agent that drives those tools to investigate incidents and produce a synthesised root-cause report. A free, self-built, minimal take on the idea behind Microsoft's Azure SRE Agent — and, like that tool's "Reader mode", strictly read-only throughout.
you ──"symptom"──▶ incident-agent ──MCP (stdio/HTTP)──▶ observability-mcp ──▶ Azure
(Claude Agent SDK) (9 read-only tools) (App Insights,
│ App Service,
└── streams its reasoning + tool calls live, Activity Log)
then emits a Markdown root-cause reportThe two components
Directory | What it is |
The tool layer. A Model Context Protocol server (TypeScript, stdio or Streamable HTTP) exposing 9 read-only tools over Application Insights telemetry, App Service deployment history, App Service Plan metrics, and the Azure Activity Log — all correlated on | |
The investigator. A standalone agent (Claude Agent SDK) that connects to the MCP server as a client and autonomously drives its tools — starting narrow, widening the time window, localising the onset, identifying what changed, and confirming on a trace — before writing an evidence-backed report. Read-only by construction. |
Each directory is a self-contained npm project with its own README covering
setup, configuration, and how to run it. Start with
observability-mcp/ (the tools), then
incident-agent/ (the agent that drives them).
Related MCP server: incident-copilot
Design principles
Read-only, always. Every tool calls only
list*/get*/ query APIs; the agent routes every tool call through a single deny-by-default gate. Nothing in this project can modify, restart, scale, or delete anything.No secrets in code or config. Azure access is
DefaultAzureCredential(youraz loginlocally; a managed identity when deployed). See each component's README for the auth and security model.Runs locally or hosted. The MCP server speaks stdio for local use and Streamable HTTP for hosting (e.g. Azure Container Apps); the agent connects to either.
This is a lab / portfolio project — safe to run and read, but deliberately not production-hardened. See each component's "Security model" notes before deploying anywhere reachable.
Infrastructure & deployment
Infrastructure/ holds the Bicep that deploys the MCP server to
Azure Container Apps — the managed environment, the user-assigned identity, and
its discrete, per-resource RBAC (Reader on exactly the allowlisted App
Services / Container Apps / Log Analytics workspaces, never RG-wide except the
deliberate Activity Log exception). The identity's access is defined once, here, at
deploy time; it is never expanded at runtime from an alert payload.
Image: built by
.github/workflows/build-image.ymland pushed to GitHub Container Registry (ghcr.io/<owner>/observability-mcp-server). The package is public, so the Container App pulls it anonymously — no registry credentials. (After the first workflow run, set the package visibility to Public and link it to the repo.)Parameters: copy
Infrastructure/main.parameters.example.jsontomain.parameters.local.json(gitignored) and fill in your real subscription / resource IDs. Never commit real values — the example is the only parameters file in git.Deploy:
az deployment group create -g <rg> -f Infrastructure/main.bicep -p Infrastructure/main.parameters.local.json.
The three allowed* params also drive the agent's resource-scope gate: they're
emitted as Bicep outputs for the agent job / trigger Function (not yet built) to
consume as ALLOWED_* env vars — same source, defined once. See the
incident-agent README.
License
MIT.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.
Read-only MCP server for turva.dev, an agent-readiness audit and advisory service.
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Guarded MCP server for agent-readable business truth, provenance, readiness, and discovery.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes core Azure services as read-mostly tools any MCP client can call, including Blob Storage, Key Vault, Service Bus, and Resource Manager.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for investigating cloud incidents and managing approvals. Provides read-only tools to list incidents, investigate incidents, and list approvals, keeping remediation behind human approval.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server providing read-only operational tools (logs, metrics, traces, service health, config) for troubleshooting an environment, with one exception for toggling chaos scenarios.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that provides guarded, audited, read-only access to ops tooling (alerts, metrics, logs, deploys, runbooks) and a triage agent that diagnoses incidents end-to-end with CI-verified root cause analysis.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/dev-hops/azure-incident-investigation'
If you have feedback or need assistance with the MCP directory API, please join our Discord server