3dCMS
by 3dcms.info in AI models & inference
Build a real 3D website by chatting: pages, models and text in space, published to a live URL.
https://3dcms.info/mcp
This listing's own text contains instructions aimed at AI agents (see the security scan below). We withhold that text from agents and never recommend this service.
Last 30 days
- Uptime
- 100%
- Response time
- 481 ms typical, 524 ms slowest 5%
- Last check
- 5 h ago
- Next check
- in 2 h
How to call it
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"3dcms": {
"type": "http",
"url": "https://3dcms.info/mcp"
}
}
}13 tools
- list_scenes
List the 3D scenes saved in your 3dCMS account (editable "sources"), newest first, 40 at a time. Returns each scene's id, name, page count, last-updated time and (when published) its site slug. Pass `q` to search by name or slug instead of paging through a big account; page with
- probe_lighting
For one world point, the contribution of EVERY light in the scene, computed from the saved scene (no render, instant): each light node in reach with its value (three's falloff and spot cone, from the node's WORLD position and aim), the studio sun or the live sky, and `ambient` =
- probe_framing
Read a saved camera (cameraId), or an exact pose, as a visitor sees it at the screen shapes they actually have (16:9 desktop and 9:16 phone by default), against the rules a photographer and a web designer use. A PAGE shot (a page's own camera, its arrivalCameraId or a camera insi
- design_review
A designer's critique of a scene (or one page with pageId) against its BRIEF: what it is for (settings.design, or, when none is declared, what it reads as and why), its palette (dominant, secondary, accent, harmony, temperature, key, and whether that serves the intent and the moo
- upload_asset
Put a file into the account's asset library and get back its /assets url to use in apply_ops (a glb on a geometry node as data {primitive:"imported", assetUrl}, an image in materialMaps or a webImage src, an mp3 in an audioClip: data.audioClip = {src, volume 0-1, loop, mode, mute
- compose_surface
Make a flat surface that looks PRINTED ON a real material: a quote on a stretched canvas, a poster, a shop sign, a label, a plaque, a book cover. Start from a `base`: a texture set from the library (`setId` from list_assets; tiled at `tileSize` meters, or `mode` "stretch" for a w
- measure
Measure nodes in a saved scene (analytic, instant, no render). For each node in nodeIds: its world centre, its size along its own axes after every scale above it, its world bounding box, and `clearance`: the nearest visible thing in each world direction (+x, -x, +y, -y, +z, -z) t
- get_scene
Read a compact, high-signal summary of one scene: its nodes (id, type, name, parent, position, rotation [euler radians], scale, primitive, real `size` under the keys `data` takes (width/height/depth, radius, height, tube: write it back as patch.data as-is), assigned material; an
- create_scene
Create a new scene in your 3dCMS account and return its id: empty, or with copyFrom a full COPY of one of your scenes (Save As), the way to try a big change on a new version while the original and its published site stay untouched. Build it up with apply_ops. It appears in your a
- apply_ops
Edit a scene by applying a batch of operations ATOMICALLY (all-or-nothing). Call this for any add / move / edit / delete / duplicate / group / reparent / re-material. Reference existing nodes ONLY by the id shown in get_scene — never guess ids. To create a node and then modify or
- list_assets
Search the images, models and sounds in the account AND the shared public library (frames, props, texture sets; `scope` mine|shared|all, default all). A row with shared:true is copied in first with upload_asset {assetId}: place the url that returns, never the shared one. This is
- get_scene_screenshot
Render the scene server-side (real WebGL, headless) and return screenshot image(s) — your EYES on the scene. Use it after apply_ops batches and after probe_framing, and judge each image as a photographer and a web designer would: one clear subject, on a third (for a page's own ca
- publish_scene
Publish a saved scene to a PUBLIC, shareable URL so anyone can view it in 3D in a browser — no login required. PUBLISHING IS PARTLY IRREVERSIBLE: the URL is submitted to search engines (IndexNow) the moment it goes live, so it may appear in results even after a takedown. ALWAYS c
Security scan
- Mentions credentials or secret files in tool:probe_lighting
r the live sky, and `ambient` = lighting.env.intensity NAMED as a term, sorted by contribution, plus a `why` on each light that does not rea
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 5 h ago | Passed | 200 | 511 ms |
| 14 h ago | Passed | 200 | 526 ms |
| 23 h ago | Passed | 200 | 524 ms |
| 32 h ago | Passed | 200 | 398 ms |
| 41 h ago | Passed | 200 | 481 ms |
| 2 days ago | Passed | 200 | 422 ms |