sedattavukcu

Entra ID MCP Sunucusu

Community sedattavukcu
Updated

Entra ID MCP Sunucusu

Microsoft Entra ID (Azure AD) hakkında salt-okunur birModel Context Protocol sunucusu.ArubaCentralMCP /JamfMCP /DefenderCloudAppsMCP /TeamsCallsMCP /IntuneMCP ile aynı mimaridesenle yazılmıştır ve NetRadar Copilot Studio ajan ailesinin bir parçasıdır.

Mimari

flowchart LR
    A["MCP İstemcisi<br/>(Copilot Studio / Claude Code)"] -->|"HTTPS<br/>Authorization: Bearer &lt;token&gt;"| B["Caddy<br/>(aruba-mcp-vm üzerinde,<br/>altıncı site block'u)"]
    B -->|"127.0.0.1:8425"| C["entraid-mcp.service<br/>Python / mcp.server.MCPServer"]
    C -->|"OAuth2 client_credentials<br/>Bearer &lt;access_token&gt;"| D["Microsoft Graph API<br/>graph.microsoft.com<br/>/auditLogs/signIns, /users/{id}/memberOf, /subscribedSkus"]

Barındırma: Ayrı bir VM açılmadı — aruba-mcp-vm (Azure, ArubaMCPresource group) üzerinde altıncı bir systemd servisi(entraid-mcp.service, port 8425) ve Caddy'de altıncı bir siteblock'u (ayrı subdomain, ayrı bearer token) olarak çalışır. Dedike,ayrıcalıksız entraidmcp sistem kullanıcısı altında.

Kimlik Doğrulama

Microsoft Entra ID, Doğuş Grubu tenant'ı (dogusgrubu.onmicrosoft.com).Ayrı bir Entra ID App Registration (EntraIDMCP), OAuth2client_credentials akışı, 4 application permission (hepsi admin consentalmış):

İzin Neden
AuditLog.Read.All Sign-in (oturum açma) logları
Directory.Read.All Başka bir kullanıcının grup üyeliği (/users/{id}/memberOf) — Microsoft'un app-only erişimde sunduğu en dar seçenek budur, daha kısıtlı bir alternatif yok
User.Read.All Temel kullanıcı profili + assignedLicenses alanı
LicenseAssignment.Read.All /subscribedSkus (tenant lisans kataloğu)

Not — lisans bilgisi neden /subscribedSkus üzerinden geliyor:/users/{id}/licenseDetails uç noktası Microsoft Graph'ta uygulama(app-only) izniyle hiç desteklenmiyor, yalnızca delegated (kullanıcıoturumu) erişimle çalışıyor. Bu yüzden get_user_licenses tool'u, tenant'ınSKU kataloğunu (/subscribedSkus, 1 saat önbelleklenir) kullanıcınınassignedLicenses alanıyla eşleştirerek çalışıyor — servis planı bazındaayrıntı yok, yalnızca üst seviye SKU adı (örn. ENTERPRISEPREMIUM).

Araçlar

Tool Açıklama
list_signins_by_user Kullanıcının sign-in geçmişi — başarı/hata, Conditional Access sonucu, cihaz/uygulama, IP + şehir/ülke (yalnızca şehir/ülke düzeyinde — geoCoordinates hiç döndürülmez)
get_user_groups Kullanıcının doğrudan grup/rol üyelikleri (transitif değil)
get_user_licenses Kullanıcıya atanmış Microsoft 365 lisansları (üst seviye SKU adı)

Gizlilik / Kapsam Notları

  • Sign-in loglarında hassas geoCoordinates (enlem/boylam) alanı bilinçliolarak hiç döndürülmez — yalnızca şehir/ülke düzeyi tutulur.
  • Risk alanları (riskLevelDuringSignIn, riskDetail) yalnızca Entra ID P2lisansında dolu gelir; P1/Free'de Graph "hidden" döndürür.
  • Yazma/aksiyon işlemi (parola sıfırlama, hesap kilitleme, grup üyeliğideğiştirme, sign-in riskli/güvenli işaretleme vb.) hiç içermez.

MCP Server · Populars

MCP Server · New

    DROOdotFOO

    Raxol

    Write one app, render it to a terminal, a browser, or as agent tools. The terminal for your Gundam.

    Community DROOdotFOO
    morluto

    REA: Reverse Engineer Anything

    Reverse engineer anything with agents, from app behavior down to native binaries.

    Community morluto
    nedlir

    MCPwner

    Model Context Protocol server for autonomous vulnerability discovery

    Community nedlir
    codegraph-ai

    CodeGraph

    CodeGraph builds a semantic graph of your codebase — functions, classes, imports, call chains — and exposes it through 42 MCP tools, 38 languages, a VS Code extension, and a persistent memory layer. AI agents get structured code understanding instead of grepping through files.

    Community codegraph-ai
    getArbor-dev

    Arbor

    Graph-native code intelligence that replaces embedding-based RAG with deterministic program understanding.

    Community getArbor-dev