entraid-mcp

entraid-mcp

Read-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.

Category
Visit Server

README

Entra ID MCP Sunucusu

Microsoft Entra ID (Azure AD) hakkında salt-okunur bir Model Context Protocol sunucusu. ArubaCentralMCP / JamfMCP / DefenderCloudAppsMCP / TeamsCallsMCP / IntuneMCP ile aynı mimari desenle 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, ArubaMCP resource group) üzerinde altıncı bir systemd servisi (entraid-mcp.service, port 8425) ve Caddy'de altıncı bir site block'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), OAuth2 client_credentials akışı, 4 application permission (hepsi admin consent almış):

İ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'ın SKU kataloğunu (/subscribedSkus, 1 saat önbelleklenir) kullanıcının assignedLicenses alanıyla eşleştirerek çalışıyor — servis planı bazında ayrı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çli olarak hiç döndürülmez — yalnızca şehir/ülke düzeyi tutulur.
  • Risk alanları (riskLevelDuringSignIn, riskDetail) yalnızca Entra ID P2 lisansında dolu gelir; P1/Free'de Graph "hidden" döndürür.
  • Yazma/aksiyon işlemi (parola sıfırlama, hesap kilitleme, grup üyeliği değiştirme, sign-in riskli/güvenli işaretleme vb.) hiç içermez.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured