Atlas / MCP servers / putervision / @putervision/world-model-mcp

@putervision/world-model-mcpCAUTION

mcp/putervision/world-model-mcp

🌐 Persistent 3D/2D spatial world model MCP server for AI agents. Entity tracking, object permanence, AABB collision simulation & view frustum projection via local SQLite.

Verdict
CAUTION
Grade
B
Trust score
89 /100
Exposed tools
23 17r · 5w · 1d
Transport
stdio
License
MIT
Stars
22
01

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/, 
Read from source at commit 204869e6a450OBSERVED · 2026-10-11
02

Connect

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-code (npm)
claude mcp add world-model-mcp -- npx -y @putervision/[email protected]
03

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.

ToolRiskDescription
checkpoint-1readInitial state
checkpoint_alphareadInitial rover deployment
create_evidence_packwritePackage 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_inputswriteTranslate 3D navigation paths into Playwright commands (WASD/click-to-move) or project/unproject 3D coordinates and screen pixels.
get_expected_viewreadCompute which entities should be visible from an observer pose and FOV cone, with ray-AABB occlusion.
get_spatial_mapreadExport 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_observationwriteMerge vision detections into the world model: re-identify by Euclidean proximity, boost confidence, and optionally reconcile against the expected frustum.
link_to_goalreadLink or unlink entities and regions to state-memory task nodes, or extract a goal-relevant spatial slice.
living-room-clearancereadMinimum clearance between couch and coffee table
manage_snapshotreadCheckpoint, diff, undo, or time-travel the spatial world database.
manage_spatial_specreadManage Spatial Spec-Driven Development (Spatial SDD) physical baseline contracts.
query_entitiesreadFind 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_testread
raw_strread
record_outcomereadRecord action execution results, movement deltas, property changes, entity destruction, or spool outcome ingestion from 60Hz loop.
set_relationdestructiveRecord or remove a spatial relationship between two entities. Actions: add, remove.
simulate_movementreadPredict entity trajectory, test for AABB obstacle collisions, or compute navigation waypoints (modes: simulate, navigate, waypoints).
snapAreadSnapshot A
snapBreadSnapshot B
test_toolread
update_entitywriteCreate or upsert one spatial entity (position, orientation, AABB, tags, properties, confidence). Manual authoring only.
use_spatial_blackboardwritePublish or read multi-agent spatial coordination topics, collision alerts, and mutex region leases.
wait_for_spatial_statereadPoll and wait until an entity reaches a specific spatial condition (exists, active, confidence threshold, or enters region).
04

Trust audit

CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (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)

MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/cli/commands/view.ts:378
const url = `http://127.0.0.1:${port}${targetPath}`;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/cli/commands/view.ts:380
console.log(`🎮 Autonomous Playwright Game Arena available at: http://127.0.0.1:${port}/game\n`);
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
set_relation
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.prettierignore
.prettierignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.windsurfrules
.windsurfrules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/cli/commands/audit.ts:2
import { getDb, getDbPath, getProjectSlug, resolveProjectRoot } from '../../engine/db.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/cli/commands/audit.ts:3
import { SchemaAdvisor } from '../../engine/advisor.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/cli/commands/audit.ts:4
import { verifyEventAuditChain, repairEventAuditChain } from '../../engine/events.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/cli/commands/blackboard.ts:1
import { getDb, getProjectSlug, resolveProjectRoot } from '../../engine/db.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/cli/commands/blackboard.ts:2
import { SpatialBlackboard } from '../../engine/blackboard.js';
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/cli-usage.md:19
Launches the standalone Three.js 3D WebGL Scene Visualizer on `http://127.0.0.1:8090`.
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
better-sqlite3, @eslint/js, @types/better-sqlite3, @types/node, @vitest/coverage-v8, eslint, prettier, tsup
Why it matters. 11 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 204869e6a450full audit observations/trust-audit/mcp-server/putervision__world-model-mcp.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-11204869e6a450CAUTIONB89first audit
06

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.

Advertisement