How bimwright/rvt-mcp works
rvt-mcp is a local MCP gateway that lets an agent operate a running Revit session. The documented path is MCP client → .NET server tools → localhost transport → year-specific Revit add-in → Revit API, with results returned to the client. ToolBaker is an optional branch for capturing and reusing personal tools; typed Revit tools span model querying, creation, editing, views, schedules, exports, and workflows. The graph emphasizes that runtime path and major documented capabilities. Several implementation details are unsampled, so unverified links are omitted.
Main entry points: Program.cs MCP server · App.cs Revit add-in · McpEventHandler.cs Command execution · ToolGateway.cs Tool gateway
Components 19
MCP gateway
- MCP server
src/server/Program.cs - Tool gateway
src/server/Gateway/ToolGateway.cs
Revit add-in
- Revit add-in
src/plugin-r27/App.cs - Command dispatcher
src/shared/Infrastructure/Execution/CommandDispatcher.cs - Command execution
src/shared/Infrastructure/Execution/McpEventHandler.cs
Revit capabilities
- Model queries
src/server/Tools/QueryTools.cs - Model authoring
src/server/Tools/CreateTools.cs - Model editing
src/server/Tools/ModifyTools.cs - Views and graphics
src/server/Tools/ViewTools.cs - Schedules and sheets
src/server/Tools/ScheduleTools.cs - Exports
src/server/Tools/ExportTools.cs - Model workflows
src/shared/Handlers/Workflows
Personal tools
- ToolBaker
src/server/Bake - Bake suggestions
src/server/Handlers/AcceptBakeSuggestionHandler.cs
History and state
- Change history
src/server/Memory/ChangeHistoryStore.cs - Change tracking
src/shared/Infrastructure/ChangeTracking/McpChangeTracker.cs - Configuration
src/shared/Config/RvtMcpConfig.cs
Other components
- MCP client
- Autodesk Revit
Connections 18
- MCP client → MCP server: sends MCP
README.md - MCP server → Tool gateway: routes tools
- Tool gateway → Revit add-in: sends commands
- Revit add-in → Command dispatcher: registers commands
src/plugin-r27/App.cs - Command dispatcher → Command execution: dispatches commands
src/shared/Infrastructure/Execution/McpEventHandler.cs - Command execution → Autodesk Revit: executes in
src/shared/Infrastructure/Execution/McpEventHandler.cs - MCP server → Model queries: registers tools
- MCP server → Model authoring: registers tools
- MCP server → Model editing: registers tools
- MCP server → Views and graphics: registers tools
- MCP server → Schedules and sheets: registers tools
- MCP server → Exports: registers tools
- MCP server → Model workflows: registers tools
- MCP server → ToolBaker: supports optional baking
README.md - Bake suggestions → ToolBaker: accepts suggestions
src/server/Handlers/AcceptBakeSuggestionHandler.cs - Command execution → Change tracking: captures changes
src/shared/Infrastructure/Execution/McpEventHandler.cs - Change tracking → Change history: stores history
- Revit add-in → Configuration: loads settings
src/plugin-r27/App.cs