MCP server connecting Claude to a personal Outlook account via Microsoft Graph (mail, attachments, folders, inbox rules, categories, calendar, contacts, Microsoft To Do tasks with subtasks, auto-reply, working hours and Focused-Inbox overrides, junk-sender blocking, MIME (.eml) export, delta 'what changed' checks and pushed change notifications, and two opt-in LLM features on the hosted server — injection-hardened auto-filing into existing folders and a drafted morning brief; sending only via explicit two-step draft-then-send).
40 tools with minimal schema documentation and generic descriptions. Most tools lack parameter type definitions beyond basic strings. Input schemas visible in test-tools.ts show only parameter names and descriptions, missing JSON Schema type constraints. Descriptions are uniformly terse (10-40 chars), well below the 50-200 char LLM-optimized baseline. No output schemas documented. Error handling guidance absent. Tool names follow verb_noun convention (positive), but parameter naming is inconsistent (folderId vs fileId vs action). No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata.
Add an attachment to a draft
Manage auto-reply settings
Check for new mail using delta sync
Create a draft message
Create a calendar event
Create a new mail folder
Delete a mail folder
Generic parameter descriptions lack actionable constraints. 'Action to perform' (manage_file, manage_calendar, manage_rules, etc.) does not specify valid enum values, format, or examples. LLMs cannot infer what actions are supported.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., does list_folders return folder_id, displayName, childFolderCount?). Breaks tool chaining.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Export a message as MIME (.eml)
Download an attachment from a message
Get the auto-filing audit log
Get server health status
Get mailbox activity log
List all calendars
List calendar events
List contents of a folder
List all mail folders
List tasks from Microsoft To Do
Manage mailbox settings
Manage auto-filing settings and preferences
Manage calendar operations
Manage message categories
Manage contact operations
Manage calendar event operations
Manage file operations (rename, delete, move)
Manage folder operations
Manage message operations (move, categorize, mark as read)
Manage inbox rules
Manage scheduled message sending
Manage junk sender blocking
Manage task operations
Read the contents of a file
Read a single message
Read a conversation thread
Search for contacts
Search for files in OneDrive
Search for messages in the mailbox
Send a draft message
Create a sharing link for a file
Update a draft message
Upload a file to OneDrive
Destructive tools (delete_folder, manage_file with delete action, manage_message, manage_task) lack confirmation/dry-run support and error recovery guidance. No tool annotations (destructiveHint) to warn agents.
Tool descriptions are uniformly terse (10-40 chars), far below the 50-200 char LLM-optimized baseline. 'Manage folder operations' does not explain WHEN to use it vs create_folder or delete_folder, or what it returns.
Parameter naming inconsistency: folderId, fileId, messageId, draftId, eventId, contactId, taskId, listId, threadId. No suffix convention (e.g., all should be *_id). LLMs struggle to map outputs to inputs across tools.