Microsoft 365 MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add ms-365-mcp-server -- npx -y @softeria/ms-365-mcp-server
README.md

Interact with Microsoft 365 and Office services through the Graph API.

ms-365-mcp-server

Microsoft 365 MCP Server

A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Microsoft Office services through the Graph API.

Supported Clouds

This server supports multiple Microsoft cloud environments:

Cloud Description Auth Endpoint Graph API Endpoint
Global (default) International Microsoft 365 login.microsoftonline.com graph.microsoft.com
China (21Vianet) Microsoft 365 operated by 21Vianet login.chinacloudapi.cn microsoftgraph.chinacloudapi.cn

Prerequisites

  • Node.js >= 20 (recommended)
  • Node.js 14+ may work with dependency warnings

Features

  • Authentication via Microsoft Authentication Library (MSAL)
  • Comprehensive Microsoft 365 service integration
  • Read-only mode support for safe operations
  • Tool filtering for granular access control

Output Format: JSON vs TOON

The server supports two output formats that can be configured globally:

JSON Format (Default)

Standard JSON output with pretty-printing:

{
  "value": [
    {
      "id": "1",
      "displayName": "Alice Johnson",
      "mail": "alice@example.com",
      "jobTitle": "Software Engineer"
    }
  ]
}

(experimental) TOON Format

Token-Oriented Object Notation for efficient LLM token usage:

value[1]{id,displayName,mail,jobTitle}:
  "1",Alice Johnson,alice@example.com,Software Engineer

Benefits:

  • 30-60% fewer tokens vs JSON
  • Best for uniform array data (lists of emails, calendar events, files, etc.)
  • Ideal for cost-sensitive applications at scale

Usage: (experimental) Enable TOON format globally:

Via CLI flag:

npx @softeria/ms-365-mcp-server --toon

Via Claude Desktop configuration:

{
  "mcpServers": {
    "ms365": {
      "command": "npx",
      "args": ["-y", "@softeria/ms-365-mcp-server", "--toon"]
    }
  }
}

Via environment variable:

MS365_MCP_OUTPUT_FORMAT=toon npx @softeria/ms-365-mcp-server

Supported Services & Tools

Personal Account Tools (Available by default)

Email (Outlook)
list-mail-messages, list-mail-folders, list-mail-folder-messages, get-mail-message, send-mail, delete-mail-message, create-draft-email, move-mail-message

Calendar
list-calendars, list-calendar-events, get-calendar-event, get-calendar-view, create-calendar-event, update-calendar-event, delete-calendar-event

OneDrive Files
list-drives, get-drive-root-item, list-folder-files, download-onedrive-file-content, upload-file-content, upload-new-file, delete-onedrive-file

Excel Operations
list-excel-worksheets, get-excel-range, create-excel-chart, format-excel-range, sort-excel-range

OneNote
list-onenote-notebooks, list-onenote-notebook-sections, list-onenote-section-pages, get-onenote-page-content, create-onenote-page

To Do Tasks
list-todo-task-lists, list-todo-tasks, get-todo-task, create-todo-task, update-todo-task, delete-todo-task

Planner
list-planner-tasks, get-planner-plan, list-plan-tasks, get-planner-task, create-planner-task

Contacts
list-outlook-contacts, get-outlook-contact, create-outlook-contact, update-outlook-contact, delete-outlook-contact

User Profile
get-current-user

Search
search-query

Organization Account Tools (Requires --org-mode flag)

Teams & Chats
list-chats, get-chat, list-chat-messages, get-chat-message, send-chat-message, list-chat-message-replies, reply-to-chat-message, list-joined-teams, get-team, list-team-channels, get-team-channel, list-channel-messages, get-channel-message, send-channel-message, list-team-members

SharePoint Sites
search-sharepoint-sites, get-sharepoint-site, get-sharepoint-site-by-path, list-sharepoint-site-drives, get-sharepoint-site-drive-by-id, list-sharepoint-site-items, get-sharepoint-site-item, list-sharepoint-site-lists, get-sharepoint-site-list, list-sharepoint-site-list-items, get-sharepoint-site-list-item, get-sharepoint-sites-delta

Shared Mailboxes
list-shared-mailbox-messages, list-shared-mailbox-folder-messages, get-shared-mailbox-message, send-shared-mailbox-mail

User Management
list-us

Tools (5)

send-mailSends an email message via Outlook.
list-mail-messagesLists email messages from the user's Outlook inbox.
list-folder-filesLists files within a specific OneDrive folder.
get-current-userRetrieves the profile information of the currently authenticated user.
list-joined-teamsLists all Microsoft Teams the user is a member of.

Environment Variables

MS365_MCP_OUTPUT_FORMATSets the output format to json or toon.

Configuration

claude_desktop_config.json
{"mcpServers": {"ms365": {"command": "npx", "args": ["-y", "@softeria/ms-365-mcp-server", "--toon"]}}}

Try it

List my unread emails from the last 24 hours.
Find the latest project proposal document in my OneDrive.
Create a new calendar event for a team meeting tomorrow at 10 AM.
Get the latest messages from the general channel in my team.
Search for files related to the Q4 budget in SharePoint.

Frequently Asked Questions

What are the key features of Microsoft 365 MCP Server?

Authentication via Microsoft Authentication Library (MSAL). Comprehensive Microsoft 365 service integration including Outlook, OneDrive, and Teams. Support for both Global and China (21Vianet) cloud environments. Read-only mode support for safe operations. Experimental TOON format for efficient LLM token usage.

What can I use Microsoft 365 MCP Server for?

Automating email summaries and organization for busy professionals.. Searching and retrieving documents directly from OneDrive or SharePoint via natural language.. Managing calendar events and scheduling meetings through AI assistance.. Interacting with Microsoft Teams chats and channels to stay updated on project discussions..

How do I install Microsoft 365 MCP Server?

Install Microsoft 365 MCP Server by running: npx @softeria/ms-365-mcp-server

What MCP clients work with Microsoft 365 MCP Server?

Microsoft 365 MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Microsoft 365 MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare