Microsoft MCP Server

Powerful MCP server for Microsoft Graph API - a complete AI assistant toolkit for Outlook, Calendar, OneDrive, and Contacts.

Local serverstdioPython

What is the Microsoft MCP MCP server?

Connect Microsoft MCP to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Powerful MCP server for Microsoft Graph API - a complete AI assistant toolkit for Outlook, Calendar, OneDrive, and Contacts. The microsoft mcp mcp server is what makes that connection.

What the server does

  • Email Management — Read, send, reply, manage attachments, organize folders
  • Calendar Intelligence — Create, update, check availability, respond to invitations
  • OneDrive Files — Upload, download, browse with pagination
  • Contacts — Search and list contacts from your address book
  • Multi-Account — Support for multiple Microsoft accounts (personal, work, school)
  • Unified Search — Search across emails, files, events, and people

Credentials and setup notes

Configuration is passed through the environment: MICROSOFT_MCP_CLIENT_ID, CLIENT_ID, MICROSOFT_MCP_TENANT_ID. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Installation

Installation goes through your MCP client rather than a global install: point it at ruff on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

Where it fits

This sits in the planning and project tracking group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. It is maintained by elyxlz; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Microsoft MCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

How to install the Microsoft MCP MCP server

{
  "mcpServers": {
    "microsoft": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/elyxlz/microsoft-mcp.git", "microsoft-mcp"],
      "env": {
        "MICROSOFT_MCP_CLIENT_ID": "your-app-id-here"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
MICROSOFT_MCP_CLIENT_IDConfiguration value read at startup.Optional
CLIENT_IDConfiguration value read at startup.Optional
MICROSOFT_MCP_TENANT_IDConfiguration value read at startup.Optional

Frequently asked questions

It connects Microsoft MCP to MCP-compatible AI assistants such as Claude and Cursor. Instead of copying data back and forth by hand, the assistant works with Microsoft MCP directly.