Microsoft 365
Wraps the Microsoft Graph API — OneDrive, Outlook, Calendar, and more (~320 tools). Your org registers an Entra ID app once; each member or agent then connects their own Microsoft account, and every call runs with that account’s Graph token.1. Register an Entra ID app
In the Microsoft Entra admin center → App registrations → New registration:- Name — e.g.
zwrm MCP connector. - Supported account types — Accounts in this organizational directory only (single tenant).
- Redirect URI — platform Web, URI
https://mcp.zwrm.io/oauth/callback. - From the Overview page, note the Application (client) ID and Directory (tenant) ID.
- Certificates & secrets → New client secret — copy the secret value (shown once) and note its expiry.
- API permissions → Microsoft Graph → Delegated permissions. Add what you want to expose:
Grant admin consent if your tenant requires it.
2. Register the upstream
3. Connect accounts
- Members —
zwrm mcp connect ms365, or the Connect button on the connection row. - Agents — authorize the agent from its agent page, or bind a pre-consented grant on the server attachment for headless runs. Prefer a purpose-scoped service account: a bound grant exposes that account’s entire reach to every caller.
4. Curate the tool surface
The upstream ships ~320 tools. An “all tools” attachment automatically exposes only those covered by the scopes you configured —User.Read Files.ReadWrite offline_access yields roughly the 50 OneDrive and file tools, and the rest are hidden because they’d only fail with a Graph permission error.
For a tighter surface, compose a virtual server selecting exactly what you need. Explicit selections are always exposed, even beyond the configured scopes.
Limits
- Work and school accounts only. Personal Microsoft accounts (outlook.com) need the
consumersauthority and currently break on refresh. - Whether an exposed tool actually works still depends on the connected account’s consent and your tenant policy — a call outside granted scopes fails with a Graph permission error, not a gateway error.
- The shared instance sees your users’ Graph tokens in flight as it forwards them to Microsoft. If you need hard isolation, run your own instance and point an upstream at it; the rest of the setup is identical.