scanbimlabs avatar

Twinmotion MCP

io.scanbimlabs/twinmotion-mcp

This connects Claude to Twinmotion's rendering engine through Autodesk Platform Services, letting you automate architectural visualization workflows without leaving your chat. You can import Revit models, configure lighting and environments, trigger renders, and export videos programmatically. Reach for this when you're working with BIM data and need to generate presentation materials or iterate on visualization settings faster than clicking through Twinmotion's UI. The APS integration means it pulls directly from your Revit source files, so you're working with up to date models. Runs as a serverless worker, so no local Twinmotion installation required for basic rendering operations.

install copies · 90 days. Times the install command was copied on this site in the last 90 days, bots filtered.
9
tools
5
transport
HTTP
last updated
Apr 12, 2026

Install

From registry metadata
$ npx add-mcp https://twinmotion-mcp.itmartin24.workers.dev/mcp --name twinmotion-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http twinmotion-mcp https://twinmotion-mcp.itmartin24.workers.dev/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 5 tools

Verified live against the running server on Nov 6, 2026.

tm_import_rvtImport a Revit/BIM model into the Twinmotion visualization pipeline: downloads the source file from a public URL, uploads it to an APS OSS transient bucket, and kicks off an SVF2 + thumbnail translation job. Returns the base64 URN (project_id) used by every other tm_* tool. Wh...4 params

Import a Revit/BIM model into the Twinmotion visualization pipeline: downloads the source file from a public URL, uploads it to an APS OSS transient bucket, and kicks off an SVF2 + thumbnail translation job. Returns the base64 URN (project_id) used by every other tm_* tool. Wh...

Parameters* required
file_name*string
Filename with extension used as the OSS object key. Non-alphanumeric characters are sanitized to underscores. Extension drives APS translator selection (.rvt → Revit, .ifc → IFC, etc.). For downstr...
file_url*string
Public HTTPS URL to download the source BIM/CAD file. Must be reachable without auth from Cloudflare Workers egress. Supports rvt, ifc, nwd, dwg, dgn, 3dm, stp, obj, and other APS-supported formats...
include_materialsboolean
If true (default), the translation preserves material/texture data so the derivative is visually meaningful in Twinmotion/UE. Set false only for geometry-only pipelines (faster, smaller derivatives).
lighting_presetstring
Lighting preset label stored alongside the import — purely metadata for downstream tm_render_image / UE scene setup; does not affect the APS translation itself. 'natural' = daylight sun+sky, 'studi...one of default · natural · studio · evening
tm_set_environmentConfigure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Derivative manifest, then stores the environment config in KV (24h TTL) so tm_render_image and tm_export_video can apply i...4 params

Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Derivative manifest, then stores the environment config in KV (24h TTL) so tm_render_image and tm_export_video can apply i...

Parameters* required
environmentstring
Surround/context preset for the UE scene. Purely metadata — applied when the operator builds the Twinmotion scene post-FBX-export. 'custom' means the user will supply their own HDRI/backdrop in UE.one of urban · suburban · natural · industrial · custom
project_id*string
Base64-URL-safe URN returned by tm_import_rvt (the `project_id` / `urn` field). This is the Autodesk design URN — NOT an object ID, NOT a bucket key. Format: base64url of 'urn:adsk.objects:os.objec...
time_of_daystring
24-hour clock time as HH:MM. Used for sun position in the UE scene. Default if omitted is '12:00' (noon).
weatherstring
Weather condition label stored with the scene config. Drives UE sky/atmosphere presets during manual Twinmotion scene authoring.one of clear · cloudy · rainy · sunset · night
tm_render_imageRender a still preview image of the model at a specified resolution by pulling the APS Model Derivative thumbnail (capped at 800x800 by the APS endpoint). Also resolves the camera_preset against model metadata to identify which 3D view it maps to, and applies any stored enviro...4 params

Render a still preview image of the model at a specified resolution by pulling the APS Model Derivative thumbnail (capped at 800x800 by the APS endpoint). Also resolves the camera_preset against model metadata to identify which 3D view it maps to, and applies any stored enviro...

Parameters* required
camera_presetstring
View name (e.g. '3D View 1', '{3D}', 'Perspective - Lobby') or metadata GUID to render from. Discover valid values via tm_list_scenes. If omitted or unmatched, the first 3D view is used. Custom ad-...
project_id*string
Base64-URL-safe URN of the translated model (from tm_import_rvt). Model must have reached manifest.status='success' or at least have a thumbnail derivative available.
qualitystring
Quality label — metadata only, since APS thumbnails have fixed quality. Use 'cinematic' as an intent signal that the operator should do a post-export UE render instead.one of draft · standard · high · cinematic
resolutionstring
Requested output resolution. Note: APS thumbnail endpoint hard-caps at 800x800 — selecting 1920x1080 will be clamped to 800x800. For true HD/4K renders, export FBX/USD and render in UE Movie Render...one of 400x400 · 800x800 · 1920x1080
tm_export_videoPrepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces OBJ geometry (suitable for ingestion into offline rendering pipelines, Blender, or Unreal Engine). Also returns the li...5 params

Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces OBJ geometry (suitable for ingestion into offline rendering pipelines, Blender, or Unreal Engine). Also returns the li...

Parameters* required
animation_name*string
Human-readable label for the walkthrough/animation (used in downstream asset naming; suggest matching the exported video/USD filename base, e.g. 'tower_a_lobby_tour' → tower_a_lobby_tour.mp4 / .fbx...
duration_secondsnumber
Target duration of the final video in seconds (integer). Used only as metadata for the downstream UE Movie Render Queue; this tool does not encode video. Typical: 15–120s.
formatstring
Intended final video container (metadata hint for the downstream UE/Twinmotion render step). mp4 = H.264 web-friendly, mov = ProRes for editing, webm = VP9/AV1 for web.one of mp4 · mov · webm
project_id*string
Base64-URL-safe URN of a fully-translated model (manifest.status must equal 'success'). If status != success, the tool returns status='pending' without starting a job.
resolutionstring
Intended final video resolution (metadata hint). 4K (3840x2160) roughly quadruples UE render time vs 1080p.one of 1920x1080 · 3840x2160
tm_list_scenesEnumerate every 2D/3D view ('scene') baked into the translated model, plus a shallow dump of the model object tree (first 50 top-level nodes across all 3D views), plus the list of completed derivatives (svf2, thumbnail, obj, etc.) available via APS. The canonical discovery too...1 params

Enumerate every 2D/3D view ('scene') baked into the translated model, plus a shallow dump of the model object tree (first 50 top-level nodes across all 3D views), plus the list of completed derivatives (svf2, thumbnail, obj, etc.) available via APS. The canonical discovery too...

Parameters* required
project_id*string
Base64-URL-safe URN of the translated model. Should have manifest.status='success' for full results; if still translating, scene_count may be 0 or partial.

Sponsors

Details

Categories
Design & Creative, Media & Entertainment
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026

More from scanbimlabs

Related Design & Creative MCP servers

View all
1jeffkit avatarhollow — a tree hole for AI agentsjeffkit/hollowA rest stop for AI agents: whisper, listen, reply, rest. By design never evaluated or analyzed.0stars
2koneisto avatarHomeassistant Light Mcpkoneisto/homeassistant-light-mcpControl Home Assistant lights and scenes. Lights only by design for safety.0stars
3laaielichter avatarThreesmithlaaielichter/threesmiththree.js for coding agents: version-pinned API and review, assets, headless runs, perf, 3D models.0stars
4gueguesser-chatgptap-68537aa2 avatarMy MCP Serverlive.alpic.gueguesser-chatgptap-68537aa2/gueguesser-chatgptappGeography Guesser game0stars
5lyellr88 avatarBuddy Mcplyellr88/buddy-mcpClaude Code creature collection game. Hatch buddies, pet to boost roll luck, complete the BuddyDex.0stars
6o-shabashov avatarDOS2 Game Mastero-shabashov/dos2-gm-mcpDivinity: Original Sin 2 Game Master mode: edit campaign files, drive the live game via a bridge mod0stars