A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API
Ms 365 mcp server connects Ms 365 to AI assistants that speak the Model Context Protocol. A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API.
A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Microsoft Office services through the Graph API.
Once connected, the assistant can call this tool directly:
Authentication — The Authentication tool exposed by this serverThe server is distributed via npm as @softeria/ms-365-mcp-server, so most clients can run it without a manual build step. Add it to your MCP client's configuration and restart the client to pick it up — the copy-paste configs for Claude Desktop, Claude Code and Cursor are on this page.
Before the server will start you need to supply 6 environment variables: MS365_MCP_CLIENT_ID, MS365_MCP_CLIENT_SECRET, OPENAI_API_KEY, MS365_MCP_TENANT_ID, MS365_MCP_OAUTH_TOKEN, MS365_MCP_EXPECTED_HOME_ACCOUNT_ID. Keep credentials in your client's env block or a secrets manager rather than committing them.
Developer-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. Ms 365 sits in that group, and the shape of its toolset — Authentication — tells you what it is really for. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| Authentication | The Authentication tool exposed by this server. |
Via Claude Desktop configuration:
```json
{
"mcpServers": {
"ms365": {
"command": "npx",
"args": ["-y", "@softeria/ms-365-mcp-server", "--toon"]
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| MS365_MCP_CLIENT_ID | Configuration value read at startup. | Optional |
| MS365_MCP_CLIENT_SECRET | Credential the server authenticates with. | Yes |
| OPENAI_API_KEY | Credential the server authenticates with. | Yes |
| MS365_MCP_TENANT_ID | Configuration value read at startup. | Optional |
| MS365_MCP_OAUTH_TOKEN | Credential the server authenticates with. | Yes |
| MS365_MCP_EXPECTED_HOME_ACCOUNT_ID | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.