@putervision/world-model-mcpCAUTION
🌐 Persistent 3D/2D spatial world model MCP server for AI agents. Entity tracking, object permanence, AABB collision simulation & view frustum projection via local SQLite.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.npmjs.com/package/@putervision/world-model-mcp) [](./CHANGELOG.md) [](https://www.npmjs.com/package/@putervision/world-model-mcp) [](https://github.com/putervision/world-model-mcp/actions/workflows/ci.yml) [](https://nodejs.org) [](https://www.typescriptlang.org) [](https://putervision.com) [](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`) and reasoning/action (`@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
⚡ Quick Start & Installation
Prerequisites: Node.js >= 18.18.0
# 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/,
204869e6a450OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add world-model-mcp -- npx -y @putervision/[email protected]
Exposed tools (23)
17 read · 5 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
checkpoint-1 | read | Initial state |
checkpoint_alpha | read | Initial rover deployment |
create_evidence_pack | write | Package entity positions, observation reconciliations, and snapshot states into an immutable, SHA-256 hashed cryptographic evidence pack for compliance and state-memory task verification. |
generate_game_inputs | write | Translate 3D navigation paths into Playwright commands (WASD/click-to-move) or project/unproject 3D coordinates and screen pixels. |
get_expected_view | read | Compute which entities should be visible from an observer pose and FOV cone, with ray-AABB occlusion. |
get_spatial_map | read | Export the known world as json, geojson, topological_graph, gltf, obj, joint, spatial_vlm, summary, or compact_slice. Optional region_id and min_confidence filters. |
ingest_observation | write | Merge vision detections into the world model: re-identify by Euclidean proximity, boost confidence, and optionally reconcile against the expected frustum. |
link_to_goal | read | Link or unlink entities and regions to state-memory task nodes, or extract a goal-relevant spatial slice. |
living-room-clearance | read | Minimum clearance between couch and coffee table |
manage_snapshot | read | Checkpoint, diff, undo, or time-travel the spatial world database. |
manage_spatial_spec | read | Manage Spatial Spec-Driven Development (Spatial SDD) physical baseline contracts. |
query_entities | read | Find entities by keyword query (FTS5 search), type, region, spatial proximity, tags, or status. Alternatively, provide entity_id for single-entity location and historical trajectory lookup. |
query_test | read | |
raw_str | read | |
record_outcome | read | Record action execution results, movement deltas, property changes, entity destruction, or spool outcome ingestion from 60Hz loop. |
set_relation | destructive | Record or remove a spatial relationship between two entities. Actions: add, remove. |
simulate_movement | read | Predict entity trajectory, test for AABB obstacle collisions, or compute navigation waypoints (modes: simulate, navigate, waypoints). |
snapA | read | Snapshot A |
snapB | read | Snapshot B |
test_tool | read | |
update_entity | write | Create or upsert one spatial entity (position, orientation, AABB, tags, properties, confidence). Manual authoring only. |
use_spatial_blackboard | write | Publish or read multi-agent spatial coordination topics, collision alerts, and mutex region leases. |
wait_for_spatial_state | read | Poll and wait until an entity reaches a specific spatial condition (exists, active, confidence threshold, or enters region). |
Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (6 observation(s))
- Network
- declared (2 observation(s))
- Shell
- declared (3 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (12)
const url = `http://127.0.0.1:${port}${targetPath}`;console.log(`🎮 Autonomous Playwright Game Arena available at: http://127.0.0.1:${port}/game\n`);set_relation
.prettierignore
.windsurfrules
import { getDb, getDbPath, getProjectSlug, resolveProjectRoot } from '../../engine/db.js';import { SchemaAdvisor } from '../../engine/advisor.js';import { verifyEventAuditChain, repairEventAuditChain } from '../../engine/events.js';import { getDb, getProjectSlug, resolveProjectRoot } from '../../engine/db.js';import { SpatialBlackboard } from '../../engine/blackboard.js';Launches the standalone Three.js 3D WebGL Scene Visualizer on `http://127.0.0.1:8090`.
better-sqlite3, @eslint/js, @types/better-sqlite3, @types/node, @vitest/coverage-v8, eslint, prettier, tsup
Gates applied: no_behavioural_pass.
204869e6a450full audit observations/trust-audit/mcp-server/putervision__world-model-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 204869e6a450 | CAUTION | B | 89 | first audit |
Questions
What is the @putervision/world-model-mcp MCP server?
🌐 Persistent 3D/2D spatial world model MCP server for AI agents. Entity tracking, object permanence, AABB collision simulation & view frustum projection via local SQLite.
What tools does @putervision/world-model-mcp expose?
23 in total: 17 read-only, 5 that write, and 1 that can delete or overwrite (set_relation). Every one is listed on this page with its risk.
Is @putervision/world-model-mcp safe to connect to an agent?
With care. The audit graded it B (89/100) and found 12 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does @putervision/world-model-mcp need?
No credential environment variables were found in its source, so it appears to need none.
How does @putervision/world-model-mcp run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @putervision/world-model-mcp at 0.6.1.
How current is this page?
The grade is for one exact copy of the source (204869e6a450), read on 2026-10-11. The repository is watched and re-audited when it changes.