Open-source MCP server for Revit audit workflows — naming conventions, model health, warnings
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Sharing a project that may be useful for anyone working with the Revit API and interested in LLM tooling.
I built oa-aec-mcp — a read-only MCP (Model Context Protocol) server that connects Claude Desktop to Revit via a C# plugin. Instead of exposing raw element-level API calls, it wraps four common audit workflows into single tool calls:
- summarize_model_health: warning count, unused families, unplaced rooms, view count
- list_unplaced_rooms: filtered by level, returns room number/name/department
- find_warnings_by_category: groups warnings by type, returns affected element IDs
- audit_naming_conventions: accepts a regex pattern + category list, returns violations grouped by category
The C# plugin uses ExternalEvent to run all API calls on the Revit main thread and communicates with the TypeScript MCP server over WebSocket on localhost:8765.
The naming convention tool has one feature worth highlighting for this audience: Claude translates a natural-language rule to regex before calling the tool, so the coordinator describes the standard and the pattern gets generated automatically.
Revit 2025, MIT license, two public repos:
- TypeScript MCP server: https://github.com/omarabdelazizeng-sketch/oa-aec-mcp
- C# Revit plugin: https://github.com/omarabdelazizeng-sketch/oa-aec-mcp-plugin
Full writeup with architecture diagram and example prompt/response: https://dev.to/omarabdelaziz-sketch/oa-aec-mcp-revit-audit-workflows-as-mcp-tools-25kj
Happy to discuss the ExternalEvent approach or the WebSocket architecture if useful.