Three.js 3D Viewer
Official MCP demo server that renders interactive WebGL scenes inside the chat. 2 tools, no sign-in, an MCP Apps widget — a reference implementation, not a product.
Verified connector
Listed by Anthropic as a partner connector in its Connectors Directory.
Connection checked by Agentman on .
Anthropic states this reflects the level of review a connector received, not a security audit.
Connect Three.js 3D Viewer via MCP
https://example-server.modelcontextprotocol.io/threejs/mcpWorks in any MCP-compatible client. In Agentman Studio it is one click — no config file to edit.
Three.js 3D Viewer Tools & Capabilities (2)
Render an interactive 3D scene with custom Three.js code. Supports transparent backgrounds (alpha: true) for seamless host UI integration. Available globals: THREE, OrbitControls, EffectComposer, RenderPass, UnrealBloomPass, canvas, width, height.
Get documentation and examples for using the Three.js View
Read from the server on 2026-08-18, including each tool's own safety annotations.
Limits
- No support guarantee. The only channel is the
ext-appsissue tracker, which serves all twenty-six examples in the repository. - Two tools, no persistence. Scenes are not saved, addressable or shareable. There is no gallery, no export and no scene identifier.
- No model loading. Despite "3D Viewer" in the name, neither tool accepts a file or a URL. The only input is JavaScript. Loading a model means writing loader code into the
codeparameter and fetching it from within the widget. - Widget-dependent. Without MCP Apps support in the client you get a
successboolean and no picture. - Claude only, per the listing. Anthropic records
works_withas["claude"]. - No safety annotations. Neither tool declares
readOnlyHintordestructiveHint, so an agent policy keyed on annotations has nothing to read. - Listing metadata is unreliable here. Zero tool names, a wrong documentation link and an auth posture contradicted by the wire — verify against the server, not the entry.
Frequently asked questions
Is the Three.js 3D Viewer a product I can rely on?
No. It is a reference implementation the Model Context Protocol project publishes to demonstrate MCP Apps, hosted at example-server.modelcontextprotocol.io and shipped as one of twenty-six examples in the ext-apps repository. It carries no availability commitment, no service level and no support channel beyond the repository issue tracker. Treat it as a demonstration you can read, run locally and learn from.
Does the Three.js MCP server need an account or an API key?
No. We opened an anonymous handshake against the endpoint on 2026-08-18 and the server returned both tool definitions, its capability block and its resource listing without any credential. That contradicts the directory entry, which records is_authless as false and an auth posture of auth_required. The wire behaviour is what a client actually meets, so no sign-in is needed.
Why does Anthropic's directory list no tools for this connector?
The listing is empty and the server is not. Anthropic's directory records tool_names as an empty array, while a live tools/list on 2026-08-18 returned two tools, show_threejs_scene and learn_threejs. This is a total absence rather than a partial mismatch, so nothing in the listing describes the surface. Read the tool names from the handshake, never from the directory entry.
Where does the 3D scene actually render, and what runs the code?
In your own MCP client, not on the server. The server declares a resources capability and serves one HTML widget at ui://threejs/mcp-app.html with MIME type text/html;profile=mcp-app, the MCP Apps marker. The show_threejs_scene tool points at that same URI, so a supporting client loads the widget and executes your JavaScript against a WebGL canvas locally.
What does the learn_threejs tool return?
A documentation string, not a live lookup. The server source shows learn_threejs takes no parameters and returns a fixed Three.js reference bundled into the server: the list of available globals, template scenes for transparent and solid backgrounds, a rotating cube example, an interactive OrbitControls example, and tips on materials, lighting and animation. It never queries the network.
Is the Three.js connector safe to call?
Both tools ship without safety annotations, so the server asserts nothing either way. Neither carries readOnlyHint nor destructiveHint — the fields are absent, not set false. In practice show_threejs_scene runs your JavaScript inside the client widget and learn_threejs returns a static string, but that reading comes from the published source rather than from a declaration on the wire.
Can I use the Three.js viewer outside Claude?
The directory lists Claude only, and the widget needs MCP Apps support. Anthropic records works_with as claude alone, so nothing else is listed as compatible. Any MCP client can complete the handshake and call both tools, but a client that does not implement the MCP Apps extension gets text back instead of a rendered scene, which removes the point of the server.
Why does the directory link to the PDF server's README?
It is a wrong link in the listing. Anthropic's directory publishes the documentation URL as the pdf-server README inside the ext-apps repository, which documents a different example entirely. The correct file is the threejs-server README in the same repository. We confirmed both URLs return 200 on 2026-08-18, so the bad link resolves cleanly to the wrong server's documentation.
Sources
- Three.js example README,
modelcontextprotocol/ext-apps— https://github.com/modelcontextprotocol/ext-apps/blob/main/examples/threejs-server/README.md (fetched 2026-08-18, HTTP 200) · retrieved 2026-08-18 - Three.js example server source,
server.ts— https://github.com/modelcontextprotocol/ext-apps/blob/main/examples/threejs-server/server.ts (fetched 2026-08-18, HTTP 200) · retrieved 2026-08-18 - Live
initialize,tools/list,resources/list,resources/templates/listandprompts/listhandshake against the endpoint — 2026-08-18 · retrieved 2026-08-18 - Anthropic connector directory entry — https://claude.ai/directory/471ca2be-244d-4d9a-955a-3cdbcf76a12b (snapshot 2026-08-16; the live page returns HTTP 403 to non-browser clients) · retrieved 2026-08-16
- Directory-published documentation URL, recorded as a defect — https://github.com/modelcontextprotocol/ext-apps/blob/main/examples/pdf-server/README.md (fetched 2026-08-18, HTTP 200; documents the PDF example, not this one) · retrieved 2026-08-18
- Support channel — https://github.com/modelcontextprotocol/ext-apps/issues (fetched 2026-08-18, HTTP 200) · retrieved 2026-08-18
- Privacy policy, The Linux Foundation projects — https://lfprojects.org/policies/privacy-policy/ (fetched 2026-08-18, HTTP 200) · retrieved 2026-08-18
- Model Context Protocol documentation — https://modelcontextprotocol.io/docs/2026-07-28/getting-started/intro (fetched 2026-08-18, HTTP 200;
modelcontextprotocol.io/redirects here) · retrieved 2026-07-28
Use in Agentman
Connect once and your agents call these tools on their own — on a schedule, in a workflow, with nobody at the keyboard.
Open in Agentman StudioServer Info
- Category
- Developer Tools
- Developer
- Three.js 3D Viewer
- Tools
- 2
- Domain
- example-server.modelcontextprotocol.io
Using Claude Desktop or another MCP client? Setup docs — the connection URL above works anywhere.