three.ws: Give Your AI a Body — Browser-Native 3D Avatars With LLM Brains, Memory, and Autonomous Payments

By Prahlad Menon 4 min read

“Give your AI a body.” That’s the one-line pitch for three.ws, and it’s a surprisingly literal one. Most AI agents are text in a box; three.ws is an open-source (Apache-2.0), browser-native platform for wrapping an LLM in an actual 3D avatar that you can generate from a prompt, give memory and emotions, and embed anywhere as a web component — no plugins, no server uploads, no installs.

Text → 3D in about a minute

The entry point is Forge (three.ws/forge). Type something like “a brass steampunk owl, full body,” and it generates a textured 3D model you can download as a GLB. It handles text-to-3D, image-to-3D, and sketch-to-3D, with a free draft tier that doesn’t even require an account. Already have a model? Drop your own GLB in instead — the platform doesn’t care where the geometry comes from.

That lowers the single biggest barrier to 3D agents: nobody wants to model a character by hand just to prototype. Here you describe it and download it.

Then add a brain

A mesh is just a puppet. three.ws’s actual product is the layer on top: attach an LLM brain, give the avatar memory and emotions, optionally register it on-chain, and embed it. Because everything runs client-side on Three.js, the avatar lives directly in the browser rather than phoning home to a render server.

The framework is sprawling in an ambitious way — the repo carries an avatar SDK, a walk SDK (a corner mascot that strolls or platforms across your pages, on npm as @three-ws/walk), a character studio, an animation gallery, OAuth 2.1, a multiplayer layer, and a desktop app. The through-line is “no installs”: if it can run in a browser tab, it does.

An MCP server for live avatars in chat

For the AI-tooling crowd, the most interesting piece is the MCP server (@three-ws/mcp-server, listed in the Model Context Protocol registry). It lets an AI assistant drop a live, rotatable 3D avatar directly into a conversation — interactive in the chat, embeddable anywhere, free and no API key. It’s a clean example of MCP being used for something other than data retrieval: giving the assistant a visual, embodied presence.

The clever party trick: 3D inside a GitHub README

three.ws includes readme-3d, an open-source toolkit that renders a live, draggable 3D model inside GitHub markdown — a README, an issue, a discussion. It works by decimating a model down to ~1,200 triangles and embedding it as ASCII STL, which GitHub renders natively as an interactive viewer. Their own README shows an avatar generated from a one-line Forge prompt that you can rotate right there on the repo page. It’s a small thing, but it perfectly demonstrates the whole philosophy: real 3D, zero installs, everywhere.

The caveat worth naming

three.ws leans into the agentic-payments/crypto world: it has autonomous payments via x402 on Solana/EVM, on-chain agent registration, and a $THREE token on pump.fun. That’s a legitimately interesting direction — agents that can transact — but it’s also the part to evaluate with a clear head, separate from the core value. The open-source 3D-avatar toolkit (Forge, the SDKs, the MCP server, readme-3d) stands on its own merits regardless of whether you touch the on-chain/token side at all.

Worth watching

As a builder, three.ws is one of the more compelling “embodied agent” projects to appear lately: it nails the boring-but-hard parts (generate a model from text, run it entirely in the browser, embed it as a web component, expose it over MCP) and does it under a permissive Apache-2.0 license with an unusually welcoming contribution path — good first issues that name the file to change and the command that proves it worked. If you’ve been curious about putting a face and body on an LLM without standing up a render pipeline, this is a very low-friction place to start.

Repo: github.com/nirholas/three.ws · Site: three.ws