Skip to main content
MCP server CX Codex

Microsoft 365 Calendar — Claude Code MCP server: events and meetings

Brings the Outlook calendar from Microsoft 365 into your coding agent: read events, create and edit meetings, find free slots. Handy when you plan the day from the chat window.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env MS_CLIENT_ID=<MS_CLIENT_ID> --env MS_CONFIG_DIR=<MS_CONFIG_DIR> --env MS_ACCOUNT_EMAIL=<MS_ACCOUNT_EMAIL> --env MS_MCP_PACKAGE_ID=<MS_MCP_PACKAGE_ID> --env MICROSOFT_REQUEST_TIMEOUT_MS=<MICROSOFT_REQUEST_TIMEOUT_MS> --transport stdio microsoft-calendar -- npx -y @mindstone/mcp-server-microsoft-calendar
Open on GitHub

What Microsoft 365 Calendar does

The server talks to Microsoft Graph and exposes 10 tools covering events, calendars, free/busy and meeting-time suggestions. Ask what is on today, book or cancel a meeting, reply to an invite, or check when you and a colleague are both open.

It does not run the OAuth flow itself. A host application signs in to Microsoft and writes token files to ${MS_CONFIG_DIR}/credentials/${sanitised-email}.token.json along with an ${MS_CONFIG_DIR}/accounts.json index; the server only reads them. You need Node.js 20+ and npm, plus MS_CLIENT_ID (the Microsoft Entra app client ID) and MS_CONFIG_DIR. Leave MS_CLIENT_ID empty and sign-in never completes.

Calendar shares its OAuth surface with the sibling @mindstone/mcp-server-microsoft-mail server, so one sign-in covers mail and calendar together. Graph request timeouts are set with MICROSOFT_REQUEST_TIMEOUT_MS, up to 300000 ms. On cloud surfaces MICROSOFT_DISABLE_REFRESH=1 makes tools fail closed with a structured auth_required response, letting the host drive reauth.

What it helps with

  • check what is booked for today and tomorrow
  • create a meeting with attendees and a set length
  • find a slot where two people are both free
  • accept or decline a meeting invite
  • check availability before booking a call

Example prompts for the agent

  • What's on my calendar this afternoon?
  • Find a 30-minute slot tomorrow when Alice and I are both free
  • Create a meeting with the team at 10am and invite everyone

How to install Microsoft 365 Calendar

Platform CLI

claude mcp add --env MS_CLIENT_ID=<MS_CLIENT_ID> --env MS_CONFIG_DIR=<MS_CONFIG_DIR> --env MS_ACCOUNT_EMAIL=<MS_ACCOUNT_EMAIL> --env MS_MCP_PACKAGE_ID=<MS_MCP_PACKAGE_ID> --env MICROSOFT_REQUEST_TIMEOUT_MS=<MICROSOFT_REQUEST_TIMEOUT_MS> --transport stdio microsoft-calendar -- npx -y @mindstone/mcp-server-microsoft-calendar

Replace <…> with your own values

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about Microsoft 365 Calendar

How do I install Microsoft 365 Calendar in Claude Code?

Run `claude mcp add mcp-server-microsoft-calendar -e MS_CLIENT_ID=<MS_CLIENT_ID> -e MS_CONFIG_DIR=<MS_CONFIG_DIR> -- npx -y @mindstone/mcp-server-microsoft-calendar`. Replace the placeholders with your client ID and config directory path.

What does Microsoft 365 Calendar do?

It gives an agent access to the Outlook calendar through Microsoft Graph: list and read events, create, update, cancel, respond to invites, check free/busy and suggest meeting times.

Why doesn't the server start the Microsoft sign-in itself?

The host application owns the OAuth flow and stores tokens under ${MS_CONFIG_DIR}; the server reads them. Without a host that has already authenticated, the tools have nothing to work with.

Similar MCP servers

All MCP servers for Notes, tasks and projects →

From the same set13

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor