Built by Metorial, the integration platform for agentic AI.

Learn More

microsoft-365

Microsoft 365

    Server Summary

    • Manage Microsoft 365

    • Automate email workflows

    • Schedule calendar events

    • Access cloud files

    • Coordinate team communication

Microsoft 365 MCP Server

A comprehensive Model Context Protocol (MCP) server that provides seamless integration with Microsoft 365 services. This server enables AI assistants and applications to interact with Outlook, Calendar, OneDrive, SharePoint, OneNote, Microsoft To Do, and Teams through a unified interface. With over 45 specialized tools, it allows you to manage emails, schedule meetings, organize files, collaborate on documents, and communicate with your team—all through natural language interactions.

Overview

The Microsoft 365 MCP Server acts as a bridge between AI applications and the Microsoft 365 ecosystem, leveraging Microsoft Graph API to provide comprehensive access to your organization's productivity tools. Whether you need to triage your inbox, schedule a team meeting, find a document in SharePoint, or send a message in Teams, this server provides the capabilities to accomplish these tasks programmatically.

This server is designed for users who want to enhance their productivity workflows by integrating AI-powered automation with their existing Microsoft 365 environment. It's particularly valuable for professionals who manage multiple communication channels, coordinate across teams, and need quick access to organizational information.

Features and Capabilities

User Management

Access and search organizational user profiles to find colleagues, retrieve contact information, and understand your organization's directory structure. These capabilities make it easy to discover who's who in your organization and retrieve accurate contact details.

Email Management

Comprehensive email functionality including reading, searching, composing, and organizing messages. You can list emails from different folders, apply filters to find specific messages, send new emails with various options (CC, BCC, importance levels), create drafts for later review, reply to existing messages, move emails between folders, and delete unwanted messages. The email tools support HTML formatting and provide fine-grained control over message properties.

Calendar and Meeting Management

Full calendar integration allowing you to view your schedule, create meetings, update events, and manage invitations. You can list events within specific time ranges, create detailed calendar entries with attendees and online meeting options, respond to meeting invitations (accept, tentatively accept, or decline), and manage your time zone preferences. This makes it effortless to coordinate schedules and maintain your calendar without switching between applications.

Contact Management

Organize and maintain your professional network with contact management tools. You can list all contacts, retrieve specific contact details, create new contact entries with comprehensive information including multiple email addresses and phone numbers, and remove outdated contacts from your address book.

OneDrive File Management

Complete file and folder management capabilities for OneDrive. Browse your file structure, search for documents across your drive, create new folders to organize content, retrieve detailed metadata about files and folders, delete items you no longer need, and generate sharing links with configurable permissions. These tools make it simple to manage your cloud storage and collaborate on files.

SharePoint Integration

Access your organization's SharePoint sites to collaborate on team content. You can list all sites you have access to, retrieve detailed information about specific sites, browse lists and libraries within sites, and view site pages. This integration helps you discover and access shared organizational resources.

OneNote Integration

Work with your digital notebooks through comprehensive OneNote support. Browse your notebook hierarchy, list sections within notebooks, view pages within sections, and retrieve the full HTML content of specific pages. This allows you to reference your notes and capture information without leaving your workflow.

Microsoft To Do Task Management

Manage your tasks and to-do lists programmatically. You can view all your task lists, list tasks within specific lists with filtering options, create new tasks with due dates and reminders, and update existing tasks to track progress and modify details. This integration helps you stay organized and manage your workload effectively.

Microsoft Teams Communication

Interact with your Teams workspace to stay connected with colleagues. List all teams you're a member of, browse channels within teams, read channel messages to catch up on conversations, and send new messages to channels. This enables seamless communication and collaboration with your team.

Tools

User Profile Tools

get_my_profile - Get the current user's profile information. This tool retrieves your own profile details from Microsoft 365, including your display name, email, job title, and other profile attributes.

get_user - Get a specific user's profile information.

  • userIdOrPrincipalName (required, string): User ID or user principal name (email)

search_users - Search for users in the organization.

  • searchTerm (required, string): Search term (name or email)
  • top (optional, number): Number of results to return (default: 25)

Email Tools

list_messages - List email messages from mailbox.

  • folderId (optional, string): Folder ID or well-known name (inbox, sentitems, drafts)
  • top (optional, number): Number of messages to return (default: 25)
  • filter (optional, string): OData filter (e.g., "from/emailAddress/address eq '[email protected]'")
  • search (optional, string): Search query
  • orderBy (optional, string): Order by field (default: receivedDateTime desc)

get_message - Get a specific email message.

  • messageId (required, string): Message ID

send_email - Send an email message.

  • to (required, array of strings): Recipient email addresses
  • subject (required, string): Email subject
  • body (required, string): Email body (HTML or plain text)
  • cc (optional, array of strings): CC email addresses
  • bcc (optional, array of strings): BCC email addresses
  • bodyType (optional, string): Body content type - "Text" or "HTML" (default: HTML)
  • importance (optional, string): Email importance - "Low", "Normal", or "High"
  • saveToSentItems (optional, boolean): Save to sent items (default: true)

create_draft - Create a draft email message.

  • subject (optional, string): Email subject
  • to (optional, array of strings): Recipient email addresses
  • body (optional, string): Email body
  • bodyType (optional, string): Body content type - "Text" or "HTML" (default: HTML)

reply_to_message - Reply to an email message.

  • messageId (required, string): Message ID to reply to
  • comment (required, string): Reply message body

delete_message - Delete an email message.

  • messageId (required, string): Message ID to delete

move_message - Move a message to a different folder.

  • messageId (required, string): Message ID to move
  • destinationFolderId (required, string): Destination folder ID or well-known name

Calendar Tools

list_calendars - List all calendars. This tool retrieves all calendars associated with your account.

list_events - List calendar events.

  • calendarId (optional, string): Calendar ID (default: primary calendar)
  • startDateTime (optional, string): Start date/time filter (ISO 8601)
  • endDateTime (optional, string): End date/time filter (ISO 8601)
  • top (optional, number): Number of events to return (default: 25)

get_event - Get a specific calendar event.

  • eventId (required, string): Event ID

create_event - Create a new calendar event.

  • subject (required, string): Event subject/title
  • startDateTime (required, string): Start date/time (ISO 8601 format)
  • endDateTime (required, string): End date/time (ISO 8601 format)
  • body (optional, string): Event description
  • location (optional, string): Event location
  • attendees (optional, array of strings): Attendee email addresses
  • timeZone (optional, string): Time zone (e.g., "Pacific Standard Time", default: UTC)
  • isOnlineMeeting (optional, boolean): Create as online meeting
  • reminderMinutesBeforeStart (optional, number): Reminder minutes before start

update_event - Update an existing calendar event.

  • eventId (required, string): Event ID to update
  • subject (optional, string): Event subject/title
  • startDateTime (optional, string): Start date/time (ISO 8601)
  • endDateTime (optional, string): End date/time (ISO 8601)
  • body (optional, string): Event description
  • location (optional, string): Event location

delete_event - Delete a calendar event.

  • eventId (required, string): Event ID to delete

respond_to_event - Accept, tentatively accept, or decline a meeting invitation.

  • eventId (required, string): Event ID
  • response (required, string): Response type - "accept", "tentativelyAccept", or "decline"
  • comment (optional, string): Optional comment with response

Contact Tools

list_contacts - List contacts from the user's contact folders.

  • top (optional, number): Number of contacts to return (default: 50)
  • orderBy (optional, string): Order by field (default: displayName)

get_contact - Get a specific contact.

  • contactId (required, string): Contact ID

create_contact - Create a new contact.

  • givenName (optional, string): First name
  • surname (optional, string): Last name
  • emailAddresses (optional, array of strings): Email addresses
  • businessPhones (optional, array of strings): Business phone numbers
  • mobilePhone (optional, string): Mobile phone
  • jobTitle (optional, string): Job title
  • companyName (optional, string): Company name

delete_contact - Delete a contact.

  • contactId (required, string): Contact ID to delete

OneDrive Tools

list_drive_items - List files and folders in OneDrive.

  • folderId (optional, string): Folder ID (default: root folder)
  • top (optional, number): Number of items to return (default: 50)

get_drive_item - Get metadata for a specific file or folder.

  • itemId (required, string): Item ID

search_drive_items - Search for files and folders in OneDrive.

  • query (required, string): Search query
  • top (optional, number): Number of results (default: 25)

create_folder - Create a new folder in OneDrive.

  • name (required, string): Folder name
  • parentFolderId (optional, string): Parent folder ID (default: root)

delete_drive_item - Delete a file or folder.

  • itemId (required, string): Item ID to delete

share_drive_item - Create a sharing link for a file or folder.

  • itemId (required, string): Item ID to share
  • type (required, string): Link type - "view" or "edit"
  • scope (optional, string): Link scope - "anonymous" or "organization" (default: organization)

SharePoint Tools

list_sharepoint_sites - List SharePoint sites the user has access to.

  • search (optional, string): Search query
  • top (optional, number): Number of sites to return (default: 25)

get_site - Get a specific SharePoint site.

  • siteId (required, string): Site ID

list_site_lists - List all lists in a SharePoint site.

  • siteId (required, string): Site ID

list_site_pages - List pages in a SharePoint site.

  • siteId (required, string): Site ID

OneNote Tools

list_notebooks - List all OneNote notebooks. This tool retrieves all notebooks accessible to your account.

list_sections - List sections in a notebook.

  • notebookId (optional, string): Notebook ID (omit to list all sections)

list_pages - List pages in a section.

  • sectionId (required, string): Section ID

get_page_content - Get the HTML content of a OneNote page.

  • pageId (required, string): Page ID

Microsoft To Do Tools

list_todo_lists - List all Microsoft To Do task lists. This tool retrieves all your task lists.

list_tasks - List tasks in a To Do list.

  • listId (required, string): Task list ID
  • filter (optional, string): OData filter (e.g., "status ne 'completed'")

create_task - Create a new task in Microsoft To Do.

  • listId (required, string): Task list ID
  • title (required, string): Task title
  • body (optional, string): Task description
  • dueDateTime (optional, string): Due date/time (ISO 8601)
  • reminderDateTime (optional, string): Reminder date/time (ISO 8601)
  • importance (optional, string): Task importance - "low", "normal", or "high"

update_task - Update an existing task.

  • listId (required, string): Task list ID
  • taskId (required, string): Task ID
  • title (optional, string): Task title
  • status (optional, string): Task status - "notStarted", "inProgress", or "completed"
  • importance (optional, string): Task importance - "low", "normal", or "high"

Microsoft Teams Tools

list_teams - List all teams the user is a member of. This tool retrieves all Teams you belong to.

list_channels - List channels in a team.

  • teamId (required, string): Team ID

list_channel_messages - List messages in a team channel.

  • teamId (required, string): Team ID
  • channelId (required, string): Channel ID
  • top (optional, number): Number of messages to return (default: 50)

send_channel_message - Send a message to a Teams channel.

  • teamId (required, string): Team ID
  • channelId (required, string): Channel ID
  • content (required, string): Message content (HTML)

Use Cases

This MCP server enables a wide range of productivity scenarios:

  • Email Automation: Automatically triage and respond to emails, filter messages by sender or content, and organize your inbox intelligently.
  • Meeting Coordination: Schedule meetings with multiple attendees, check availability across calendars, and manage meeting responses.
  • Document Discovery: Quickly locate files across OneDrive and SharePoint using natural language search queries.
  • Task Management: Create and track tasks based on email threads, meeting notes, or verbal instructions.
  • Team Communication: Stay updated on Teams channels, send notifications, and coordinate with team members.
  • Contact Organization: Maintain an up-to-date contact database with information pulled from various sources.
  • Note Taking: Access and reference OneNote content during conversations or while working on related tasks.

The server provides a consistent interface across all Microsoft 365 services, making it easy to build complex workflows that span multiple applications within the ecosystem.