Microsoft 365 MCP Server
Reads and changes Outlook mail, calendars, OneDrive, Teams, SharePoint and more through Microsoft Graph
Microsoft's own MCP server for querying and changing Microsoft 365 mail, meetings, files and Teams
Official · Microsoft C# Remote (hosted) · Streamable HTTPLocal · stdio CommunicationProductivityFiles and storage
84 popularity score ★ 1.1k ↓ 11k/wk
Opens the app, which asks before it adds the server.
Its sign-in lets no client register itself: a client signs in only with an app (a client ID) registered with its maker first, so these snippets work only after that step.
claude mcp add --transport http work-iq https://workiq.svc.cloud.microsoft/mcphttps://workiq.svc.cloud.microsoft/mcphttps://workiq.svc.cloud.microsoft/mcp{
"mcpServers": {
"work-iq": {
"url": "https://workiq.svc.cloud.microsoft/mcp"
}
}
}{
"servers": {
"work-iq": {
"type": "http",
"url": "https://workiq.svc.cloud.microsoft/mcp"
}
}
}[mcp_servers.work-iq]
url = "https://workiq.svc.cloud.microsoft/mcp"gemini mcp add --scope user --transport http work-iq https://workiq.svc.cloud.microsoft/mcpOpens the app, which asks before it adds the server.
claude mcp add work-iq -- npx -y @microsoft/workiq@latest mcp{
"mcpServers": {
"work-iq": {
"command": "npx",
"args": [
"-y",
"@microsoft/workiq@latest",
"mcp"
]
}
}
}{
"mcpServers": {
"work-iq": {
"command": "npx",
"args": [
"-y",
"@microsoft/workiq@latest",
"mcp"
]
}
}
}{
"servers": {
"work-iq": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@microsoft/workiq@latest",
"mcp"
]
}
}
}[mcp_servers.work-iq]
command = "npx"
args = ["-y", "@microsoft/workiq@latest", "mcp"]gemini mcp add --scope user work-iq npx -- -y @microsoft/workiq@latest mcpWork IQ is Microsoft's command-line tool and MCP server for reaching a signed-in user's Microsoft 365 data through the Microsoft 365 Copilot Chat API. Started with `workiq mcp`, it runs over stdio and offers an `ask` tool for questions in plain language (who said what about a proposal, what is on the calendar tomorrow, which documents were edited recently), backed by Copilot's search across email, meetings, documents, Teams messages and people.
Since 1.0.0 the package also carries entity tools for direct, structured reads and writes: fetching items, discovering schemas and paths, and creating, updating, deleting or acting on Microsoft 365 entities. Its changelog states these entity tools do not run locally but pass each request on to Microsoft's remote Work IQ MCP server. Microsoft also serves the same tool surface from a hosted endpoint, `https://workiq.svc.cloud.microsoft/mcp`, which is what its GitHub Copilot CLI plugin now connects to instead of a local process.
A fact the main README leaves out: the admin guide states every user needs a Microsoft 365 Copilot licence on top of a base Microsoft 365 plan, and the tenant must consent to delegated Graph permissions including `Mail.Read`, `Chat.Read`, `ChannelMessage.Read.All`, `Sites.Read.All` and `OnlineMeetingTranscript.Read.All`. The project is marked Public Preview in its README (features and APIs may change), and the npm package is under a Microsoft EULA rather than an open-source licence.
| To run it yourself | Node.js 18+ |
|---|
Node.js 18 or later for npx. Runs on Windows, Linux and macOS (x64 and arm64). A Microsoft Entra work account with a Microsoft 365 Copilot licence and a base Microsoft 365 plan (E3, E5, Business Premium or similar). A tenant administrator must grant admin consent to the Work IQ app's delegated permissions before first use.
Marked Public Preview: features and APIs may change. Answers and entity operations go through Microsoft's cloud services, so it does nothing without network access and a licensed, consented tenant. Signs in to the `common` tenant by default; another tenant needs the `-t`/`--tenant-id` option. On the hosted surface, `fetch_blob` returns files up to 4 MB, and `upload_blob` is documented but not yet released. The `get_debug_link` confirmation changes listed under Unreleased in the changelog are not in 1.0.1.
Suits people in an organisation that already pays for Microsoft 365 Copilot and wants an assistant to search and act on their own mail, calendar, files and Teams chats, with Microsoft as the publisher. Those without Copilot licences, or without an admin willing to grant tenant-wide consent, cannot use it at all. Clients that speak remote MCP with OAuth can skip the local process and use the hosted endpoint. Because entity tools can send mail, accept meetings and delete items, it is a poor fit where an assistant should only read.
askfetchget-schemasearch-pathscreateupdatedeletedo-actioncall-function