RevitMCP exhibits severe definition quality issues across nearly all dimensions. Most tools lack proper parameter documentation, have vague or missing descriptions, and no visible output schemas. Many tools are defined without explicit schemas in the code provided. The codebase shows incomplete implementation with placeholder docstrings and Chinese-language descriptions that do not meet production standards. Only 3-4 tools have minimal schema definitions; the remaining 23-24 tools lack visible input/output schemas entirely. Parameter descriptions are sparse or absent for most tools. Error handling exists in a few tools but lacks actionable recovery guidance.
Get or set the active view in Revit
调用 Revit 函数服务,支持直接传递功能名称及其参数,遵循 JSON-RPC 2.0 规范。
Create cable trays in Revit model
Create doors and windows in Revit model
Create ducts in Revit model
Create family instances in Revit model
Create floor plan views in Revit
Missing input schemas for 10+ tools: update_elements, parameter_elements, move_elements, show_elements, get_selected_elements, link_dwg_and_activate_view, create_door_windows, create_ducts, create_pipes, create_cable_trays. Code provides only risk level and tool name, no actual schema definitions.
No output schemas documented for ANY tool. LLMs cannot determine what fields to expect or plan downstream tool chains. All 27 tools lack return type documentation.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 39 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 34 | - | v1 |
Create floors in Revit model
Create grids in Revit model
Create levels in Revit model
Create pipes in Revit model
Create room tags in Revit model
Create rooms in Revit model
Create sheets in Revit model
Create walls in Revit model
Delete elements from Revit model
执行指定的功能命令,遵循JSON-RPC 2.0规范。
Find elements in Revit by category and type
获取所有功能商店里的功能,每个功能包含名称、描述和提示信息,遵循JSON-RPC 2.0规范。
Get location information for elements in Revit
Get currently selected elements in Revit
读取当前视图中所有信息,包括文本和图形实体数据,遵循JSON-RPC 2.0规范。
Link DWG file to Revit model and activate view
Move elements in Revit model
Get or set element parameters in Revit
Show or isolate elements in Revit view
Update element parameters in Revit
Descriptions are vague, generic, or missing for most tools (e.g., 'Update element parameters in Revit', 'Get or set element parameters', 'Delete elements from Revit model'). These lack context for when LLMs should select them. Baseline for good descriptions is 50-200 chars with clear intent.
Many parameters lack descriptions. E.g., 'elementId' appears in 5+ tools with no explanation of what identifies an element, whether it's a UUID, integer ID, or display name. This forces LLMs to guess and makes parameter reuse between tools ambiguous.
No enum constraints on string parameters. E.g., create_family_instances accepts 'categoryName' as free-form string. Should be an enum of valid Revit categories to prevent LLM hallucinations.
Error handling is incomplete. Most tools lack actionable error messages. Tools return JSON-RPC errors but do not guide LLMs on what to do next (retry, user correction, fallback lookup).
Destructive operations (delete_elements) lack confirmation or dry-run capability. Agents risk irreversible model damage without a pattern:confirmation-request step.
Language mismatch. Chinese-language docstrings and comments in English-primary codebase reduce clarity for international teams. Descriptions like '获取所有功能商店里的功能' are not self-documenting for non-Chinese speakers.
Tools lack composition hints. No documentation showing which tools chain together. E.g., if find_elements returns element IDs, does update_elements accept those IDs? Return field names are not documented.
No pagination for query tools. get_commands, find_elements, get_view_data may return large result sets but lack limit/offset or cursor parameters. LLMs could exhaust context windows.