Skip to main content
Glama
putervision
by putervision
README.md
# @putervision/world-model-mcp

[![npm version](https://img.shields.io/npm/v/@putervision/world-model-mcp.svg)](https://www.npmjs.com/package/@putervision/world-model-mcp)
[![npm downloads](https://img.shields.io/npm/dm/@putervision/world-model-mcp.svg)](https://www.npmjs.com/package/@putervision/world-model-mcp)
[![CI](https://github.com/putervision/world-model-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/putervision/world-model-mcp/actions/workflows/ci.yml)
[![Node](https://img.shields.io/badge/node-%3E%3D18.18.0-339933.svg?logo=node.js&logoColor=white)](https://nodejs.org)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.5-3178C6.svg?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
[![Website](https://img.shields.io/badge/Website-putervision.com-6366f1.svg)](https://putervision.com)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/putervision/world-model-mcp/blob/main/LICENSE)

`@putervision/world-model-mcp` is a zero-infrastructure, deterministic Model Context Protocol (MCP) server that maintains a persistent 3D/2D spatial world model for AI agents. It bridges perception ([`@putervision/vision-memory-mcp`](https://github.com/putervision/vision-memory-mcp)) and reasoning/action ([`@putervision/state-memory-mcp`](https://github.com/putervision/state-memory-mcp)) with durable entity tracking, object permanence with confidence decay, movement simulation with AABB collision avoidance, expected view frustum projection, and Playwright 3D game automation.

๐ŸŒ **Official Documentation & Website**: [putervision.com](https://putervision.com)

---

## โšก Quick Start & Installation

> **Prerequisites**: Node.js **>= 18.18.0**

```bash
# 1. Install globally
npm install -g @putervision/world-model-mcp

# 2. Navigate to your project directory
cd your-project

# 3. Initialize world-model-mcp
# Creates .world-model-mcp/, updates .gitignore, registers project,
# and scaffolds IDE instructions and MCP configs for Cursor, Claude, VS Code, Windsurf, etc.
world-model-mcp init

# Done! Restart your IDE or Agent Manager to activate.
```

### Alternative Options
```bash
# Run directly via binary (after global install)
world-model-mcp run

# Launch interactive 3D WebGL Scene Visualizer
world-model-mcp view

# Display database metrics and permanence confidence stats
world-model-mcp stats
```

---

## ๐ŸŒŸ Key Highlights

- **๐ŸŒ Deterministic 3D/2D Spatial Memory**: Zero LLM in the loop for spatial indexing; deterministic SQLite WAL queries with FTS5 search and 3D Euclidean proximity radius lookups.
- **โšก 15 Production-Grade Consolidated MCP Tools**: Full CRUD, topological spatial graphs (`on`, `inside`, `contains`, `near`), ray-AABB occlusion frustum culling, waypoint navigation, and time-travel rollback.
- **โณ Object Permanence & Decay**: Entities remain in persistent memory even when out of view, with configurable exponential confidence decay ($C = C_0 \cdot e^{-\lambda t}$) and status lifecycles (`active` โ†’ `hidden` โ†’ `lost`).
- **๐Ÿš€ Collision & Movement Simulation**: Predicts entity displacement trajectories, detects AABB obstacle collisions, and computes obstacle-avoiding navigation waypoints before actions execute.
- **๐ŸŽฎ Playwright Game Automation**: Generates timed WASD / Arrow keyboard hold sequences (`KeyW for 450ms`, `ArrowLeft for 290ms`) and 3Dโ†”2D coordinate screen projections.
- **๐Ÿค Multi-Agent Spatial Blackboard**: Topic-based coordination with TTL, mutex locks, and collision intent alerts across parallel subagents.
- **๐Ÿ›ก๏ธ Spatial Spec-Driven Development (Spatial SDD)**: Physical design contract baseline registration, live verification (clearance, bounds, containment), and cryptographic SHA-256 evidence bundles.
- **๐ŸŽจ Interactive 3D WebGL Visualizer**: Browser-based Three.js 3D viewport rendering active entities, orientation axes, frustum cones, and topological links (`world-model-mcp view`).
- **๐Ÿ”’ 100% Local & Private**: All spatial entities, relations, and history stay inside `.world-model-mcp/` in your workspace.

---

## ๐Ÿ› ๏ธ MCP Tool Suite

`@putervision/world-model-mcp` provides **15 production-grade consolidated MCP tools** organized across 5 core workflow domains:

- **Spatial Memory & Search**: `update_entity` (entity CRUD, 3D bounds, properties, confidence), `query_entities` (FTS5 search, proximity radius, status/tags filter, history lookup), `set_relation` (topological graph links: `on`, `inside`, `near`, `contains`), `get_spatial_map` (JSON, GeoJSON, glTF 2.0, OBJ, summary).
- **Simulation & Vision Integration**: `simulate_movement` (displacement prediction, AABB collision checks, waypoint routing), `ingest_observation` (vision detection ingestion, Euclidean re-identification, frustum reconciliation), `get_expected_view` (observer pose, horizontal FOV cone, ray-AABB occlusion).
- **Goal & State Integration**: `link_to_goal` (associate entities/regions with State Memory tasks, extract spatial context slices), `record_outcome` (record execution results, position shifts, property changes, destruction).
- **Spatial SDD & Proofs**: `manage_spatial_spec` (register physical clearance/containment contracts, live verification scoring), `create_evidence_pack` (cryptographic SHA-256 evidence bundles linking spatial proofs to task nodes).
- **Multi-Agent, Replay & Automation**: `use_spatial_blackboard` (topic board, mutex claim/release, intent conflicts), `manage_snapshot` (checkpoints, snapshot diffing, time-travel undo), `wait_for_spatial_state` (async polling for target spatial condition), `generate_game_inputs` (Playwright WASD hold timings, 3Dโ†”2D screen ray projection).

๐Ÿ‘‰ For complete parameter specifications, return schemas, and example payloads, see the **[API Reference Guide](docs/api-reference.md)** and **[Database Schema](docs/database-schema.md)**.

---

## ๐Ÿš€ Architecture & Spatial Memory Lifecycle

```
                     Perception / Vision Detection
                                  โ”‚
                                  โ–ผ
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚  Perception Ingestion & Re-ID   โ”‚ โ”€โ”€โ–ถ ingest_observation(reconcile: true)
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚  Durable Entity & Permanence    โ”‚ โ”€โ”€โ–ถ update_entity(...)
                 โ”‚  (3D Bounding Boxes, Decay)     โ”‚ โ”€โ”€โ–ถ set_relation(relation: "on"|"inside")
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚  Simulation & Waypoint Routing  โ”‚ โ”€โ”€โ–ถ simulate_movement(mode: "navigate")
                 โ”‚  (AABB Collision Avoidance)     โ”‚ โ”€โ”€โ–ถ get_expected_view(fov: 90)
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚  Playwright & Action Execution  โ”‚ โ”€โ”€โ–ถ generate_game_inputs(...)
                 โ”‚  (WASD Sequences, Screen Rays)  โ”‚ โ”€โ”€โ–ถ record_outcome(action_type: "move")
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚  Spatial SDD & Cryptographic    โ”‚ โ”€โ”€โ–ถ manage_spatial_spec(action: "verify")
                 โ”‚  Evidence Bundling to Tasks     โ”‚ โ”€โ”€โ–ถ create_evidence_pack(...)
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚  Persistent SQLite Engine       โ”‚ โ”€โ”€โ–ถ .world-model-mcp/world.db (WAL mode)
                 โ”‚  Append-Only History Ledger     โ”‚ โ”€โ”€โ–ถ SHA-256 Cryptographic Audit Chain
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

---

## ๐Ÿ“š Documentation Directory

Explore dedicated guides and deep dives in the [`docs/`](docs/) directory:

| Guide | Description |
| :--- | :--- |
| ๐Ÿ—๏ธ **[Architecture & Codebase Distillation](docs/codebase-distillation.md)** | High-signal architectural overview, module inventory, data flows, and design decisions. |
| ๐Ÿ’ก **[Features & Triad Overview](docs/features.md)** | PuterVision Autonomous Triad interaction, 3D WebGL scene visualizer, and evidence packs. |
| ๐Ÿ“‹ **[Spatial World Model Concepts](docs/concepts.md)** | Object Permanence ($C = C_0 \cdot e^{-\lambda t}$), Confidence Decay, Frustum Projection, and Spatial SDD. |
| โš™๏ธ **[Configuration & IDE Setup](docs/configuration.md)** | Auto-Initialization details, Environment Variables, and Editor Configs (Cursor, VS Code, Claude, Windsurf). |
| ๐Ÿ› ๏ธ **[CLI Command Reference](docs/cli-usage.md)** | CLI flags (`init`, `run`, `view`, `stats`, `inspect`, `map`, `export`, `import`, `doctor`, `snapshot`, `spec`, `blackboard`). |
| ๐Ÿงฐ **[Tools & API Reference](docs/api-reference.md)** | Complete reference for all 15 Consolidated MCP Tools, legacy tool mapping, and parameter examples. |
| ๐Ÿ—„๏ธ **[Database Schema](docs/database-schema.md)** | SQLite tables (`entities`, `spatial_relations`, `entity_history`, `spatial_specs`, `blackboard_items`, `evidence_packs`). |
| ๐ŸŽฎ **[Interactive 3D Game Arena Demo](docs/game-demo.html)** | Autonomous 3D browser arena with Three.js bridge diagnostics (`window.__WORLD_MODEL_BRIDGE`). |
| ๐Ÿงญ **[Examples & Tutorials](docs/examples/)** | Deep-dive examples: [Spatial Navigation](docs/examples/spatial-navigation.md), [Perception Reconciliation](docs/examples/perception-reconciliation.md), and [Multi-Agent Blackboard](docs/examples/multi-agent-blackboard.md). |

---

## ๐Ÿ“– Agent Playbook: 5-Step Canonical Workflow

When an autonomous AI agent enters a repository with `world-model-mcp`:

```
1. Orient & Explore   โ”€โ”€โ–ถ get_spatial_map(format: "summary") + get_expected_view(fov: 90)
2. Query & Locate     โ”€โ”€โ–ถ query_entities(query: "chest", radius: 15) + query_entities(entity_id: "...")
3. Plan & Simulate    โ”€โ”€โ–ถ simulate_movement(mode: "navigate") + manage_spatial_spec(action: "verify")
4. Execute & Ingest   โ”€โ”€โ–ถ generate_game_inputs(...) + ingest_observation(reconcile: true)
5. Record & Evidence  โ”€โ”€โ–ถ record_outcome(...) + create_evidence_pack(task_id: "...")
```

---

## ๐Ÿงช Testing

```bash
# Run full unit, integration, and geometry stress test suite across 47 test files (206 tests)
npm test

# Run multi-Node matrix test suite across Node.js 18, 20, and 22
npm run test:matrix

# Run 3D geometry, projection, and Playwright game loop tests
npm run test:3d
```

---

## โš–๏ธ License & Disclaimers

Developed and maintained by [PuterVision](https://putervision.com). Released under the [MIT License](LICENSE).

- **Local Storage Guarantee**: All spatial coordinates, bounding volumes, and entity history remain 100% local in your workspace. No telemetry or project data is ever transmitted.
- **Trademarks & Non-Affiliation**: Product names (Cursor, Claude Code, Gemini, Windsurf, VS Code, GitHub, SQLite, Three.js, Playwright) are property of their respective owners and used solely for compatibility identification.

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation5/5

Every tool targets a distinct aspect of spatial world modeling: entity CRUD, querying, relations, map generation, simulation, observation ingestion, view prediction, goal linking, outcome recording, spatial specs, evidence packs, blackboard coordination, snapshot management, game input generation, and state waiting. There is no ambiguity between operations like update_entity vs record_outcome vs ingest_observationโ€”each has a clear and separate purpose.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., update_entity, query_entities, set_relation, get_spatial_map, simulate_movement). Verb choices vary appropriately with their actions, but the style and structure are uniform across all 15 tools, making the set predictable and easy to navigate.

Tool Count5/5

15 tools is well-scoped for a rich domain like spatial world modeling. Each tool covers a distinct feature area without redundancy, and the count remains within the ideal range for a comprehensive MCP server. The number feels justified given the breadth of functionality (state management, simulation, spatial reasoning, evidence, collaboration, and automation).

Completeness5/5

The tool surface covers the full lifecycle: entity creation/update (update_entity), querying (query_entities), deletion and post-action updates (record_outcome), relationships (set_relation), spatial mapping (get_spatial_map), simulation (simulate_movement), observation ingestion (ingest_observation), expected view (get_expected_view), goal integration (link_to_goal), compliance (manage_spatial_spec), evidence (create_evidence_pack), multi-agent coordination (use_spatial_blackboard), snapshot/history (manage_snapshot), game input generation (generate_game_inputs), and waiting for state changes (wait_for_spatial_state). No obvious gaps prevent an agent from performing critical workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues