MCP server for interacting with Microsoft Planner tasks, plans, and buckets via Microsoft Graph API
Server has 9 tools with basic Zod schemas and descriptions. All tools have names starting with action verbs (list, get, create, update, delete) and descriptions present. However, descriptions are minimal (10-50 chars), parameter descriptions lack detail about constraints and formats, and output schemas are completely undocumented. No error handling guidance, no pagination support despite list tools, and no indication of which operations are idempotent or safe to retry. Tool composition is reasonable (separate read/write/delete operations), but parameter validation is weak and responses are raw API output without filtering or structuring for agent consumption.
Create a new task in a Planner plan
Delete a Planner task. Auto-fetches ETag.
Get details of a specific Planner task
Get extended task details including description and checklist
List all buckets in a Planner plan
List all Planner plans accessible to the current user
List all tasks in a Planner plan
Output schemas completely undocumented. Tools return raw JSON from Microsoft Graph API without specifying field names, types, or structure. LLMs cannot plan downstream calls or extract required data reliably.
List tools (list-tasks, list-buckets, list-plans) lack pagination parameters (limit, offset, page_size) and return unbounded results. Large result sets will exhaust context windows and degrade LLM reasoning.
Parameter descriptions are minimal or missing constraint details. E.g., 'category' parameter in update-task says 'Category to apply (category1-category25)' but lacks explanation of what categories mean or when to use them. 'percentComplete' lacks range validation messaging.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Update task properties (title, progress, assignments, categories). Auto-fetches ETag.
Update task description (use for GitHub links). Auto-fetches ETag.
No error handling guidance. Tools throw generic 'az rest failed' or 'Update failed' errors without actionable recovery steps. LLMs cannot distinguish retryable errors from user-fixable ones.
Tool descriptions do not indicate which operations modify state or are idempotent. Agents cannot determine which calls are safe to retry. E.g., create-task and delete-task lack explicit 'destructive' or 'write' warnings.