Frame agent
Type what you need. Watch it work on the model.
Frame agent
A terminal beside the 3D model that turns plain language into viewer commands.
Claude, ChatGPT or any MCP client.
Your client reads the same Parquet datasets that feed the Power BI and Excel templates.
Tools · 4
list_models Your models and their report status list_model_scopes The whole model or a saved view get_model_datasets Assets, properties and views as Parquet get_dataset_guide Columns, join key and example queries Which of my models have reports ready, and how many walls does each one have?
Both models have reports ready. Counting rows in each assets table where the category is Walls:
| TORRE B | 14,087 |
| Revit basic sample house | 46 |
Want TORRE B by level or wall type next?
MCP and WebMCP use no AI credits. Sign in once with OAuth.
Clients list and download. They can't change anything in Frame.
Turn on AI clients in your profile and browser agents can use Frame's site tools. Setup guide.
Each request becomes a few viewer commands you can read and repeat.
01
Isolate a category and colour it by any property.
Isolate the walls and colour them by level
5 tool calls · 5 commands
Ran ls -la .
Ran cat README.md; viewer info
Ran viewer levels; viewer find --category Walls; viewer props @last --filter "Base Constraint"
Ran viewer isolate @last && viewer color --where 'category=Walls level=Level 1' --hex 1f6feb
Ran viewer find --category Walls && viewer fit @last
Isolated all 46 walls and coloured them by their base level:
| Level | Walls |
|---|---|
| Foundation | 1 |
| Level 1 | 17 |
| Level 2 | 27 |
| Ceiling | 1 |
| Total | 46 |
18s (↑12 ↓347)
02
Every count comes with the commands behind it.
How many doors are there per type?
3 tool calls · 3 commands
Ran ls -la .
Ran cat README.md; viewer --help; viewer info
Ran viewer find --category Doors; viewer props @last --filter "Type Name" --limit all
There are 16 doors across 5 types in the current model:
| Type | Doors |
|---|---|
| Single-Flush – 800 x 2100 | 7 |
| Curtain Wall Dbl Glass | 3 |
| Pocket_Slider_Door_5851 – 2.027 x 0.945 | 3 |
| Entrance door | 2 |
| M_Double-Flush – 1730 x 2134mm | 1 |
| Total | 16 |
12s (↑10 ↓200)
03
One sandboxed query over the full property database.
Count the elements per category
4 tool calls · 4 commands
Ran ls -la .
Ran cat README.md; viewer --help; viewer info
Ran viewer query --out ./leaf-elements.json '(pdb) => pdb.leaves().map(dbId => ({ dbId, category: pdb.prop(dbId, "Category") }))'
Ran jq '{total: length, uniqueDbIds: (map(.dbId) | unique | length)}' ./leaf-elements.json
Counted all 936,341 property-database leaf elements using viewer query.
| Revit category | Count |
|---|---|
| Structural Rebar | 736,542 |
| Analytical Nodes | 73,838 |
| Walls | 14,087 |
| Analytical Panels | 14,087 |
| Structural Framing | 7,822 |
31s (↑55 ↓482)
Isolate the walls and colour them by level
5 tool calls · 5 commands
Ran ls -la .
Ran cat README.md; viewer info
Ran viewer levels; viewer find --category Walls; viewer props @last --filter "Base Constraint"
Ran viewer isolate @last && viewer color --where 'category=Walls level=Level 1' --hex 1f6feb
Ran viewer find --category Walls && viewer fit @last
Isolated all 46 walls and coloured them by their base level:
| Level | Walls |
|---|---|
| Foundation | 1 |
| Level 1 | 17 |
| Level 2 | 27 |
| Ceiling | 1 |
| Total | 46 |
18s (↑12 ↓347)
How many doors are there per type?
3 tool calls · 3 commands
Ran ls -la .
Ran cat README.md; viewer --help; viewer info
Ran viewer find --category Doors; viewer props @last --filter "Type Name" --limit all
There are 16 doors across 5 types in the current model:
| Type | Doors |
|---|---|
| Single-Flush – 800 x 2100 | 7 |
| Curtain Wall Dbl Glass | 3 |
| Pocket_Slider_Door_5851 – 2.027 x 0.945 | 3 |
| Entrance door | 2 |
| M_Double-Flush – 1730 x 2134mm | 1 |
| Total | 16 |
12s (↑10 ↓200)
Count the elements per category
4 tool calls · 4 commands
Ran ls -la .
Ran cat README.md; viewer --help; viewer info
Ran viewer query --out ./leaf-elements.json '(pdb) => pdb.leaves().map(dbId => ({ dbId, category: pdb.prop(dbId, "Category") }))'
Ran jq '{total: length, uniqueDbIds: (map(.dbId) | unique | length)}' ./leaf-elements.json
Counted all 936,341 property-database leaf elements using viewer query.
| Revit category | Count |
|---|---|
| Structural Rebar | 736,542 |
| Analytical Nodes | 73,838 |
| Walls | 14,087 |
| Analytical Panels | 14,087 |
| Structural Framing | 7,822 |
31s (↑55 ↓482)
Credits cover the agent and AI markups. They reset each billing period and don't roll over.
Starter
700
AI credits a month about 140 quick questions
Professional
1,500
AI credits a month about 300 quick questions
Business
3,000
AI credits a month about 600 quick questions
Enterprise
Custom
AI credits a month Set per account
The agent pauses until the reset. Viewing, reports, Excel and Power BI keep working.
20 credits a month for AI markups, plus MCP. No agent. See plan details.
GPT-6.1 Sol by default, or Claude Sonnet 5.5. Type /model to switch.
The agent sees the open model or your selection. AI markups see only your screenshot.
OpenAI and Anthropic don't keep or train on your prompts and model data.
Frame records the credits a request uses, not what you asked.
Single models in desktop Chrome, Edge and Safari.
Mobile browsers, federated ACC views, version comparison and IFC in Frame's engine.
"Frame's AI saves us hours every week. I can ask the model directly and get the answer without needing a BIM tech on call."
Infrastructure you can rely on. Support your team deserves.
The security that your mission-critical application needs.
Always-on infrastructure designed for global scale and uninterrupted access.
End-to-end encryption and secure cloud storage for your project data.
Fast SLAs and a dedicated Slack channel for expert support.
Discover the benefits of Frame today.