copilot-outlook-connector
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| accounts_listA | List configured personal Microsoft accounts and delegated scopes, without OAuth or credential access. Choose explicit opaque account IDs for subsequent requests. |
| mail_searchA | List/search messages across an intentional account selection using structured sender, subject and date filters. Includes mailbox folders such as Deleted Items. Not Gmail syntax or full-text search. Each account has independent pagination; repeat the identical filters/pageSize with its cursor. |
| mail_read_messageA | Read one immutable message ID, with bounded inert content and attachment metadata. Does not mark read, fetch images or execute content. |
| mail_list_attachmentsA | List inert attachment metadata for a message, with account-bound pagination. Does not download attachment content. |
| mail_read_conversationA | Read one page of messages sharing conversationId in this mailbox. No Gmail thread resource is assumed; follow nextCursor with the same account, conversation and pageSize for complete results. No snapshot or cross-mailbox completeness guarantee. |
| mail_read_attachmentA | Read a file attachment as bounded inert base64 bytes (up to 2 MiB). Item and reference attachments are rejected; no URL is followed and nothing is executed or written to disk. |
| mail_create_draftA | Create an UNSENT draft only. Explicit accountId and durable requestId required. Supports Unicode JSON bodies and validated To/Cc/Bcc; HTML is attribute-free formatting only. No send capability exists. |
| mail_create_reply_draftA | Create an UNSENT reply/reply-all using Graph createReply/createReplyAll. Graph derives Reply-To, recipients and conversation headers from the source; arbitrary recipient/header overrides and sends are unavailable. Source versions are rechecked, not atomically locked. |
| calendar_list_calendarsA | Discover this explicit account's accessible calendars. Unknown permissions and partial results remain explicit; no calendars are created or shared. |
| calendar_get_calendarA | Read a selected accessible calendar and its Graph-reported permissions. default resolves /me/calendar. |
| calendar_list_eventsA | Read bounded UTC calendarView occurrences, exceptions and single events. Follows all safe pages up to limits; complete=false is never a complete/free result. |
| calendar_search_eventsA | Literal case-insensitive subject/bodyPreview search over an explicitly selected, bounded calendarView. Partial reads produce partial search results. |
| calendar_get_eventA | Read one exact immutable event ID within the selected calendar, preserving master/originalStart and original zones. |
| calendar_list_instancesA | Get exact occurrence/exception IDs from a verified seriesMaster in a bounded window. Use returned ID, master and originalStart for occurrence actions; never derive IDs from dates. |
| calendar_free_busyA | Derive free/busy ONLY from explicitly selected accessible account/calendar sources via fully paginated calendarView. Personal getSchedule/findMeetingTimes are not supported. Any partial/failed/unknown source prevents common free time. |
| calendar_find_availabilityA | Find common UTC slots across every explicit account/calendar source. Busy, tentative, OOF, working-elsewhere and all-day events block; unknown or incomplete data yields no slots. |
| calendar_create_eventB | Create an appointment or invitation with explicit Windows-zone local times and bounded Graph recurrence. Invitations require human WebAuthn review. Private guest-free creates are exempt only with provider-proven own/private calendar evidence; missing sharing evidence means review. No online meeting creation. |
| calendar_update_eventA | Patch ONLY supplied fields on an organizer event. ALL updates require human WebAuthn review. Explicit seriesMaster or verified exact occurrence targeting; no this-and-following. Online meeting body editing is rejected. Resource re-read is not atomic concurrency control. |
| calendar_delete_eventA | Delete only the explicitly reviewed single event, whole seriesMaster or verified exact occurrence. Human WebAuthn review is always required; organizer deletion sends attendee cancellations. |
| calendar_rsvpA | Respond only as the actual authenticated attendee of a default-calendar invitation. Requires explicit sendResponse=true and human WebAuthn review; no attendee identity override. Declining may remove the event; Graph actions have residual external-edit races. |
| operation_statusA | Read the status of an explicitly selected account's write. An unknown outcome must never be blindly retried. |
| operation_cancelA | Cancel a pending operation before dispatch. Does not undo an already-dispatched Outlook action. |
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 22 tools
Most tools are clearly separated by domain and action, such as calendar_get_event vs calendar_list_events and mail_read_message vs mail_read_conversation. A few pairs could require attention, like calendar_free_busy vs calendar_find_availability or mail_list_attachments vs mail_read_attachment, but the descriptions clarify the distinctions.
The dominant pattern is domain_verb_noun with snake_case, but several names deviate: accounts_list, operation_cancel, operation_status, and calendar_free_busy do not follow the verb-first convention. This makes the naming somewhat mixed despite consistent domain prefixes.
22 tools sits in the upper range and feels slightly heavy for a single connector. The count is defensible because it covers calendar, mail, drafts, attachments, availability, and operations, but it is above the ideal 3-15 range.
Calendar lifecycle is well covered including create, update, delete, RSVP, and availability, and mail covers read, search, drafts, and attachments. However, common mail actions such as send, delete, and folder management are absent, and the descriptions repeatedly state these are unsupported, leaving notable gaps in the mail domain.