office365-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AZURE_AUTHORITY | Yes | The Azure AD authority URL (e.g., https://login.microsoftonline.com/your-tenant-id) | |
| AZURE_CLIENT_ID | Yes | The Azure AD application (client) ID | |
| AZURE_CLIENT_SECRET | Yes | The Azure AD application client secret | |
| OFFICE365_USER_EMAIL | Yes | The email address of the Office 365 user to act as |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_recent_emailsC | Get recent emails from Office 365 |
| search_emailsC | Search emails with optional text query |
| get_calendar_eventsC | Get upcoming calendar events |
| send_emailB | Send an email via Office 365 |
| get_email_detailsA | Get complete email details including full body, recipients, and metadata |
| get_email_attachmentsB | List all attachments for a specific email |
| download_attachmentC | Download a specific email attachment (max 10MB) |
| send_email_with_attachmentsC | Send email with file attachments |
| list_mail_foldersA | Get all mail folders (Inbox, Sent Items, Archive, etc.) |
| get_folder_emailsC | Get emails from a specific folder (e.g., Sent Items, Archive) |
| search_in_folderB | Search emails within a specific folder |
| move_emailB | Move an email to a different folder |
| delete_emailB | Delete an email |
| mark_as_readB | Mark email as read or unread |
| create_draftC | Create an email draft |
| create_inbox_ruleC | Create an automated inbox rule for email organization |
| create_calendar_eventC | Create a new calendar event |
| update_calendar_eventC | Update an existing calendar event |
| delete_calendar_eventC | Delete a calendar event |
| get_event_detailsC | Get complete details for a specific calendar event |
| find_meeting_timesC | Find optimal meeting times based on attendee availability |
| get_free_busy_scheduleB | Get free/busy schedule for attendees |
| get_calendar_viewC | Get calendar events in a specific date range |
| list_calendarsB | Get all calendars for the user |
| list_drive_itemsC | List files and folders in OneDrive |
| search_filesB | Search for files and folders in OneDrive |
| get_file_contentB | Download file content from OneDrive (max 10MB) |
| get_file_metadataA | Get file metadata without downloading content |
| upload_fileB | Upload a file to OneDrive (max 4MB) |
| create_folderA | Create a new folder in OneDrive |
| move_fileB | Move a file or folder to a different location |
| share_fileB | Create a sharing link for a file or folder |
| list_contactsC | Get all contacts |
| search_contactsA | Search contacts by name, email, or company |
| create_contactC | Create a new contact |
| update_contactC | Update an existing contact |
| list_teamsA | Get all teams the user is a member of |
| list_team_channelsB | Get all channels in a specific team |
| send_channel_messageC | Send a message to a Teams channel |
| get_channel_messagesB | Get recent messages from a Teams channel |
| send_chat_messageC | Send a direct chat message |
| list_todo_listsB | Get all To-Do task lists |
| list_tasksC | Get tasks from a specific To-Do list |
| create_taskC | Create a new task in a To-Do list |
| update_taskC | Update an existing task |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 45 tools
Each tool targets a distinct resource or action with clear descriptions, e.g., send_email vs send_email_with_attachments, search_emails vs search_in_folder. No two tools are ambiguous.
All tools follow a consistent verb_noun pattern using underscores (e.g., create_calendar_event, get_recent_emails). No mixing of styles.
45 tools is high but justified by covering multiple Office 365 domains (email, calendar, contacts, tasks, OneDrive, Teams). The set is well-scoped, though slightly larger than ideal for coherence.
Covers most core operations across domains. Minor gaps: missing delete for contacts, tasks, and files; no update for files. Overall, agents can accomplish common tasks.