m365-health-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., "@m365-health-mcpWhat's the current status of Microsoft 365 services?"
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.
Microsoft 365 Servis Sağlığı MCP Sunucusu
Microsoft 365 servislerinin (Teams, Exchange, SharePoint, Intune vb.) genel sağlık durumu ve bilinen olaylar/kesintiler hakkında salt-okunur bir Model Context Protocol sunucusu. ArubaCentralMCP / JamfMCP / DefenderCloudAppsMCP / TeamsCallsMCP / IntuneMCP / EntraIDMCP ile aynı mimari desenle yazılmıştır ve NetRadar Copilot Studio ajan ailesinin bir parçasıdır.
Amaç
"Bu genel bir Microsoft kesintisi mi, yoksa sorun yalnızca bizde mi?" sorusuna hızlı, kanıta dayalı yanıt vermek — sıfır kişisel veri (PII) içerir, yalnızca Microsoft'un kendi tenant'a özel servis durumu/duyuru bilgisi.
Related MCP server: ms-365-admin-mcp-server
Mimari
flowchart LR
A["MCP İstemcisi<br/>(Copilot Studio / Claude Code)"] -->|"HTTPS<br/>Authorization: Bearer <token>"| B["Caddy<br/>(aruba-mcp-vm üzerinde,<br/>yedinci site block'u)"]
B -->|"127.0.0.1:8426"| C["m365-health-mcp.service<br/>Python / mcp.server.MCPServer"]
C -->|"OAuth2 client_credentials<br/>Bearer <access_token>"| D["Microsoft Graph<br/>Service Communications API<br/>/admin/serviceAnnouncement/*"]Barındırma: aruba-mcp-vm (Azure, ArubaMCP resource group) üzerinde
yedinci bir systemd servisi (m365-health-mcp.service, port 8426) ve
Caddy'de yedinci bir site block'u olarak çalışır. Dedike, ayrıcalıksız
m365healthmcp sistem kullanıcısı altında.
Kimlik Doğrulama
Microsoft Entra ID, Doğuş Grubu tenant'ı. Ayrı bir Entra ID App Registration
(M365HealthMCP), OAuth2 client_credentials akışı, iki application
permission (ikisi de admin consent almış):
İzin | Neyi açar |
| Servis sağlığı, olaylar/kesintiler, PIR raporları |
| Message Center duyuruları (planlı değişiklikler) |
Her ikisi de bu alanlar için Microsoft'un sunduğu tek seçenek; daha dar bir alternatif yok.
Araçlar
Servis sağlığı — "şu an bir sorun var mı?"
Tool | Açıklama |
| Abone olunan tüm M365 servislerinin güncel durumu (sorunsuz/degraded özet dahil) |
| Tek bir servisin durumu + o servise ait açık olaylar ( |
| Olay/kesintiler — başlık, etki, sınıflandırma, çözüldü mü, en son durum güncellemesi |
| Tek bir olayın TAM zaman çizelgesi — Microsoft'un yayınladığı tüm ara güncellemeler |
| Olay Sonrası İnceleme (PIR) raporu — kök neden, etki kapsamı, alınan önlemler |
Message Center — "yaklaşan değişiklikler neler?"
Tool | Açıklama |
| Duyurular; |
| Tek bir duyurunun tam metni (HTML → düz metin) + ilgili Microsoft doküman bağlantıları |
Kapsam dışı: Graph'ın markRead / archive / favorite uç noktaları hem
yazma işlemidir (salt-okunur ilkemize aykırı) hem de yalnızca delegated
izinle (ServiceMessageViewpoint.Write) çalışır — app-only akışımızla zaten
kullanılamaz.
Uygulama notları (canlı ortamda doğrulanmış)
camelCase
status: Graph'ın canlı v1.0 uç noktasıserviceOperationaldöndürüyor; resmi dokümandaki örnek yanıltıcı şekilde PascalCase (ServiceOperational) gösteriyor. Kod büyük/küçük harfe duyarsız karşılaştırır.Sayfalama şart: Graph sayfa başına 100 kayıt döndürüyor ve olay arşivi bundan çok daha büyük. İlk sayfayı çekip istemci tarafında filtrelemek aktif olayların çoğunu sessizce kaçırıyordu (14 aktif olaydan yalnızca 3'ü ilk sayfadaydı).
isResolvedfiltresi artık sunucu tarafında uygulanıyor.Geçersiz servis adında 403: Var olmayan bir servis adı için Graph 404 değil 403 döndürüyor; ham hata "izin eksik" gibi görünüyor. Kod bunu "servis adı tam eşleşmeli" hatasına çeviriyor.
PIR belgesi .docx'tir:
incidentReportbir dosya akışı (application/octet-stream, ZIP tabanlı .docx) döndürüyor. Kod bunumammoth(docx→HTML) +markdownify(HTML→Markdown) ile yapılandırılmış Markdown'a çeviriyor; başlıklar (# Root Cause) ve alan/değer tabloları korunuyor. Her raporda birebir aynı olan Microsoft hukuki sorumluluk reddi metni atlanıp doğrudan "Incident Information" bölümünden başlatılıyor. Başlangıçta bu iş elle yazılmış birzipfile+ regex ayrıştırıcısıyla yapılıyordu; o çözüm belgeyi düz satırlara indirgeyip tablo yapısını ve başlık hiyerarşisini kaybediyordu — LLM'in "kök neden neydi" türü soruları yanıtlaması için Markdown çıktısı belirgin şekilde daha güvenilir. (Microsoft'unmarkitdownaracı da docx için içeride tam olarak bu iki kütüphaneyi kullanıyor; doğrudan onları çağırmakmagikagibi ~3 MB'lık ML bağımlılığını VM'e taşımamızı gereksiz kılıyor.)
Gizlilik
Bu sunucu hiçbir kullanıcıya özel veri döndürmez — yalnızca Microsoft'un kendi servis durumu/duyuru bilgisi. Yazma/aksiyon işlemi içermez (Graph'ta zaten bu alanda bir yazma uç noktası yok).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for Microsoft 365 via the Microsoft Graph API, providing read-only access to profile, calendar, email, Teams chats, OneDrive files, and meeting transcripts from any MCP client.182MIT
- AlicenseNot gradedqualityAmaintenanceA Model Context Protocol server for Microsoft 365 administration using Graph API application permissions, enabling security monitoring, identity audits, incident response, and service health management.17311MIT
- AlicenseBqualityBmaintenanceA read-only MCP server for Microsoft Intune and Entra ID that enables list, get, search, and reporting operations for tenant visibility, audits, troubleshooting, and health reporting without write actions. It includes authentication helpers, report exports, and metadata discovery tools.36MIT
- FlicenseNot gradedqualityCmaintenanceRead-only MCP server for Microsoft Entra ID (Azure AD) that enables querying user sign-in logs, group memberships, and assigned Microsoft 365 licenses via Microsoft Graph API. Provides security and audit visibility without any write operations.
Related MCP Connectors
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Service status / uptime MCP — Atlassian Statuspage v2.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
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/sedattavukcu/m365-health-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server