Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
ScanBIM (scanbim-mcp) is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
AI Hub for AEC — 50+ 3D formats, clash detection, ACC integration via Autodesk Platform Services.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http scanbim-scanbim-mcp https://scanbim-mcp.itmartin24.workers.dev/mcp
# 2 — ask your agent for something these tools do
# upload_model, detect_clashes, get_viewer_link and 16 more
ScanBIM (scanbim-mcp) costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http scanbim-scanbim-mcp https://scanbim-mcp.itmartin24.workers.dev/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
19 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Ingest a 3D model from a public URL into APS OSS and kick off a Model Derivative translation job, returning the URN plus a browser viewer link and QR code. Supports 50+ formats: Revit (.rvt/.rfa), Navisworks (.nwd/.nwc), IFC, FBX, OBJ, SolidWorks, point clouds (E57/LAS/RCP), CAD (DWG/STEP/IGES), etc. When to use: you have a publicly downloadable 3D file (S3 presigned URL, GitHub raw, etc.) and nee
| Parameter | Type | Required | Notes |
|---|---|---|---|
| file_url | string | yes | Publicly fetchable HTTPS URL to the 3D model file. Must be directly downloadable (no login wall, no JS redirect); the worker does a plain fetch() and streams the bytes into APS OSS. Max 100MB for dire |
| file_name | string | yes | Filename including the extension. The extension is used to determine the tier (free/pro/enterprise) and is preserved in the OSS object key (prefixed with a Unix-ms timestamp). Use only ASCII + dash/un |
| project_name | string | no | Optional free-text label stored alongside the model row in D1 for grouping models by project. Does not affect APS storage or URN. Defaults to 'default' when omitted. |
Run a first-pass bounding-box clash check between two element categories in a translated model. Element boxes are read from the APS Model Derivative properties endpoint; ScanBIM never estimates or synthesises geometry. If the model returns no element boxes for a category, the tool returns status 'unavailable' with the element counts it did find and runs NO clash pass - treat that as no result, not
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | yes | APS URN returned by upload_model. Base64url-encoded Autodesk object ID starting with 'dXJu' (which decodes to 'urn:adsk.objects:os.object:...'). Unpadded. |
| category_a | string | yes | Revit/IFC category name (case-sensitive, exactly as it appears in the model properties). Common values: 'Ducts', 'Pipes', 'Electrical', 'Structural Framing', 'Structural Columns', 'Mechanical Equipmen |
| category_b | string | yes | Second Revit/IFC category to clash against category_a. Case-sensitive; must match a category present in the translated model's property set. |
Return a shareable browser URL for the embedded APS viewer and a matching QR code for mobile/XR handoff. Does not require the model to be fully translated — the viewer page will poll the manifest. When to use: you need to hand a stakeholder a URL to see the 3D model in a browser, or print a QR for a jobsite. When NOT to use: you need the raw APS URN for programmatic API calls — use the model_id yo
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | yes | APS URN (base64url-encoded Autodesk object ID, starts with 'dXJu', unpadded) or the model_id returned from upload_model. |
List every object currently stored in the scanbim-models OSS bucket, with URN, size in MB, and a viewer URL for each. Returns the raw OSS inventory, not the D1 models table, so freshly uploaded items appear immediately. When to use: you need to enumerate previously uploaded models to find a URN, show an inventory, or pick one for a follow-up tool call. When NOT to use: you already know the exact U
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_name | string | no | Reserved for future filtering by the D1 project_name column. Currently informational only; the OSS listing is not filtered by this value. |
| format | string | no | Reserved for future filtering by file extension (e.g. 'rvt', 'ifc'). Currently informational only; the OSS listing is not filtered by this value. |
Fetch the APS Model Derivative manifest and metadata for a URN, including translation progress, derivative outputs, and a viewer URL. Use this to confirm a model has finished translating (manifest.status == 'success') before calling detect_clashes or opening the viewer. When to use: right after upload_model to poll translation progress, or later to inspect which viewable derivatives (SVF2, thumbna
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | yes | APS URN (base64url-encoded Autodesk object ID, starts with 'dXJu', unpadded) as returned by upload_model. |
Return the full matrix of supported input formats organized by subscription tier (free / pro / enterprise). Use to tell a user whether their file type is accepted before calling upload_model, or to surface pricing tier info. When to use: you need to validate a file extension or show a customer the supported format list. When NOT to use: you already know the extension is common (.rvt/.ifc/.nwd/.obj
No parameter schema on file.
List every Autodesk Construction Cloud (ACC) / BIM 360 project the configured APS 2-legged app has access to, flattened across all hubs, with hub_id, hub_name, project_id, project_name, and project type. When to use: you need a project_id to pass into acc_create_issue, acc_list_issues, acc_create_rfi, acc_list_rfis, acc_search_documents, or acc_project_summary. When NOT to use: you already have th
No parameter schema on file.
Create a real issue (punchlist/QC item) in ACC Build's Issues module via the APS Construction Issues v1 API. Returns the ACC-generated issue_id which can be linked back to a model URN or a detected clash. When to use: detect_clashes flagged a critical clash, or a field user reports a QC defect, and you want to track it in ACC for assignment and closeout. When NOT to use: you want to file a formal
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | ACC project ID in either 'b.<uuid>' or plain '<uuid>' form (the worker strips the 'b.' prefix before calling the Issues endpoint). Obtainable via acc_list_projects. |
| title | string | yes | Short human-readable issue title, 1-255 chars. Shows up as the headline in ACC Issues UI. |
| description | string | yes | Long-form issue body. Plain text; supports newlines. Include clash coordinates, trade impact, and suggested fix. |
| priority | string | no | ACC issue priority. Defaults to 'medium' if omitted. |
| assigned_to | string | no | ACC user ID (UUID) or email of the assignee. Pass null or omit to leave unassigned. |
| due_date | string | no | ISO 8601 calendar date (YYYY-MM-DD). Time component is ignored by ACC. |
| linked_model_id | string | no | Optional APS URN linking this issue back to the source model. Stored for ScanBIM cross-referencing; not forwarded to ACC's linkedDocuments field. |
Create a Request For Information in ACC Build's RFIs module via the APS Construction RFIs v1 API, in 'draft' status. Returns the ACC rfi_id. When to use: a trade or subcontractor needs formal information from the design team (unclear detail, conflicting spec, missing dimension) and you want a tracked paper trail. When NOT to use: the item is just a punchlist fix — use acc_create_issue. The questio
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | ACC project ID in 'b.<uuid>' or '<uuid>' form (the 'b.' prefix is stripped automatically). Obtainable via acc_list_projects. |
| subject | string | yes | Short RFI subject line, 1-255 chars. Appears as the RFI headline in ACC. |
| question | string | yes | Full question body sent to the design team. Plain text with newlines allowed. |
| assigned_to | string | no | ACC user ID (UUID) or email of the responder. Pass null or omit to leave unassigned. |
| priority | string | no | RFI priority. Defaults to 'medium'. |
| linked_clash_id | string | no | Optional clash ID from detect_clashes output used to link this RFI back to the triggering clash. Stored for ScanBIM cross-referencing; not forwarded to ACC. |
| linked_model_id | string | no | Optional APS URN of the model the RFI references. Stored for ScanBIM cross-referencing; not forwarded to ACC. |
List up to 50 issues from an ACC project, optionally filtered by status and priority. Returns a normalized array of {id, title, status, priority, due_date}. When to use: you need a dashboard view of open issues, to find a specific issue by metadata, or to check the status of previously created issues. When NOT to use: you want the full audit trail of a single issue — the ACC Issues UI or the per-i
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | ACC project ID in 'b.<uuid>' or '<uuid>' form (the 'b.' prefix is stripped automatically). Obtainable via acc_list_projects. |
| status | string | no | Filter by ACC issue status. Accepted values: 'open', 'closed', 'in_review', 'draft'. Omit for all statuses. |
| priority | string | no | Filter by priority: 'critical' | 'high' | 'medium' | 'low'. Omit for all priorities. |
| assigned_to | string | no | Reserved for future filtering by assignee user ID or email. Currently not forwarded to the ACC API. |
List up to 50 RFIs from an ACC project, optionally filtered by status. Returns a normalized array of {id, subject, status}. When to use: you need a quick rollup of outstanding or answered RFIs on a project, or to find a specific RFI id. When NOT to use: you want the full response thread of a single RFI — use the ACC UI or per-RFI endpoint. This tool caps at 50 results and does no pagination. APS s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | ACC project ID in 'b.<uuid>' or '<uuid>' form (the 'b.' prefix is stripped automatically). |
| status | string | no | Filter by RFI status. Common values: 'draft', 'open', 'answered', 'closed', 'void'. Omit for all. |
Full-text search the ACC Docs module on a project for drawings, specs, submittals, and other documents matching a query string. Calls the APS Data Management v1 search endpoint scoped to a project. When to use: an agent needs to locate a spec section, a sheet, or a submittal by keyword (e.g. 'fireproofing', 'A-101', 'RFI 23'). When NOT to use: you already have the document URN/lineage — fetch it d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | ACC project ID in 'b.<uuid>' or '<uuid>' form (the 'b.' prefix is stripped and re-prepended automatically for the Data Management API). |
| query | string | yes | Free-text search string. Matched against document names and attributes. URL-encoded automatically by the worker. |
| document_type | string | no | Optional document type filter forwarded as filter[type]. Common values: 'drawing', 'spec', 'submittal', 'rfi', 'photo'. |
Fetch a single ACC/BIM 360 project's full attributes (name, type, dates, address, hub) from the APS Data Management project endpoint. If hub_id is omitted, the first hub the app can see is used. When to use: you need name, type, or scope details for a single project before acting on it, or to confirm the project still exists. When NOT to use: you want the list of all projects — call acc_list_proje
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | Full ACC project_id including the 'b.' prefix, exactly as returned by acc_list_projects. Unlike the Issues/RFIs tools, this tool passes the ID through unchanged to the Data Management project endpoint |
| hub_id | string | no | Optional ACC hub_id (format 'b.<account-uuid>'). If omitted, the worker picks the first hub returned by /project/v1/hubs. |
Create a shareable WebXR VR walkthrough session URL (and Meta Quest oculus:// deep link + QR code) for a translated model. The session_id is generated server-side; rendering happens in the user's Quest browser. When to use: you need to walk a client or field team through a model in immersive VR on Meta Quest 2/3/Pro. When NOT to use: the user is on a phone/tablet without a headset — use xr_launch_
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | yes | APS URN (base64url-encoded, starts with 'dXJu', unpadded) of the model to load in VR. |
| session_name | string | no | Human-readable session label shown in the session list. Defaults to 'VR Session' if omitted. |
| enable_measurements | boolean | no | Enable in-VR tape-measure tool. Defaults to true. |
| enable_voice_annotations | boolean | no | Enable voice-note recording anchored to model elements. Defaults to false. |
| max_participants | number | no | Maximum concurrent participants in multi-user mode. Integer 1-20. Defaults to 5. |
Create a shareable WebXR AR passthrough session URL and QR code. On phone or tablet with WebXR AR support, the model is overlaid on the camera feed at the requested scale. When to use: a field user needs to walk the jobsite with a phone and see the model overlaid in-place at 1:1 scale, or drop a tabletop mini-model on a desk. When NOT to use: the target device is a Meta Quest in VR mode — use xr_l
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | yes | APS URN (base64url-encoded, starts with 'dXJu', unpadded) of the model to load in AR. |
| session_name | string | no | Human-readable session label shown in the session list. |
| scale | string | no | Model placement scale. '1:1' for in-situ real-world scale, 'tabletop' for ~1:50 desk-top display, 'custom' to allow pinch-to-scale. Defaults to '1:1'. |
List the last 20 VR/AR sessions launched via xr_launch_vr_session and xr_launch_ar_session, sorted by creation time desc. Sourced from the D1 usage_log table; returns an empty array if D1 is unavailable or no sessions have been recorded. When to use: you want to audit who launched which XR session and when, or surface recent sessions to a user. When NOT to use: you want details (join URL, features
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | no | Reserved for future filtering by model URN. Currently not applied; all recent xr_* sessions are returned. |
| session_type | string | no | Reserved for future filtering by session type. Currently not applied; both VR and AR sessions are returned. |
Queue a photorealistic Twinmotion-style still render of a translated model with time-of-day, weather, season, and resolution controls. Returns a render_id and preview_url; the actual render pipeline is a ScanBIM roadmap item (Week 5 buildout), so today this tool responds synchronously with a stub job descriptor. When to use: you want a scripted way to request a hero still for a proposal or client
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | yes | APS URN (base64url-encoded, starts with 'dXJu', unpadded) of the model to render. |
| time_of_day | string | no | Sun angle preset driving lighting, shadows, and sky. Defaults to 'noon'. |
| weather | string | no | Sky and atmospheric preset. Defaults to 'clear'. |
| season | string | no | Vegetation and ground-cover preset. Defaults to 'summer'. |
| camera_preset | string | no | Named camera viewpoint (e.g. 'hero-exterior', 'lobby-entry'). Free-form string passed through to the render pipeline. |
| resolution | string | no | Output image resolution. Defaults to '4k'. |
Queue a cinematic Twinmotion-style fly-through video of a translated model. Returns a video_id and download_url; the render pipeline is a ScanBIM roadmap item so today this tool responds synchronously with a stub job descriptor. When to use: you want a short marketing or pre-con video scripted from an agent workflow. When NOT to use: you want real-time interactivity — use get_viewer_link. You want
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | yes | APS URN (base64url-encoded, starts with 'dXJu', unpadded) of the model to animate. |
| duration_seconds | number | no | Video duration in seconds. Integer 10-600; defaults to 60 when omitted. |
| style | string | no | Animation and color-grade preset. 'cinematic' = orbits + tilts, 'technical' = orthographic pans, 'presentation' = slow lobby-to-penthouse. |
Queue a Lumion-style architectural visualization still render with landscaping, people, vehicles, and atmospheric effects. Returns a render_id and preview_url; the render pipeline is a ScanBIM roadmap item so today this tool responds synchronously with a stub job descriptor. When to use: you want a more 'Lumion-flavored' render (lush entourage, vehicles, people) vs. Twinmotion's cleaner look. When
| Parameter | Type | Required | Notes |
|---|---|---|---|
| model_id | string | yes | APS URN (base64url-encoded, starts with 'dXJu', unpadded) of the model to render. |
| style | string | no | Overall visual preset. 'photorealistic' = full PBR, 'artistic' = painterly, 'sketch' = line-drawing overlay, 'aerial' = drone perspective. |
| add_landscaping | boolean | no | Populate trees, shrubs, and ground cover appropriate to region. Defaults to true. |
| add_people | boolean | no | Populate animated/static human entourage. Defaults to true. |
| add_vehicles | boolean | no | Populate cars, trucks, and other vehicles in parking/streets. Defaults to false. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install ScanBIM (scanbim-mcp) or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| upload_model | no tags | |
| detect_clashes | no tags | |
| get_viewer_link | no tags | |
| list_models | no tags | |
| get_model_metadata | untrusted-input | untrusted-input: keyword "fetch" |
| get_supported_formats | no tags | |
| acc_list_projects | no tags | |
| acc_create_issue | external-sink | external-sink: keyword "create_issue" |
| acc_create_rfi | no tags | |
| acc_list_issues | no tags | |
| acc_list_rfis | no tags | |
| acc_search_documents | untrusted-input | untrusted-input: keyword "fetch" |
| acc_project_summary | untrusted-input | untrusted-input: keyword "fetch" |
| xr_launch_vr_session | no tags | |
| xr_launch_ar_session | no tags | |
| xr_list_sessions | no tags | |
| twinmotion_render | no tags | |
| twinmotion_walkthrough | untrusted-input | untrusted-input: keyword "download" |
| lumion_render | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.2.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish ScanBIM (scanbim-mcp) can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.