# Microsoft 365 MCP Server

This document outlines the available tools for interacting with Microsoft 365 through the Graph API, organized by functionality and account type.

# Overview

The Microsoft 365 MCP Server enables secure, context-aware integration between AI applications and Microsoft 365 services through the Model Context Protocol (MCP). It provides controlled access to data and workflows across Outlook, Teams, SharePoint, OneDrive, and other Microsoft 365 apps, ensuring that AI-driven interactions respect user permissions, compliance policies, and enterprise governance.

When integrated with platforms like Phoeniqs Chat, the MCP Server allows users to perform tasks such as:

  • Accessing emails, calendars, and meetings
  • Managing Teams channels and messages
  • Retrieving and updating SharePoint or OneDrive content
  • Streamlining workflows with AI-assisted summaries, notifications, and actions

This enables seamless productivity, improves collaboration, and delivers actionable insights directly within the chat interface, while maintaining enterprise security and traceability.

# Best Pratices

# Select only the needed tools

Please refer to

Agent Best Practices
../../agents-best-pratices/
for the general instructions.

For example, for an email agent with only read access, select the following tools:

  • list-mail-messages - List email messages
  • list-mail-folders - List mail folders
  • list-mail-folder-messages - List messages in a specific folder
  • get-mail-message - Get a specific email message

# Personal Account Tools (Available by default)

# 📧 Email (Outlook)

  • list-mail-messages - List email messages
  • list-mail-folders - List mail folders
  • list-mail-folder-messages - List messages in a specific folder
  • get-mail-message - Get a specific email message
  • send-mail - Send an email
  • delete-mail-message - Delete an email message
  • create-draft-email - Create a draft email
  • move-mail-message - Move an email to another folder

# 📅 Calendar

  • list-calendars - List calendars
  • list-calendar-events - List calendar events
  • get-calendar-event - Get a specific calendar event
  • get-calendar-view - Get calendar view for a date range
  • create-calendar-event - Create a new calendar event
  • update-calendar-event - Update an existing calendar event
  • delete-calendar-event - Delete a calendar event

# 📁 OneDrive Files

  • list-drives - List OneDrive drives
  • get-drive-root-item - Get root folder of a drive
  • list-folder-files - List files in a folder
  • download-onedrive-file-content - Download file content
  • upload-file-content - Upload file content
  • upload-new-file - Upload a new file
  • delete-onedrive-file - Delete a file

# 📊 Excel Operations

  • list-excel-worksheets - List worksheets in an Excel file
  • get-excel-range - Get data from a specific range
  • create-excel-chart - Create a chart
  • format-excel-range - Format a range
  • sort-excel-range - Sort data in a range

# 📝 OneNote

  • list-onenote-notebooks - List OneNote notebooks
  • list-onenote-notebook-sections - List sections in a notebook
  • list-onenote-section-pages - List pages in a section
  • get-onenote-page-content - Get page content
  • create-onenote-page - Create a new page

# To Do Tasks

  • list-todo-task-lists - List task lists
  • list-todo-tasks - List tasks in a list
  • get-todo-task - Get a specific task
  • create-todo-task - Create a new task
  • update-todo-task - Update an existing task
  • delete-todo-task - Delete a task

# 📋 Planner

  • list-planner-tasks - List planner tasks
  • get-planner-plan - Get a planner plan
  • list-plan-tasks - List tasks in a plan
  • get-planner-task - Get a specific task
  • create-planner-task - Create a new planner task

# 👥 Contacts

  • list-outlook-contacts - List Outlook contacts
  • get-outlook-contact - Get a specific contact
  • create-outlook-contact - Create a new contact
  • update-outlook-contact - Update an existing contact
  • delete-outlook-contact - Delete a contact

# 👤 User Profile

  • get-current-user - Get current user information

# 🔍 Search

  • search-query - Perform a search query

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

# 💬 Teams & Chats

  • list-chats - List chats
  • get-chat - Get a specific chat
  • list-chat-messages - List messages in a chat
  • get-chat-message - Get a specific chat message
  • send-chat-message - Send a chat message
  • list-chat-message-replies - List replies to a message
  • reply-to-chat-message - Reply to a chat message
  • list-joined-teams - List joined teams
  • get-team - Get a specific team
  • list-team-channels - List channels in a team
  • get-team-channel - Get a specific channel
  • list-channel-messages - List messages in a channel
  • get-channel-message - Get a specific channel message
  • send-channel-message - Send a channel message
  • list-team-members - List team members

# 🌐 SharePoint Sites

  • search-sharepoint-sites - Search for SharePoint sites
  • get-sharepoint-site - Get a SharePoint site
  • get-sharepoint-site-by-path - Get site by path
  • list-sharepoint-site-drives - List drives in a site
  • get-sharepoint-site-drive-by-id - Get a specific drive
  • list-sharepoint-site-items - List items in a site
  • get-sharepoint-site-item - Get a specific site item
  • list-sharepoint-site-lists - Lists lists in a site
  • get-sharepoint-site-list - Get a specific list
  • list-sharepoint-site-list-items - List items in a list
  • get-sharepoint-site-list-item - Get a specific list item
  • get-sharepoint-sites-delta - Get site changes (delta)

# 📬 Shared Mailboxes

  • list-shared-mailbox-messages - List messages in shared mailbox
  • list-shared-mailbox-folder-messages - List messages in shared mailbox folder
  • get-shared-mailbox-message - Get a specific shared mailbox message
  • send-shared-mailbox-mail - Send mail from shared mailbox

# 👥 User Management

  • list-users - List organization users

# Usage Notes

# Account Types

  • Personal Account Tools: Available by default for personal Microsoft accounts
  • Organization Account Tools: Require the --org-mode flag and appropriate permissions

# Permissions

Ensure your application has the necessary Graph API permissions configured in Azure AD for the tools you intend to use. Different tools may require different permission scopes.

# Authentication

All tools require proper authentication with Microsoft Graph API using OAuth 2.0.

NOTE Please note that the Microsoft MCP 365 connection within dedicated customer chat applications may not function as expected and may require assistance from the Phoeniqs Admin Team. If you encounter any issues, please submit a service request via via clicking the link here Alternatively, you can contact the team at operations@phoeniqs.ch to request support.