microsoft-graph-mcp-server

ry-ops/microsoft-graph-mcp-server

3.3

If you are the rightful owner of microsoft-graph-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Microsoft Graph API MCP Server integrates Microsoft Graph API with Claude, enabling management of Microsoft 365 users, licenses, and groups.

Tools
7
Resources
0
Prompts
0

[!Version](https://github.com/ry-ops/microsoft-graph-mcp-server/releases) [!License](LICENSE) [!Python](https://python.org) [!MCP](https://modelcontextprotocol.io)

Microsoft Graph API MCP Server

A Model Context Protocol (MCP) server that integrates Microsoft Graph API with Claude, enabling management of Microsoft 365 users, licenses, and groups.

Features

  • User Management: Create new Microsoft 365 users
  • License Management: Assign licenses to users with optional service plan customization
  • Group Management: Add users to groups
  • Query Operations: List available licenses, groups, and search for users
  • A2A Protocol Support: Agent-to-Agent communication for automated M365 administration

Prerequisites

  1. Microsoft Azure App Registration:

    • An Azure AD application with the following API permissions:
      • User.ReadWrite.All
      • Directory.ReadWrite.All
      • Group.ReadWrite.All
      • Organization.Read.All
    • Admin consent granted for these permissions
    • A client secret generated
  2. Python 3.10+ and uv package manager

Setup

1. Install uv (if not already installed)

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

2. Clone and Setup Project

# Create project directory
mkdir microsoft-graph-mcp
cd microsoft-graph-mcp

# Copy the server files
# (copy mcp_graph_server.py and pyproject.toml to this directory)

# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate  # On Windows: .venv\Scriptsctivate
uv pip install -e .

3. Configure Environment Variables

Create a .env file in the project root:

MICROSOFT_TENANT_ID=your-tenant-id
MICROSOFT_CLIENT_ID=your-client-id
MICROSOFT_CLIENT_SECRET=your-client-secret

To find these values:

  1. Go to Azure Portal
  2. Navigate to Azure Active Directory → App registrations
  3. Select your app registration
  4. Tenant ID: Found in the Overview page
  5. Client ID: Application (client) ID in the Overview page
  6. Client Secret: Create one in Certificates & secrets

4. Configure Claude Desktop

Add the server configuration to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: `%APPDATA%\Claude