Renderoni
Provides a declarative, batteries-included 3D engine for Three.js, enabling AI agents to create and manipulate 3D scenes, physics, animations, and visual effects programmatically.
Offers TypeScript-first API with typed presets and matchers for building and testing 3D games.
Provides custom Vitest matchers for headless game testing, enabling deterministic simulation stepping and state hash verification.
Integrates deterministic WebAssembly physics via Rapier, allowing headless simulation and state verification for AI agents.
Supports WebGL rendering through Three.js for interactive browser-based 3D applications.
Supports WebGPU rendering through Three.js for modern high-performance 3D graphics.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Renderonicreate a scene with a hero player and a golden coin"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ Renderoni
3D web games, served al dente.
A batteries-included, agent-native 3D engine for Three.js and Rapier.
Deterministic WebAssembly physics, declarative presets, and built-in Model Context Protocol (MCP) for AI pair programming.
โก The Problem & The Solution
Building 3D games with Three.js and Rapier WebAssembly usually means writing thousands of lines of boilerplate: fixed timestep loops, transform interpolation, character controllers, spatial audio, particle systems, and UI projections.
At the same time, AI coding agents (Claude, Gemini, Cursor) struggle with 3D engines because game loops are non-deterministic black boxes that require expensive vision screenshots.
Renderoni gives you both:
For Humans: A declarative, batteries-included 3D engine. A single
createRenderoni()call spins up physics, rendering, camera controls, spatial audio, animation state machines, and particle systems with typed presets.For AI Agents & Headless CI: A deterministic simulation kernel with a built-in Model Context Protocol (MCP) server. Agents inspect scenes via lightweight semantic Markdown (<500 bytes / ~120 tokens), dispatch typed actions, and verify game state headlessly in Node.js in under 10ms.
Related MCP server: maige-3d-mcp
๐ฎ Live Demos
Try the interactive playground live in your browser: elemarin.github.io/renderoni (or run npm run dev locally).
Demo | What It Does | Controls |
๐ช Quickstart Demo | Live interactive browser implementation of the README quickstart: hero character, spinning gold coin sensor, audio chime, and particle burst VFX. |
|
โ๏ธ Flight Simulator | Aerodynamic flight physics with lift, drag, runway takeoff & landing, retractable landing gear, and ring course. |
|
๐งฑ Vast Voxel Sandbox | Multi-biome procedural world (~2,000+ blocks) with ocean water, sandy beaches, rolling hills, snowy peaks, and trees. |
|
๐ฆ PSX 3rd-Person Horror | Retro PSX survival horror with 3rd-person chase camera, gothic manor corridor, flashlight, key puzzle, and animated iron gate. |
|
๐ฆ Installation
npm install renderoni three @dimforge/rapier3d-compatTree-shakable subpath exports:
import { createRenderoni } from 'renderoni';
import { body, kccPlayer, sensor, light } from 'renderoni/presets';
import { audio } from 'renderoni/audio';
import { animation } from 'renderoni/animation';
import { vfx } from 'renderoni/vfx';
import { ui } from 'renderoni/ui';
import { createMCPServer } from 'renderoni/mcp';
import 'renderoni/testing/matchers';๐ Quickstart
import { createRenderoni } from 'renderoni';
import { body, kccPlayer, sensor, light } from 'renderoni/presets';
import { audio } from 'renderoni/audio';
import { vfx } from 'renderoni/vfx';
// 1. Initialize engine (runs headlessly in CI or interactively in browser)
const game = await createRenderoni({
mode: 'interactive', // or 'headless'
seed: 42,
subsystems: [
audio({ volume: 0.8 }),
vfx({ particles: true }),
],
});
// 2. Add Environment & Lighting
game.add(light({ type: 'directional', position: [20, 40, 20] }));
game.add(body({ shape: 'box', type: 'fixed', size: [100, 1, 100], position: [0, 0, 0] }));
// 3. Add Collectible Item
const coin = game.add(sensor({
id: 'golden_coin',
shape: 'sphere',
radius: 0.6,
position: [4, 1.2, 0],
}));
// 4. Add Player Character
const player = game.add(kccPlayer({
id: 'hero',
position: [0, 1.5, 0],
moveSpeed: 6.5,
}));
// 5. Handle Gameplay Events
game.events.on('sensor.enter', ({ sensor, target }) => {
if (sensor.id === 'golden_coin' && target.id === 'hero') {
game.audio.play('coin_pickup');
game.vfx.spawnParticles({ count: 16, position: [4, 1.2, 0] });
coin.destroy();
}
});
// 6. Run headlessly (CI/Tests) or start interactive render loop (Browser)
game.step(60); // Step 60 fixed ticks in ~1ms (Headless CI)
// game.start(); // Start 60fps presentation loop (Browser)๐ค AI Agent Integration (MCP Server)
Connect Claude Desktop, Antigravity, Cursor, or any MCP client directly to your simulation:
{
"mcpServers": {
"renderoni": {
"command": "npx",
"args": ["renderoni", "mcp"]
}
}
}Built-in MCP Tools:
describe: Returns active entities, colliders, tags, and engine schemas.observe: Returns ultra-dense Tier 0 Markdown summaries (<500B / ~120 tokens) with positions, velocities, and game state.act: Injects deterministic semantic gameplay actions (game.act({ name, payload })).step: Advances the simulation by $N$ fixed ticks and returns state hashes.check: Evaluates machine AST assertions.
๐งช Headless Testing with Vitest
Run complete game integration tests headlessly in Node.js in under 10ms with custom Vitest matchers:
import { expect, test } from 'vitest';
import { createRenderoni } from 'renderoni';
import { kccPlayer, sensor } from 'renderoni/presets';
import 'renderoni/testing/matchers';
test('player collects coin and verifies state hash', async () => {
const game = await createRenderoni({ mode: 'headless', seed: 42 });
const hero = game.add(kccPlayer({ id: 'hero', position: [0, 1, 0] }));
const coin = game.add(sensor({ id: 'coin', position: [3, 1, 0] }));
hero.actions.move({ x: 1, z: 0 });
game.step(60);
expect(game).toHaveTick(60);
expect(hero.position[0]).toBeGreaterThan(1.5);
expect(game).toHavePassedDiagnostics();
});๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ L3 APPLICATION โ
โ Game Rules, Custom Assets, Levels, Shaders, UI Layouts โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ L2 TOOLING & AGENTS โ
โ Built-in MCP Server (stdio/SSE), Vitest Matchers, Live Inspector โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ L1 BATTERIES & SUBSYSTEMS โ
โ Spatial Audio โข Skeletal Animation โข UI Projections โข VFX Emitters โ
โ Declarative Presets: body, sensor, light, kccPlayer, dynamicPlayer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ L0 DETERMINISTIC KERNEL โ
โ Integer Tick Clock โข Seeded PRNG โข Dual-Buffer Transform Pipeline โ
โ Quantized State Hashing (XXH3) โข Resource Ownership Tracking โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ NATIVE ENGINES โ
โ Three.js (WebGL / WebGPU) โ @dimforge/rapier3d-compat (WASM) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ๐ License
MIT ยฉ Esteban Leandro Marรญn
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityAmaintenanceAn MCP Server that enables LLMs to build real-time 3D web applications in the PlayCanvas Editor.21179131MIT
- AlicenseAqualityDmaintenanceEnables AI agents to control and manipulate live 3D scenes across frameworks like Three.js, A-Frame, and Babylon.js using a comprehensive set of object and environment tools. It features an integrated in-world chat system that allows for real-time scene modifications directly from within the 3D canvas.33153MIT
- Alicense-qualityDmaintenanceAn MCP server for inspecting and manipulating Three.js/Threlte scenes in real-time.108MIT
- Alicense-qualityCmaintenanceLocal MCP server that gives AI agents 44 engine tools to build, run, and debug real 2D and 3D games through conversation.MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Eโฆ
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoโฆ
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/elemarin/renderoni'
If you have feedback or need assistance with the MCP directory API, please join our Discord server