{
  "markdown": "# Twinmotion MCP\r\n\r\n**Twinmotion rendering pipeline via APS** — Import Revit models, set environments, render images, export walkthrough videos.\r\n\r\n[![Live](https://img.shields.io/badge/status-live-brightgreen)](https://twinmotion-mcp.itmartin24.workers.dev/)\r\n[![MCP](https://img.shields.io/badge/protocol-MCP%202024--11--05-blue)](https://modelcontextprotocol.io)\r\n\r\n## Tools (5)\r\n\r\n| Tool | Description |\r\n|------|-------------|\r\n| `tm_import_rvt` | Import Revit model into Twinmotion |\r\n| `tm_set_environment` | Set weather, time-of-day, environment |\r\n| `tm_render_image` | Render still image (up to 8K) |\r\n| `tm_export_video` | Export walkthrough video (MP4/MOV/WebM) |\r\n| `tm_list_scenes` | List saved scenes and animations |\r\n\r\n## Quick Start\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"twinmotion\": {\r\n      \"url\": \"https://twinmotion-mcp.itmartin24.workers.dev/mcp\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## Architecture\r\n\r\n- **Runtime**: Cloudflare Workers\r\n- **Auth**: APS OAuth2 (client_credentials)\r\n- **Cache**: Cloudflare KV (token caching)\r\n\r\n## Part of [ScanBIM Labs AEC MCP Ecosystem](https://github.com/ScanBIM-Labs)\r\n\r\nMIT — ScanBIM Labs LLC\r\r\n\r\n## Authentication\r\n\r\nTwo accepted header formats. **Use one, do NOT mix:**\r\n\r\n1. `x-scanbim-api-key: <your_user_key>` — value is the user_key verbatim.\r\n2. `Authorization: Bearer sk_scanbim_<your_user_key>` — value is the entire string including the `sk_scanbim_` prefix; the D1 `user_key` column must match this full string.\r\n\r\nMixing formats auto-creates a fresh free-plan row for the alternate key (you'll silently get a new 50-credit account on each switch).\r\n\r\nGet your user_key at [scanbim.app/settings/billing](https://scanbim.app/settings/billing).\r\n\r\n### Example\r\n\r\n```bash\r\ncurl -X POST https://mcp.scanbimlabs.io/unified/mcp \\\r\n  -H \"content-type: application/json\" \\\r\n  -H \"x-scanbim-api-key: $SCANBIM_USER_KEY\" \\\r\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"list_models\",\"arguments\":{}}}'\r\n```\r\n\r\n### Response codes\r\n\r\n- `200` — tool call proceeded; credits debited.\r\n- `401` — missing or malformed auth header (middleware returns JSON-RPC error code `-32001`).\r\n- `402` — insufficient credits; response body includes `checkout_urls` for all 5 credit packs and `top_up_url` for the billing page.\r\n",
  "bytes": 2282,
  "sha": "d26a927df9644b05fde34bc234263362551b9b7cc57d508d579f5ff3db361bff",
  "repo_slug": "scanbim-labs/twinmotion-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_scanbimlabs_twinmotion_20d1d0cf/readme"
}