Controls local Microsoft Project via COM automation
MS Project MCP has basic tool definitions but significant quality gaps. All 4 tools have descriptions and input schemas, but descriptions are minimal (10-50 chars), parameter descriptions are sparse or missing, and output schemas are not documented. No error handling guidance, no parameter validation hints, and no security considerations. Tool names follow verb_noun convention (open_project, new_project, get_project_info, set_project_properties) which is good, but descriptions lack context on when to use each tool or what to expect. The server exposes Windows COM automation directly without abstraction, creating platform-specific brittleness.
Get summary information about the currently active project.
Create a new blank project without needing a file on disk.
Open a Microsoft Project file (.mpp or .xml). MS Project must already be running (it is launched automatically if not).
Set project metadata properties.
get_project_info has no input schema visible in source code. Tool accepts empty input {} but schema is not declared, violating pattern:tool requirement for documented input/output.
Output schemas are not documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., project_id, task_count) without knowing response structure. Violates pattern:tool and pattern:response-shaper.
Parameter descriptions are missing or trivial. 'file_path' in open_project has description 'Path to the Microsoft Project file to open' but lacks format hints (must exist? .mpp or .xml only?). 'properties_json' in set_project_properties is a JSON string parameter with no schema or validation guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling guidance. Tools raise RuntimeError with messages like 'MS Project is not running' but LLM has no recovery path. Should return structured errors with actionable next steps (e.g., 'MS Project not running. Ensure MS Project is installed and running before retrying.').
Tool descriptions are too short (10-50 chars). Baseline for A+ tools is 194 chars. Descriptions lack context on prerequisites, when to use each tool, and what data is returned. E.g., 'Create a new blank project without needing a file on disk' (56 chars) omits whether this creates an in-memory project or saves to disk.