microsoft-365
Built by Metorial, the integration platform for agentic AI.
microsoft-365
Server Summary
Manage Microsoft 365
Automate email workflows
Schedule calendar events
Access cloud files
Coordinate team communication
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)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 queryorderBy (optional, string): Order by field (default: receivedDateTime desc)get_message - Get a specific email message.
messageId (required, string): Message IDsend_email - Send an email message.
to (required, array of strings): Recipient email addressessubject (required, string): Email subjectbody (required, string): Email body (HTML or plain text)cc (optional, array of strings): CC email addressesbcc (optional, array of strings): BCC email addressesbodyType (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 subjectto (optional, array of strings): Recipient email addressesbody (optional, string): Email bodybodyType (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 tocomment (required, string): Reply message bodydelete_message - Delete an email message.
messageId (required, string): Message ID to deletemove_message - Move a message to a different folder.
messageId (required, string): Message ID to movedestinationFolderId (required, string): Destination folder ID or well-known namelist_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 IDcreate_event - Create a new calendar event.
subject (required, string): Event subject/titlestartDateTime (required, string): Start date/time (ISO 8601 format)endDateTime (required, string): End date/time (ISO 8601 format)body (optional, string): Event descriptionlocation (optional, string): Event locationattendees (optional, array of strings): Attendee email addressestimeZone (optional, string): Time zone (e.g., "Pacific Standard Time", default: UTC)isOnlineMeeting (optional, boolean): Create as online meetingreminderMinutesBeforeStart (optional, number): Reminder minutes before startupdate_event - Update an existing calendar event.
eventId (required, string): Event ID to updatesubject (optional, string): Event subject/titlestartDateTime (optional, string): Start date/time (ISO 8601)endDateTime (optional, string): End date/time (ISO 8601)body (optional, string): Event descriptionlocation (optional, string): Event locationdelete_event - Delete a calendar event.
eventId (required, string): Event ID to deleterespond_to_event - Accept, tentatively accept, or decline a meeting invitation.
eventId (required, string): Event IDresponse (required, string): Response type - "accept", "tentativelyAccept", or "decline"comment (optional, string): Optional comment with responselist_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 IDcreate_contact - Create a new contact.
givenName (optional, string): First namesurname (optional, string): Last nameemailAddresses (optional, array of strings): Email addressesbusinessPhones (optional, array of strings): Business phone numbersmobilePhone (optional, string): Mobile phonejobTitle (optional, string): Job titlecompanyName (optional, string): Company namedelete_contact - Delete a contact.
contactId (required, string): Contact ID to deletelist_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 IDsearch_drive_items - Search for files and folders in OneDrive.
query (required, string): Search querytop (optional, number): Number of results (default: 25)create_folder - Create a new folder in OneDrive.
name (required, string): Folder nameparentFolderId (optional, string): Parent folder ID (default: root)delete_drive_item - Delete a file or folder.
itemId (required, string): Item ID to deleteshare_drive_item - Create a sharing link for a file or folder.
itemId (required, string): Item ID to sharetype (required, string): Link type - "view" or "edit"scope (optional, string): Link scope - "anonymous" or "organization" (default: organization)list_sharepoint_sites - List SharePoint sites the user has access to.
search (optional, string): Search querytop (optional, number): Number of sites to return (default: 25)get_site - Get a specific SharePoint site.
siteId (required, string): Site IDlist_site_lists - List all lists in a SharePoint site.
siteId (required, string): Site IDlist_site_pages - List pages in a SharePoint site.
siteId (required, string): Site IDlist_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 IDget_page_content - Get the HTML content of a OneNote page.
pageId (required, string): Page IDlist_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 IDfilter (optional, string): OData filter (e.g., "status ne 'completed'")create_task - Create a new task in Microsoft To Do.
listId (required, string): Task list IDtitle (required, string): Task titlebody (optional, string): Task descriptiondueDateTime (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 IDtaskId (required, string): Task IDtitle (optional, string): Task titlestatus (optional, string): Task status - "notStarted", "inProgress", or "completed"importance (optional, string): Task importance - "low", "normal", or "high"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 IDlist_channel_messages - List messages in a team channel.
teamId (required, string): Team IDchannelId (required, string): Channel IDtop (optional, number): Number of messages to return (default: 50)send_channel_message - Send a message to a Teams channel.
teamId (required, string): Team IDchannelId (required, string): Channel IDcontent (required, string): Message content (HTML)This MCP server enables a wide range of productivity scenarios:
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.