{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9sbfwvrjnzvx","handle":"twinmotion-mcp","url":"https://wellknown.network/agents/twinmotion-mcp","links":{"self":"https://wellknown.network/agents/twinmotion-mcp/record.json","html":"https://wellknown.network/agents/twinmotion-mcp","markdown":"https://wellknown.network/agents/twinmotion-mcp/record.md","api":"https://wellknown.network/api/v1/agents/twinmotion-mcp","status":"https://wellknown.network/api/v1/agents/twinmotion-mcp/status","claim":"https://wellknown.network/agents/twinmotion-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/twinmotion-mcp/claim.json","badge":"https://wellknown.network/agents/twinmotion-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/twinmotion-mcp/history","tools":"https://wellknown.network/api/v1/agents/twinmotion-mcp/tools"},"ard":{"identifier":"urn:air:twinmotion-mcp.itmartin24.workers.dev:server:twinmotion-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Twinmotion MCP","summary":"Twinmotion rendering via APS — import Revit, set environments, render images, export video.","description":"Twinmotion rendering via APS — import Revit, set environments, render images, export video.","publisher":{"name":"io.scanbimlabs","url":null},"homepage":null,"repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://twinmotion-mcp.itmartin24.workers.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-04-12T19:39:49.295833Z","publishedAt":"2026-04-12T19:39:49.295833Z","registryName":"io.scanbimlabs/twinmotion-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.583,"provenance":"derived"},{"slug":"dev.ci-cd","name":"CI/CD & Deploy","confidence":0.525,"provenance":"derived"},{"slug":"productivity.crm","name":"CRM & Sales","confidence":0.525,"provenance":"derived"},{"slug":"data.weather","name":"Weather","confidence":0.51,"provenance":"derived"}],"categories":["analytics","data","dev","productivity"],"language":"sv"},"observed":{"status":"live","statusReason":"Responded 1h ago.","lastOkAt":"2026-10-12T05:26:28.818Z","lastProbedAt":"2026-10-12T05:26:28.818Z","statusComputedAt":"2026-10-12T05:27:30.714Z","reliability30d":{"probes":113,"successRate":1,"p50Ms":18,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":112,"ok":112,"authBoundaryOk":0,"serviceOk":112,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-12T05:26:28.818Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":32,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-11T23:22:49.527Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-11T17:22:19.650Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-11T10:24:49.425Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":61,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-11T04:26:25.769Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":10,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-10T22:20:26.554Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-10T15:31:36.000Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":16,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-10T09:24:36.192Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-10T03:25:34.539Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":17,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-09T20:29:16.419Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":54,"error":null,"detail":{"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"toolCount":5,"toolsHash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","serverName":"twinmotion-mcp","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2024-11-05"}}],"tools":[{"name":"tm_import_rvt","description":"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"},{"name":"tm_set_environment","description":"Configure the visualization environment (weather, time-of-day, surround context) for a previously imported model. Validates the model exists via APS Model Deriv"},{"name":"tm_render_image","description":"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 "},{"name":"tm_export_video","description":"Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces O"},{"name":"tm_list_scenes","description":"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"}],"package":null,"toolSurface":{"id":"ts_6wkfdwaqwpzw","endpointId":"ep_w6vtn3k3zee2","hash":"c1a0bed5aa0316ca2434b3be881190ccd08c8f6a5f6b929d20f32b695057b51e","toolCount":5,"serverName":"twinmotion-mcp","serverVersion":"1.1.0","protocolVersion":"2024-11-05","firstSeenAt":"2026-09-12T11:27:42.997Z","lastSeenAt":"2026-10-12T05:26:28.802Z","observations":112,"toolNames":["tm_import_rvt","tm_set_environment","tm_render_image","tm_export_video","tm_list_scenes"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_w6vtn3k3zee2","url":"https://twinmotion-mcp.itmartin24.workers.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T22:20:26.561Z","auth":{"observedAt":"2026-10-10T22:20:26.571Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T22:20:26.586Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"itmartin24.workers.dev","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-10-05T05:06:36.000Z","validTo":"2027-01-03T05:06:35.000Z","daysToExpiry":82,"sanCount":2,"fingerprint256":"E4:8D:34:AE:42:26:2C:0F:6E:0D:E3:2B:2B:20:D0:D6:6F:9E:4B:B5:4F:91:2D:27:E3:53:A6:7E:BF:BE:9A:89"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.scanbimlabs/twinmotion-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.scanbimlabs%2Ftwinmotion-mcp","firstSeenAt":"2026-09-07T07:22:30.964Z","fetchedAt":"2026-10-11T13:20:46.410Z","normalizedAt":"2026-10-11T13:20:46.410Z"}]},"firstSeenAt":"2026-09-07T07:22:30.964Z","updatedAt":"2026-10-12T05:28:44.015Z"}