ry-ops/microsoft-graph-mcp-server
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.
[!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
-
Microsoft Azure App Registration:
- An Azure AD application with the following API permissions:
User.ReadWrite.AllDirectory.ReadWrite.AllGroup.ReadWrite.AllOrganization.Read.All
- Admin consent granted for these permissions
- A client secret generated
- An Azure AD application with the following API permissions:
-
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:
- Go to Azure Portal
- Navigate to Azure Active Directory → App registrations
- Select your app registration
- Tenant ID: Found in the Overview page
- Client ID: Application (client) ID in the Overview page
- 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