This lean MCP server provides direct Microsoft Graph API access with multi-tenant account management, designed to minimize context bloat while enabling comprehensive Microsoft 365 integration.
Core Capabilities:
Multi-tenant authentication - Log in to multiple Microsoft 365 accounts simultaneously using device code flow, ideal for headless/SSH environments
Universal Graph API access - Execute any Graph API request through a single
graph-requesttool supporting all HTTP methods (GET, POST, PUT, PATCH, DELETE), custom headers, and request bodiesCross-tenant querying - Target specific accounts via
accountIdparameter to query different tenants in the same conversation without switchingFull Microsoft 365 coverage - Access all services including Outlook, Calendar, OneDrive, Users, Groups, Teams, and SharePoint
Advanced OData queries - Use
$select,$filter,$top,$orderby,$expand,$count, and$searchfor precise data retrievalAPI version control - Choose between stable (v1.0) and preview (beta) endpoints
Account lifecycle management - List, select, verify status, and remove cached accounts
Context-efficient design - Only 7 tools (~1KB context) replace 30-40 specialized tools (~12KB), reducing AI model overhead
PnP CLI complement - Works alongside PnP CLI for specialized SharePoint, Teams, and Power Platform operations
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., "@ForIT Microsoft Graphshow my upcoming calendar events for this week"
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.
M365 MCP Suite
Unified Microsoft 365 MCP (Model Context Protocol) servers for AI assistants.
Components
MCP | Purpose | Type |
registry | Central connection management | Python |
graph | Microsoft Graph API (mail, calendar, OneDrive) | TypeScript |
pnp | CLI for Microsoft 365 (SharePoint, Teams, Planner) | TypeScript |
pwsh-manager | PowerShell sessions (EXO, Azure, Teams, Power Platform) | Python/Docker |
All MCPs share a common connection registry at ~/.m365-connections.json.
Quick Start
1. Install dependencies
2. Register with MCPJungle
3. Add a connection
Use the registry MCP or edit ~/.m365-connections.json:
App Registration
The PnP multi-tenant app was retired September 9, 2024. You must create your own Azure AD app registration.
See docs/M365-CLI-SETUP.md for instructions.
Architecture
License
MIT