When you run the Revit MCP Technical Preview, a bug may prevent Claude from accessing all the tools that should be available.
The Problem Starts — Claude Reports Only One Tool is Available
Making a Request That Uses an Unavailable Tool Example 1: Listing Revit Data
List the air terminals in the Revit model
I can't list the air terminals yet. The only Revit tool available is the one that sees your running instance with 261104 VAV System Retail open, and it can't read the elements in the model.
I can write a Dynamo script that lists every air terminal and exports the list to Excel, so you can run it in Revit yourself.
Telling Claude to Generate a Python Script Instead
Copy the Python Script
Open Dynamo and Create a New Workspace
Create a Python Script node and Paste in the Copied Script
Run the Python Script
Read the Node Outputs
Claude Returns This Report
Making a Request That Uses an Unavailable Tool Example 2: Changing Revit Element Types
Change the return air terminals in the Revit model to 24 x 24 Face 12 x 8 Connection.
Claude Generates a Python Script To Complete the Action
Copy the Python Script
Open Dynamo and Create a New Workspace
Create a Python Script node and Paste in the Copied Script
Run the Python Script
Read the Node Outputs
Making a Request That Uses an Unavailable Tool Example 3: Test Driving a Python Script Before Making Changes to Your Model
When requests would generate many complex changes to your Revit model, Claude may write a Python Script with a testing and preview feature built into the code.
Claude will report this behavior in the output messages displayed in the Watch node.
The typical workflow is:
- Claude generates the Python script.
- When you run it with default values, it reports the results that would occur, but it does not implement the changes. This lets you confirm the results are what you expect before making the actual changes.
- The Watch node reports which input values need to change to execute the changes. Typically something like:
- Add a Boolean (true/false) node to Input[0] of the Python Script node.
- Set the Boolean to TRUE to make the changes.










