A Model Context Protocol server for Autodesk Platform Services that provides tools for automating Revit model operations including creating models, managing sheets, linking models, exporting wall types, and setting wall comments.
This MCP server exposes 5 Revit automation tools with basic schemas and descriptions. All tools have names starting with action verbs (create_, export_, link_, set_) and descriptions present. However, critical gaps undermine production readiness: (1) No output schemas documented for any tool, LLMs cannot predict return structure or chain calls; (2) Parameter descriptions are minimal (10-30 chars) and lack format/constraint details; (3) No error handling guidance, tools return boolean success/failure with no recovery hints; (4) No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear WRITE/READ_ONLY risk levels; (5) Input schemas present but sparse, missing examples, constraints, and validation rules. The codebase shows proper Revit integration (DesignAutomationFramework, Transaction handling) but tool definitions are underspecified for agent use.
Tool to create a single Revit cloud model from a template
Tool to create sheets in a Revit document from a list of sheet definitions and an optional title block template.
Tool to collect all wall types and their properties and export them to output.json.
Tool to add and remove Revit links from a cloud model
Tool to set the Comments parameter to "Testing" for all Wall instances in the document.
No output schemas documented. LLMs cannot predict return structure, chain tool calls, or extract required fields for downstream operations.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk levels are known (WRITE vs READ_ONLY) but not exposed to the agent, preventing safe retry logic.
Parameter descriptions are minimal (10-30 chars) and lack format/constraint details. E.g., 'accountId' described as 'The account ID (GUID)' but no format validation hint or example pattern.
No error handling guidance. Tools return boolean success/failure with no recovery hints. E.g., 'Failed to deserialize input JSON' gives LLM no actionable next step.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
set_wall_comments and export_wall_types have empty input schemas ({}). No parameters documented means LLM cannot understand preconditions or configuration options.