R3

by r3js.org · org.r3js/r3

Build 3D web apps: physics, audio, music, Blender import. Live edits, undo, versions, publishing.

OnlineRemote
Category
Images, video and audio
Connection
Remote (HTTP)
Tools
60 reported
Status
Online

Connect it to your AI

Claude Code

claude mcp add --transport http r3 https://mcp.r3js.org/mcp

Claude, ChatGPT, Cursor and other apps

Add it as a custom connector with this URL (Streamable HTTP):

https://mcp.r3js.org/mcp

This server expects extra headers, usually an API key from its maker.

Cursor, VS Code and other apps (mcp.json)

{
  "mcpServers": {
    "r3": {
      "url": "https://mcp.r3js.org/mcp"
    }
  }
}

Tools it offers

60 tools, as the server itself reported during our check on Oct 31, 2026.

  • r3_docs_listEvery R3 document this server can give you, IN READING ORDER, with what each one covers and how big it is. R3's documentation begins here: no model has R3 in its pretraining, and code written from tool descriptions alone
  • r3_docs_readReturn one R3 document in full, or one API symbol. Paths come from r3_docs_list: r3_docs_read("CODE_PATTERNS.md") how a Code component is written (reading order 1) r3_docs_read("PHYSICS_USAGE.md") colliders, rigid bodies
  • r3_whoamiReport the R3 account you act for, how you are connected (an agent key, or an app connection made with Sign in with R3), what you are allowed to do, the account's plan (its name and how many live projects it allows and u
  • r3_project_createCreate a new R3 project and save it to the user's account. Produces a complete, openable project — scene, world, camera, renderer, lighting, audio listener, music transport and OrbitControls (anyone who opens it can turn
  • r3_project_listList the projects this R3 account can work on — its own and its teams' — last updated first, with the projectId every other project tool takes. It is how a project the user names ("my slot machine") rather than giving an
  • r3_project_loadList the components in an existing R3 project — what it contains and, for each one, its entityRef: the name code addresses it by (`this['mesh_cube_1']`). Read this before writing any code for a project, and after any too
  • r3_preview_createCreate a shareable preview link for a saved R3 project, so a person can open it in a browser and see it running. The link is valid for 7 days and does NOT make the project public; making a new one is free. It is how the
  • r3_preview_removeRemove the preview link of an R3 project: every preview link to it stops working at once (teammates' too). Only when the user asked for it, or when the preview link is what blocks an r3_project_delete the user asked for:
  • r3_publish_livePublish an R3 project live: makes a RELEASE (a frozen copy) of the project as it is now and makes it the one its public live URL shows, for anyone. Only when the user asked for it. Changing the project does NOT change th
  • r3_unpublish_liveTake a live R3 project offline: its public live URL stops working at once, and the live-project slot it used on the plan is free again. Only when the user asked for it. Other people open a live project, so one that block
  • r3_release_listList the releases of an R3 project, newest first: number, date, who made it, note, size, which one is LIVE (what the public URL shows), pinned, and releases in the trash (restorable for 7 days). Also says whether the pro
  • r3_release_rollbackMake an earlier release of a live R3 project the one its public URL shows again (rollback, or forward again). Only when the user asked for it. The project must be live; this never uses a plan slot. A release in the trash
  • r3_publish_settings_readRead the publish settings of one of the user's own R3 projects in this environment — what the app's Deploy → Settings shows: Works on (keyboard / touch / both / not tested), the SEO title and description that search engi
  • r3_publish_settings_setChange publish settings of one of the user's own R3 projects in this environment — the app's Deploy → Settings. Only the settings named change (the rest stay as they are). Only when the user asked for it, or approved the
  • r3_project_renameRename a project: the name shown in the user's project list, the editor's title and the live page. The same change as clicking the title in the R3 editor, kept at once in the project's live copy (every open R3 tab shows
  • r3_project_deletePermanently delete an R3 project. With the project:delete:created right (on by default), only a project YOU created (this agent key or app connection) — use it to clean up your own abandoned attempts; the user's own proj
  • r3_factory_listList the R3 factories available to r3_factory_run, with each one's options, types and defaults. A factory builds a complete, correctly-wired object — a cube is a mesh plus geometry plus material plus colour, already conn
  • r3_factory_runAdd an object to an existing R3 project — a cube, sphere, terrain, lighting, a physics body, and so on. Each factory builds a complete, correctly-wired object (mesh + geometry + material + colour, already connected), so
  • r3_code_writeAdd or replace a Code component: JavaScript that makes a project DO something. It runs on ONE event you choose (`event`): RENDER_BEFORE (default) every frame, for movement (held keys: this.keysPressed); KEY_DOWN / KEY_UP
  • r3_code_readRead back what a Code component actually contains — its full JavaScript source and the event it runs on. r3_code_write reports what it wrote; this reports what is there. Use it before replacing a script, so an edit build
  • r3_help_writeSet the instructions that ship WITH a project — controls, what to press, what it does. R3 renders them in a modal behind a floating "?" button and the H key, in the editor and in the live portal alike, so whoever opens y
  • r3_component_setSet one or more properties on a component that already exists in a project — a material's roughness, a mesh's position, which material a mesh uses. Kept at once in the project's live copy: every R3 tab with the project o
  • r3_component_readRead back what components actually hold — a material's colour and roughness, a mesh's position, which material it uses. r3_project_load gives you the names; this gives you the values behind them. Pass SEVERAL entityRefs
  • r3_terrain_heightHow high the ground of a heightfield terrain is at the world (x, z) positions you ask, exactly as physics and the drawn terrain have it, plus the terrain's lowest and highest point, centre, size and footprint. Use it to
  • r3_component_boundsThe size and place of meshes and imported models, in R3 units (metres): the world-space box around each (min, max, size, centre), the mesh's scale, rotation and parents applied. Name a Mesh, or the root Empty of a Blende
  • r3_component_addAdd one component of ANY registered type — a collider, a rigid body, a joint, a light, a material, a geometry … — to a saved R3 project, with its values and references set before it is created. Kept at once in the projec
  • r3_editor_openOpen a project in the R3 editor the user has open in their browser (their most recently used R3 tab) and focus it, so they see it. A project already open there is just focused (never reloaded). It is how the user gets to
  • r3_editor_inspectRead what components hold RIGHT NOW in an R3 tab that has the project open: runtime values included — a moving body's position while the project runs. Use it to debug live behaviour. It needs a tab with the project open
  • r3_editor_setThe same tool as r3_component_set (this is its older name): change properties of a component, kept at once in the project's live copy: every R3 tab with the project open shows it now, no editor needed and nothing to save
  • r3_editor_codeThe same tool as r3_code_write (this is its older name): replace a Code component's code, kept at once in the project's live copy: every R3 tab with the project open runs the new code now, no editor needed and nothing to
  • r3_editor_createThe same tool as r3_factory_run (this is its older name): add an object — a cube, sphere, light, physics body … — kept at once in the project's live copy: every R3 tab with the project open shows it now, no editor needed
  • r3_editor_add_componentThe same tool as r3_component_add (this is its older name): add one component of ANY registered type — a collider, a rigid body, a joint, a light, a material, a geometry … — with its values and references set before it i
  • r3_editor_deleteDelete components from the project the user has OPEN in their R3 editor, exactly as the editor's delete dialog asks it — in TWO calls. First call WITHOUT `confirm`: it returns the plan and changes nothing — the selected
  • r3_editor_undoUndo the last change YOU (this agent key or app connection) made to a project: everything one of your tool calls changed is undone together, and the user sees it at once in any R3 tab that has the project open. Use it wh
  • r3_release_restorePut a project's working copy back the way one of its releases (saved versions) had it: components added since are removed, removed ones come back, values and scripts go back to that version (each script as a new version
  • r3_editor_runPress the Run buttons of the user's open R3 editor: start physics, code, audio and music (all of them, or the ones named in `systems`), exactly as the user's own click does — a paused simulation resumes. Use it to TEST w
  • r3_editor_stopPress the Stop buttons of the user's open R3 editor: stop physics, code, audio and music (all of them, or the ones named in `systems`), exactly as the user's own click does. Stopping physics puts every body back where it
  • r3_editor_captureCapture the canvas of a project open in the user's R3 editor — the scene as it looks NOW, running physics included — and LOOK at it: the answer is an image. Call it after a visual change (r3_editor_set, r3_editor_create,
  • r3_editor_set_preview_imageUse what the project's camera shows NOW, in the user's open R3 editor, as the project's share image: the picture its live page, link previews (social cards) and the showcase show, used when the project is next published
  • r3_blender_listList the Blender models this R3 account has uploaded — one per .blend file name, the current version of each — with what it will produce: how many Blender objects land in the scene, how many meshes and materials, its scr

Questions

What is the R3 MCP server?

Build 3D web apps: physics, audio, music, Blender import. Live edits, undo, versions, publishing. It is made by r3js.org and listed in the official MCP Registry as org.r3js/r3. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.

How do I add R3 to Claude?

In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://mcp.r3js.org/mcp. In Claude Code, run: claude mcp add --transport http r3 https://mcp.r3js.org/mcp

How do I add R3 to ChatGPT?

ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://mcp.r3js.org/mcp.

How do I add R3 to Cursor?

Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "r3": { "url": "https://mcp.r3js.org/mcp" } } }

Does R3 work right now?

Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.

What can R3 do?

It gives your AI 60 tools, including r3_docs_list, r3_docs_read, r3_whoami, r3_project_create, r3_project_list. The full list is on this page.

Is this your server? Get the badge for your README
chen.media/mcp badge

Markdown (GitHub README)

[![Listed on chen.media/mcp](https://chen.media/mcp/badge/org-r3js-r3.svg)](https://chen.media/mcp/org-r3js-r3)

HTML (switches to dark mode on its own)

<a href="https://chen.media/mcp/org-r3js-r3"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/org-r3js-r3.svg?theme=dark"><img src="https://chen.media/mcp/badge/org-r3js-r3.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>

More in Images, video and audio

See all