Skip to main content
Glama

Revit MCP by ArchBench

Connect an MCP-compatible assistant to Revit using this independent, open-source connector. Basic connectivity is free and needs no ArchBench account.

Status: experimental alpha. Read the validation record before using it with real project files. Transport fixture tests are not native-application qualification.

Implementation target: Revit 2024+ on Windows, with a compatible pyRevit installation. Node.js 22+ runs the MCP server. Build native packages from the checkout with npm ci --ignore-scripts and npm run package:hosts (Python 3 required).

Get the source

git clone https://github.com/3d-mcp/revit-mcp.git
cd revit-mcp
npm ci --ignore-scripts

The alpha release contains the native adapter archive and checksums. No npm registry release is included.

Related MCP server: NexBrowser MCP Server

Install the native connection

Extract dist/revit-mcp-pyrevit.zip. Place the resulting ArchBenchMCP.extension folder in a pyRevit extension search directory such as %APPDATA%/pyRevit/Extensions. Reload pyRevit. In ArchBench MCP → Connect, click Toggle bridge and choose read-only or native scripting. Click again to stop. Uses a persistent IronPython engine and a throttled native ExternalEvent pump.

Connect your assistant

Configure the assistant to launch:

node /absolute/path/to/revit-mcp/bin/revit-mcp.mjs

Codex, Claude Code and desktop JSON setup. The assistant must run on the same machine and as the same user as the native application.

First request

“Check my Revit connection, then describe the current selection.”

This calls revit_get_status and revit_get_context. Native context is limited to basic document and selection information; it does not use an ArchBench workflow engine.

Optional native access

Enable native scripting explicitly in the host and set ARCHBENCH_MCP_ALLOW_SCRIPTS=1 in the MCP server environment. This exposes revit_execute_code with code and confirm: true.

The IronPython script sets result to a JSON-compatible return value:

result = {"title": doc.Title}

Scripts execute unsandboxed with the native application’s authority. They may modify models and local files or use the network. Keep returned data small; return values, rather than console prints, go to the assistant. See security and Undo limitations.

Stop the native bridge to revoke access. Restarting generates a fresh token; the client reads it from the local connection descriptor.

ArchBench

Maintained by ArchBench. Explore the separate product for integrated design work, project history, collaboration and workflows as those features become available. This connector remains usable independently.

This is an independent integration, not an official Revit vendor project.

Development and ownership

Run npm run check from this repository. It needs no sibling checkout or parent workspace package. Python 3 is required for packaging and fixture checks.

This is an independently implemented public connector for external MCP clients such as Codex and Claude Code. For ArchBench its purpose is marketing and distribution through useful connectivity and voluntary product discovery. Neither this connector nor the proprietary product depends on the other. ArchBench chat, mission graphs, IFC models/mappings, planners, reviewed execution, history, collaboration and workflow engines remain in the separate product. Do not share private source, contracts, protocols, credentials or runtime services.

Architecture · Release process · Licensing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Connects local tools (browser, shell) to a remote MCP server via reverse-MCP, enabling the server agent to control your local browser and execute shell commands.
    840 npm
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    Connects MCP clients to a local NexBrowser desktop app for browser automation, environment management, and session-isolated page inspection via the Model Context Protocol.
    64
    10 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects MCP-compatible assistants to Blender to read scene and selection context, and optionally execute user-requested Python through Blender's native API when explicitly enabled.
    MIT