cp77wb-mcp
Click on "Deploy 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., "@cp77wb-mcp search the asset catalog for neon signs"
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.
cp77wb — Cyberpunk 2077 World Builder Automation & Tooling
cp77wb is an external, non-invasive automation layer, procedural construction suite, and Model Context Protocol (MCP) server for Cyberpunk 2077 World Builder (entSpawner).
While World Builder serves as the in-game visual editor, cp77wb provides Linux-friendly offline project management, high-performance SQLite asset catalogs, procedural math (spline placement, 2D/3D scatters, room/corridor generation), automated device and elevator wiring, end-to-end mod build orchestration (.NET 10 native WolvenKit worker & WScript fallbacks), an optional history-safe Cyber Engine Tweaks (CET) live bridge, and 94 native MCP tools for AI pair programming with Claude Code, Cursor, and LLM agents.
⚠️ Project Status: Work In Progress (WIP) — Currently Paused
Notice: Active feature development on cp77wb is currently paused/on hold.
The codebase is fully functional, complete, and verified (all 107 unit tests pass, Ruff and Pyright static checks pass with 0 errors, and the bundled C# .NET 10 worker builds cleanly).
You can install, run, fork, or adapt
cp77wbfor your Cyberpunk 2077 modding workflows.Pull requests, bug reports, and forks are welcome, but no active roadmap milestones are being actively developed by the original author at this time.
Table of Contents
Related MCP server: UnrealEngine Bridge
Key Features
Non-Invasive Architecture: Never modifies core game binaries, never redistributes copyrighted game assets, and does not fork World Builder. Preserves unknown JSON fields and creates timestamped backups on write.
Offline Saved-Build Editing: Inspect, translate, rotate, scale, align, distribute, and duplicate nodes within World Builder
Build.jsonfiles offline on Linux without launching the game.Deterministic Asset Catalog: Indexes over 50,000+ game assets directly from your local
entSpawnerinstallation into an SQLite3 database with deterministic hash IDs (#75857) and semantic tagging.Procedural Level Design:
Polyline and cubic Bezier curve spline placement with tangent interpolation.
2D polygon bounding and 3D volume scatters (box, sphere, cylinder) with collision clearance guards.
Room shell, corridor connector, and open market layout generators.
Parameterized JSON prefab templates.
Device & Elevator Wiring: Connects security areas to controllers and automates complex multi-floor elevator terminal setups, generating unique persistent
NodeRefs and component schemas.Full Mod Packaging Pipeline:
Inspects World Builder export files.
Generates WolvenKit projects with ArchiveXL
.xldefinitions.High-performance .NET 10 worker backend for direct RED JSON to CR2W conversion.
Automatic fallback to v0.9 template CLI conversion or upstream WolvenKit WScript execution.
Safe archive packing via
cp77toolsor WolvenKit CLI, distribution layout creation, and conflict-checked game deployment.
In-Game CET Live Bridge: Optional file-RPC companion mod for Cyber Engine Tweaks providing camera raycasting, surface snapping to real REDengine collision geometry, and unified undo history integration.
94 Native MCP Tools: First-class support for AI agents (Claude Code, Cursor) to inspect, generate, modify, and build Cyberpunk 2077 environments autonomously.
Architecture & Workflow
┌────────────────────────────────────────────────────────┐
│ Cyberpunk 2077 Game │
│ (Cyber Engine Tweaks + World Builder / entSpawner) │
└───────────────────────▲────────────────────────────────┘
│ File-RPC (Live Bridge)
▼
┌────────────────────────────────────────────────────────┐
│ cp77wb │
│ ┌───────────────────┐ ┌─────────────────────┐ │
│ │ CLI & MCP Tools │ ◄────► │ Asset Catalog (DB) │ │
│ │ (94 AI Tools) │ │ (SQLite3 / Semantic)│ │
│ └─────────┬─────────┘ └─────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────┐ ┌─────────────────────┐ │
│ │ Procedural Engine │ │ Construction Plans │ │
│ │ (Splines/Scatter) │ │ (cp77wb-plan/1) │ │
│ └─────────┬─────────┘ └─────────────────────┘ │
└────────────┼───────────────────────────────────────────┘
│ Build / Export
▼
┌────────────────────────────────────────────────────────┐
│ Mod Compilation Pipeline │
│ ┌──────────────────────────────────────────────────┐ │
│ │ .NET 10 WolvenKit Worker / WScript Native Engine │ │
│ └─────────────────────────┬────────────────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ cp77tools / WolvenKit CLI Archive Packing │ │
│ └─────────────────────────┬────────────────────────┘ │
│ ▼ │
│ Final Distributable Mod (.archive + .xl) │
└────────────────────────────────────────────────────────┘System Requirements
Component | Minimum Requirement | Notes |
Operating System | Linux, macOS, or Windows (WSL2) | Developed and tested natively on Linux |
Python | Python 3.11+ | Zero external pip dependencies for core CLI |
Cyberpunk 2077 | Version 2.0+ (Phantom Liberty supported) | Required for in-game editor & CET bridge |
World Builder | entSpawner mod installed in CP77 | Visual editor & export source |
Cyber Engine Tweaks | CET 1.30+ | Required only if using live bridge |
.NET SDK (Optional) | .NET 10 SDK | Required to build native WolvenKit worker |
WolvenKit (Optional) | WolvenKit CLI or cp77tools | Required for final |
Installation
Method 1: User Install (install.sh)
The included zero-dependency installer installs cp77wb and cp77wb-mcp into your user path (default: ~/.local/bin):
git clone https://github.com/0xra0/cp77wb.git
cd cp77wb
./install.sh --prefix "$HOME/.local"Verify your installation:
cp77wb --version
# Output: cp77wb 1.0.1(Ensure $HOME/.local/bin is in your $PATH)
Method 2: Python Package (pip)
You can install cp77wb directly into your current Python environment:
cd cp77wb
pip install -e .Method 3: Portable / In-Place Execution
Run cp77wb directly from the cloned repository without installing anything:
./bin/cp77wb --version
./bin/cp77wb-mcp --helpCET Live Bridge Installation
If you want real-time live manipulation in the game:
./extras/install-cet-bridge.sh \
"/path/to/Cyberpunk 2077/bin/x64/plugins/cyber_engine_tweaks/mods"Building the .NET 10 WolvenKit Worker
To use the high-performance native CR2W conversion backend:
# Using cp77wb helper:
cp77wb worker-build --run
# Or building directly with dotnet:
./extras/cp77wb_wkit_worker/build.shQuick Start
1. Validate an Existing Saved Build
Inspect any World Builder Build.json file offline:
cp77wb validate /path/to/Build.json
cp77wb tree /path/to/Build.json2. Build the Asset Catalog
Index all World Builder assets from your game directory into a local fast SQLite3 database:
cp77wb assets-build "/path/to/Cyberpunk 2077/bin/x64/plugins/cyber_engine_tweaks/mods/entSpawner"3. Search Assets
Find assets with deterministic IDs:
cp77wb assets-search ~/.local/share/cp77wb/assets.sqlite3 "neon sign" --variant Mesh
# Results return unique IDs like #140224. Procedurally Place Objects
Place lamps along a curved road using cubic Bezier interpolation:
cp77wb path-array Build.json /Build/StreetLamp \
--points '[[0,0,0],[15,2,0],[30,10,0]]' \
--spacing 3.0 \
--writeComprehensive CLI Usage
All mutation commands are dry-run by default. Pass --write or --apply only after reviewing the diff output.
Build Inspection & Validation
# Validate structural integrity, NodeRef uniqueness, and component references
cp77wb validate Build.json
# Display hierarchical tree view of node groups
cp77wb tree Build.json
# List all node paths in the build
cp77wb paths Build.json
# Inspect details of a specific node
cp77wb inspect Build.json /Build/MyNodeAsset Catalog & Semantic Search
# Build the SQLite asset catalog from World Builder entSpawner files
cp77wb assets-build /path/to/entSpawner --output assets.sqlite3
# Search by keyword and asset type
cp77wb assets-search assets.sqlite3 "arasaka crate" --variant Mesh
# Build semantic facets (style, role, scale heuristic)
cp77wb semantic-build assets.sqlite3
# Query semantic catalog
cp77wb semantic-search assets.sqlite3 "industrial barrier" --role wall --style industrialProcedural Path & Spline Placement
# Follow existing World Builder marker group with Bezier tangents
cp77wb path-array Build.json /Build/LightPole \
--marker-group /Build/SplinePath \
--spacing 4.0 \
--curve-samples 16 \
--write
# Supply arbitrary 3D polyline coordinates
cp77wb path-array Build.json /Build/Barrier \
--points '[[0,0,0],[10,0,0],[20,5,1]]' \
--spacing 1.5 \
--yaw-offset 90 \
--writePolygon & Volume 3D Scatter
# Scatter objects inside a 2D boundary polygon on the ground
cp77wb polygon-scatter Build.json /Build/Debris \
--points '[[0,0,0],[10,0,0],[10,10,0],[0,10,0]]' \
--count 25 --seed 2077 \
--write
# Scatter objects in a 3D cylindrical volume (e.g. particles, dust, floating drones)
cp77wb volume-scatter Build.json /Build/Drone \
--shape cylinder --count 15 \
--center-x 50 --center-y 100 --center-z 10 \
--size-x 10 --size-z 6 --seed 42 \
--writeWeighted Asset Pools & Native RNG Groups
Create a weighted asset pool configuration (market_pool.json):
{
"entries": [
{"asset": "#1201", "weight": 5, "name": "Food Stall Common"},
{"asset": "#1770", "weight": 1, "name": "Tech Vendor Rare"}
]
}Spawn items according to weights:
cp77wb asset-pool-spawn Build.json /Build/Market \
--catalog assets.sqlite3 \
--pool market_pool.json \
--count 10 --seed 77 \
--half-x 15 --half-y 8 \
--writeGenerate native World Builder randomized groups that can still be edited in-game:
cp77wb rng-create Build.json /Build "Loot RNG" \
--seed 1337 --rule fixed --fixed-mode total --total 3 \
--writeProcedural Generators (Rooms, Corridors, Markets)
# Generate a room enclosure with modular wall and floor segments
cp77wb generate-room Build.json /Build \
--catalog assets.sqlite3 \
--wall-asset '#1234' \
--floor-asset '#4321' \
--width 12 --depth 8 --segment 2 \
--write
# Generate a hallway corridor
cp77wb generate-corridor Build.json /Build \
--catalog assets.sqlite3 \
--wall-asset '#1234' \
--length 24 --width 4 --segment 2 \
--write
# Generate a grid-based market area
cp77wb generate-market Build.json /Build \
--catalog assets.sqlite3 \
--pool market_pool.json \
--rows 3 --columns 4 --spacing-x 4 --spacing-y 6 \
--writeDevice & Elevator Wiring Automation
# Connect security terminal to its controller
cp77wb device-connect Build.json \
/Build/SecurityCamera \
/Build/SecurityController \
--device-class-name SecurityAreaControllerPS \
--write
# Automatically wire an elevator with multi-floor terminals and markers
cp77wb elevator-wire Build.json /Build/Elevator \
--terminal /Build/Floor0_Terminal --marker /Build/Floor0_Marker --floor-name 'LocKey#100' \
--terminal /Build/Floor1_Terminal --marker /Build/Floor1_Marker --floor-name 'LocKey#101' \
--noderef-prefix my_mod/elevator \
--writeAI Construction Plans (cp77wb-plan/1)
Declarative JSON specifications for entire procedural scenes:
# Compile and validate plan
cp77wb plan-compile examples/construction-plan.json --catalog assets.sqlite3
# Preview against an existing build with collision detection
cp77wb plan-preview Build.json examples/construction-plan.json --catalog assets.sqlite3
# Apply changes after preview review
cp77wb plan-apply Build.json examples/construction-plan.json --catalog assets.sqlite3 --writeWorld Builder Compatibility Scanner
Check whether a project or export matches your installed World Builder version:
cp77wb compat-scan "/path/to/Cyberpunk 2077/bin/x64/plugins/cyber_engine_tweaks/mods/entSpawner" \
--project Build.jsonMod Packaging & Build Pipeline
Take an export from World Builder and produce an installable .archive mod:
# 1. Inspect the exported file
cp77wb export-inspect project_exported.json
# 2. Prepare a WolvenKit project workspace
cp77wb build-prepare project_exported.json ~/cp77-projects --world-builder-root /path/to/entSpawner
# 3. Import via native worker (or fallback to WolvenKit CLI / WScript)
cp77wb worker-import project_exported.json ~/cp77-projects/my_project/source --run
# 4. Check workspace compilation readiness
cp77wb build-status ~/cp77-projects/my_project
# 5. Pack into game archive
cp77wb build-pack ~/cp77-projects/my_project --cli cp77tools --run
# 6. Package into distributable ZIP with ArchiveXL layout
cp77wb build-package ~/cp77-projects/my_project \
--archive ~/cp77-projects/my_project/packed/archive/pc/mod/my_project.archive \
--output ~/cp77-projects/my_project/dist \
--zip ~/cp77-projects/my_project/my_project.zip
# 7. Deploy to game with conflict checking and automated backups
cp77wb build-deploy ~/cp77-projects/my_project/dist "/path/to/Cyberpunk 2077" --apply.NET 10 Worker Diagnostics
# Build the worker and capture diagnostic build logs
cp77wb worker-build --run --log-file ~/worker-build.log
# Inspect discovered WolvenKit assemblies and API fingerprint
cp77wb worker-inspect --worker extras/cp77wb_wkit_worker/publish/cp77wb-wkit-worker
# Run self-tests for native serialization and CR2W magic header verification
cp77wb worker-preflight --worker extras/cp77wb_wkit_worker/publish/cp77wb-wkit-worker
# Generate a diagnostic report bundle for debugging
cp77wb worker-doctor --output ~/cp77wb-doctor.zipClaude Code & AI MCP Integration
cp77wb provides an MCP (Model Context Protocol) server exposing 94 unique tools to AI coding agents.
Adding to Claude Code
claude mcp add cp77wb -- cp77wb-mcpAdding to Claude Desktop / Cursor (claude_desktop_config.json)
{
"mcpServers": {
"cp77wb": {
"command": "cp77wb-mcp"
}
}
}MCP Tool Categories
Tool Domain | Example MCP Tools | Function |
Inspection & Validation |
| Inspect and check saved projects |
Asset Discovery |
| Query 50K+ game assets and bounding boxes |
Procedural Layout |
| Polyline, spline, and volume distribution |
Generators |
| Architectural element synthesis |
AI Planner |
| Declarative |
Build & Packaging |
| Complete pipeline orchestration |
Native Worker |
| .NET 10 WolvenKit backend management |
Live Bridge |
| Real-time in-game engine interaction |
Optional CET Live Bridge
The included extras/cp77wb_bridge mod enables real-time bidirectional communication between cp77wb and the running game using a safe file-based RPC protocol:
History Protection: Reads the active World Builder undo singleton and refuses live operations if history state has diverged.
True Engine Raycasting: Casts collision rays directly in REDengine to accurately snap objects to terrain, floors, and walls.
In-Game Live Spawning: Spawns assets in real time without restarting or reloading the save.
To test connectivity while Cyberpunk 2077 is running:
RPC="/path/to/Cyberpunk 2077/bin/x64/plugins/cyber_engine_tweaks/mods/cp77wb_bridge/rpc"
cp77wb live "$RPC" ping
cp77wb live "$RPC" raycast --ray-mode cameraSafety Guarantees & Philosophy
Dry-Run by Default: Offline modifications require
--writeand live modifications require--apply. Without these flags, tools output a preview diff.Schema Integrity: Unknown JSON properties present in upstream World Builder versions are preserved verbatim without data loss.
Collision Clearance: Procedural scattering checks asset bounds to avoid overlapping geometry.
Non-Invasive: No game DLL hooks, no binary memory injection, and no asset redistribution.
Atomic Writes: Saved files are written to temporary files and atomically moved with timestamped
.bakcopies.
Testing & Verification
The repository includes a comprehensive test suite covering all modules:
# Run test suite with pytest:
pytest
# Or with standard library unittest:
python3 -m unittest discover -s tests -v
# Run full multi-language static analysis (Python, Ruff, Pyright, Shell, Lua, C#):
./static-check.shVerification Status:
107/107 Python unit tests passing
0 errors in Ruff linter checks
0 errors in Pyright static type checks
Shell and Lua syntax checks passing
C# .NET 10 worker builds with 0 errors
Documentation Directory
Deep dive guides are available in the docs/ directory:
docs/index.md— Documentation index & overviewdocs/cli.md— Exhaustive command-line flag and argument referencedocs/mcp.md— Model Context Protocol tools and schemasdocs/saved-build-format.md— Analysis of World Builder JSON structuredocs/worldbuilder-source-map.md— Upstream code mappingdocs/live-bridge.md— CET file-RPC protocol and command formatdocs/v07-ai-planner.md— AI Construction Planner specificationdocs/v08-build-orchestration.md— Export to mod packaging pipelinedocs/v09-native-conversion.md— RED template capture and conversiondocs/v10-native-worker.md— .NET 10 WolvenKit native workerdocs/v101-worker-diagnostics.md— API profile and diagnostic bundlesdocs/claude-code.md— Claude Code agent workflow guidedocs/upstream-compatibility.md— Compatibility and forward-migration rules
License & Acknowledgements
This project is licensed under the MIT License — see the LICENSE file for details.
Acknowledgements & Community Credits
World Builder (
entSpawner): Created by the amazing Cyberpunk 2077 modding community.WolvenKit: Developed by the REDmodding team for REDengine asset handling.
Cyber Engine Tweaks (CET): Essential Lua scripting platform for Cyberpunk 2077.
CD Projekt Red: Cyberpunk 2077 is a registered trademark of CD PROJEKT S.A.
This project is an unofficial community tool and is not affiliated with, endorsed by, or associated with CD PROJEKT RED.
Available Tools
94 toolswb_alignB
Align independent objects/groups on x/y/z. Dry-run unless write=true.
Inputs: axis (required), file (required), paths (required), mode, +2 more.
wb_arrayB
Create a linear array; count includes source. Dry-run unless write=true.
Inputs: file (required), path (required), count (required), x, +5 more.
wb_asset_pool_spawnC
Spawn a deterministic weighted pool of exact indexed World Builder assets. Dry-run unless write=true.
Inputs: file (required), pool (required), count (required), parent (required), +12 more.
wb_assets_buildC
Build/rebuild a local SQLite/FTS asset catalog from a World Builder installation/source tree.
Inputs: world_builder_root (required), database.
wb_assets_infoB
Read asset-catalog metadata or one exact asset ID.
Inputs: database (required), id.
wb_assets_searchC
Search a cp77wb asset catalog built from World Builder's real spawnable lists. Use returned #IDs for deterministic spawning.
Inputs: query (required), database (required), limit, module, +3 more.
wb_bounds_importC
Import explicit asset bounds records into the catalog.
Inputs: bounds (required), database (required).
wb_bounds_infoC
Read explicit/effective asset bounds and heuristic fallback metadata.
Inputs: database (required), id.
wb_bounds_setB
Attach explicit local XYZ bounds to one indexed asset for collision-aware planning.
Inputs: x (required), y (required), z (required), id (required), +3 more.
wb_build_backendsC
Detect WolvenKit CLI/importer availability and report the Linux-native conversion boundary.
Inputs: cli, world_builder_root.
wb_build_deployB
Preview or deploy a game-layout folder into Cyberpunk. apply=false by default; overwrite required for conflicting existing files.
Inputs: layout (required), game_root (required), apply, overwrite.
wb_build_doctorC
Verify package structure/conflicts and summarize issue-like World Builder/CET/framework log lines.
Inputs: layout (required), tail, game_root.
wb_build_native_importB
Preview or run the template-bundle + WolvenKit JSON-deserialize import directly into a prepared workspace. run=false by default.
Inputs: bundle (required), workspace (required), cli, run, +2 more.
wb_build_packB
Preview or run WolvenKit CLI/cp77tools pack after verified Object Spawner import. run=false by default.
Inputs: workspace (required), cli, run, output, +1 more.
wb_build_packageC
Preview or assemble a game-layout distribution folder/ZIP from a built archive. write=false by default.
Inputs: output (required), archive (required), workspace (required), zip, +1 more.
wb_build_prepareC
Preview or create a WolvenKit workspace around a WB export. write=false by default.
Inputs: workspace (required), export_file (required), write, author, +5 more.
wb_build_statusC
Check expected streamingblock/sector/device outputs after WolvenKit Object Spawner import.
Inputs: workspace (required).
wb_build_verifyC
Verify a prepared game-layout package and optional conflicts with an installed game.
Inputs: layout (required), game_root.
wb_build_worker_importC
Preview or populate a prepared workspace/source/archive through the verified .NET WolvenKit worker. run=false by default.
Inputs: workspace (required), run, worker, timeout, +1 more.
wb_collisionsC
Approximate saved-build collision scan using yaw-aware oriented bounds; heuristic results are marked approximate.
Inputs: file (required), catalog (required), clearance, explicit_only.
wb_compat_scanC
Scan World Builder version/features/module schema and optionally compare a saved build against that exact source/install.
Inputs: world_builder_root (required), project.
wb_device_connectC
Connect two saved World Builder device nodes with a unique target NodeRef. Dry-run unless write=true.
Inputs: file (required), source (required), target (required), write, +2 more.
wb_distributeA
Evenly distribute 3+ independent objects/groups on x/y/z. Dry-run unless write=true.
Inputs: axis (required), file (required), paths (required), write.
wb_duplicateB
Duplicate an object/group with unique names and repaired internal references. Dry-run unless write=true.
Inputs: file (required), path (required), x, y, +5 more.
wb_elevator_wireB
Wire an existing elevator, terminals and floor markers; patch saved instance data when available. Dry-run unless write=true.
Inputs: file (required), markers (required), elevator (required), terminals (required), +4 more.
wb_export_inspectC
Validate/summarize a World Builder *_exported.json before conversion.
Inputs: export_file (required), importer_version.
wb_export_xlC
Generate the ArchiveXL structure implied by a World Builder export without writing files.
Inputs: export_file (required).
wb_favorite_addC
Add an object/group to World Builder Favorites as a reusable prefab. Preview-only unless write=true.
Inputs: file (required), path (required), category (required), world_builder_root (required), +5 more.
wb_favorites_listC
List World Builder native Favorite categories (reusable object/group prefabs).
Inputs: world_builder_root (required).
wb_findC
Search World Builder names, paths, modules, assets and NodeRefs.
Inputs: file (required), query (required), case_sensitive.
wb_generate_cableB
Generate a repeated cable/pipe segment chain along a path without guessing mesh stretching. Dry-run unless write=true.
Inputs: file (required), parent (required), points (required), catalog (required), +5 more.
wb_generate_corridorB
Generate a corridor shell from verified indexed assets. Dry-run unless write=true.
Inputs: file (required), width (required), length (required), parent (required), +9 more.
wb_generate_fenceB
Generate repeated verified fence segments and optional posts along a path. Dry-run unless write=true.
Inputs: file (required), parent (required), points (required), catalog (required), +6 more.
wb_generate_marketB
Generate a market grid from a deterministic weighted asset pool. Dry-run unless write=true.
Inputs: file (required), pool (required), rows (required), parent (required), +10 more.
wb_generate_noderefC
Generate a World Builder-compatible NodeRef. Dry-run unless write=true.
Inputs: file (required), path (required), force, write, +1 more.
wb_generate_roadC
Generate repeated road tiles and optional edge assets along a path. Dry-run unless write=true.
Inputs: file (required), width (required), parent (required), points (required), +7 more.
wb_generate_roomB
Generate a rectangular room shell from verified indexed assets. Dry-run unless write=true.
Inputs: file (required), depth (required), width (required), parent (required), +9 more.
wb_getC
Read project stats or one World Builder element by path.
Inputs: file (required), path.
wb_gridB
Create a 3D rectangular array; counts include source. Dry-run unless write=true.
Inputs: file (required), path (required), count_x (required), count_y (required), +7 more.
wb_live_batchB
Apply move/rotate/scale/snap operations to the current selection as one World Builder undo transaction. Preview unless apply=true.
Inputs: rpc_dir (required), operations (required), apply, timeout.
wb_live_cameraC
Read the live FPP camera transform through the optional CET bridge.
Inputs: rpc_dir (required), timeout.
wb_live_deleteB
Delete the current World Builder selection through WB history. Preview unless apply=true.
Inputs: rpc_dir (required), apply, timeout.
wb_live_duplicateB
Duplicate the current WB selection with optional per-copy offset. v0.5 remaps cloned NodeRefs and known internal references by default. Preview unless apply=true.
Inputs: rpc_dir (required), x, y, z, +4 more.
wb_live_historyB
Read World Builder's active undo/redo state and whether history-safe live mutation is available.
Inputs: rpc_dir (required), timeout.
wb_live_moveB
Move the current World Builder selection as one WB history action. Preview unless apply=true.
Inputs: rpc_dir (required), x, y, z, +2 more.
wb_live_pathsC
Search paths/names in the currently loaded World Builder hierarchy.
Inputs: rpc_dir (required), limit, query, timeout.
wb_live_pingC
Ping the optional cp77wb CET file-RPC companion and report v0.5 spatial/history capabilities.
Inputs: rpc_dir (required), timeout.
wb_live_playerC
Read the live player transform through the optional CET bridge.
Inputs: rpc_dir (required), timeout.
wb_live_raycastC
Raycast through World Builder's live scene intersection system; camera mode uses the current FPP camera.
Inputs: rpc_dir (required), mode, dir_x, dir_y, +6 more.
wb_live_redoB
Redo one World Builder history action. Preview/history check unless apply=true.
Inputs: rpc_dir (required), apply, timeout.
wb_live_reloadB
Reload one top-level active WB root from data/objects while preserving an undoable pre-reload state. Preview unless apply=true.
Inputs: path (required), rpc_dir (required), apply, timeout.
wb_live_rotateA
Rotate the current World Builder selection as one WB history action; multi-selection rotates around its center. Preview unless apply=true.
Inputs: rpc_dir (required), yaw, roll, apply, +2 more.
wb_live_saveB
Save all saveable top-level active World Builder roots through WB's native save() path. Preview unless apply=true.
Inputs: rpc_dir (required), apply, timeout.
wb_live_scaleB
Scale current selection around its selection pivot or explicit pivot as one WB history action. Refuses non-scaleable leaves unless allow_partial=true. Preview unless apply=true.
Inputs: rpc_dir (required), x, y, z, +6 more.
wb_live_selectB
Select exact paths in the active World Builder UI. Preview unless apply=true.
Inputs: paths (required), rpc_dir (required), apply, timeout.
wb_live_selectionC
Read current World Builder selection through the optional CET bridge.
Inputs: rpc_dir (required), timeout, include_data.
wb_live_snapB
Drop/snap the current selection to the live scene surface along a direction, collapsed into one WB undo action. Preview unless apply=true.
Inputs: rpc_dir (required), apply, dir_x, dir_y, +2 more.
wb_live_spawn_assetC
Spawn one exact indexed WB asset directly into the active editor, optionally in front of the camera and dropped to the surface. Preview unless apply=true.
Inputs: asset (required), catalog (required), rpc_dir (required), x, +14 more.
wb_live_stateC
Read current World Builder/CET state through the optional live bridge.
Inputs: rpc_dir (required), timeout.
wb_live_surface_scatterB
Create deterministic copies around one selected source and drop each copy onto the live scene surface; one undo removes the whole scatter. Preview unless apply=true.
Inputs: count (required), rpc_dir (required), seed, apply, +9 more.
wb_live_undoB
Undo one World Builder history action. Preview/history check unless apply=true.
Inputs: rpc_dir (required), apply, timeout.
wb_logsC
Read/tail World Builder, CET and related Cyberpunk mod logs from a game root (or entSpawner directory).
Inputs: game_root (required), tail, issues_only.
wb_moveC
Translate an object/group. Dry-run unless write=true.
Inputs: file (required), path (required), x, y, +2 more.
wb_native_convertC
Preview or execute conversion of prepared WolvenKit JSON intermediates to CR2W using a verified CLI. run=false by default.
Inputs: output (required), native_json (required), cli, run, +1 more.
wb_native_importC
Prepare/import a WB export through template-bundle + WKit JSON deserialize backend. run=false by default.
Inputs: bundle (required), output (required), export_file (required), cli, +3 more.
wb_native_jsonB
Generate WolvenKit JSON intermediates mirroring the WB importer from a captured template bundle. write=false by default.
Inputs: bundle (required), output (required), export_file (required), write.
wb_native_preflightC
Probe WolvenKit CLI/cp77tools for the convert deserialize JSON-to-CR2W capability.
Inputs: cli, timeout.
wb_native_template_planC
Plan or write a WolvenKit template-capture wscript for exactly the RED types used by an export. write=false by default.
Inputs: output (required), export_file (required), write, resource_name.
wb_native_template_verifyC
Verify a captured cp77wb RED type template bundle covers every type required by a World Builder export.
Inputs: bundle (required), export_file (required).
wb_native_verifyC
Verify converted sector/block/device files exist and carry CR2W magic.
Inputs: output (required), targets, strict_magic.
wb_path_arrayC
Place reference-safe copies along a polyline or WB marker group. Dry-run unless write=true.
Inputs: file (required), path (required), count, write, +9 more.
wb_plan_applyB
Apply a declarative construction plan to a saved build. Dry-run unless write=true.
Inputs: file (required), plan (required), catalog (required), write.
wb_plan_compileC
Compile a declarative cp77wb-plan/1 specification into exact indexed spawn operations without editing a build.
Inputs: plan (required), catalog (required).
wb_plan_previewB
Compile a construction plan, apply it to a clone, validate it and report approximate collisions with the existing build.
Inputs: file (required), plan (required), catalog (required).
wb_polygon_scatterB
Deterministically scatter copies inside an XY polygon. Dry-run unless write=true.
Inputs: file (required), path (required), count (required), points (required), +10 more.
wb_prefab_renderA
Render ${parameter} placeholders in a JSON WB prefab/build template. Returns rendered JSON unless output is supplied.
Inputs: template (required), output, parameters.
wb_radial_arrayC
Create an XY radial array; count includes source. Dry-run unless write=true.
Inputs: file (required), path (required), count (required), angle, +7 more.
wb_refsC
List NodeRef definitions and known World Builder references.
Inputs: file (required).
wb_rng_createC
Create a native World Builder Randomized Nested Group. Dry-run unless write=true.
Inputs: file (required), name (required), parent (required), x, +8 more.
wb_rotateB
Rotate an object/group around its origin or explicit pivot. Dry-run unless write=true.
Inputs: file (required), path (required), yaw, roll, +5 more.
wb_scaleA
Scale an object/group hierarchy. Existing scale fields only by default. Dry-run unless write=true.
Inputs: file (required), path (required), x, y, +4 more.
wb_scatterB
Deterministically scatter copies inside an offline box. Dry-run unless write=true.
Inputs: file (required), path (required), count (required), seed, +10 more.
wb_semantic_buildC
Build deterministic local semantic tags/facets over an existing World Builder asset catalog.
Inputs: database (required), overrides.
wb_semantic_searchC
Search the local asset catalog by semantic role/style/material/condition and depot-path text.
Inputs: query (required), database (required), role, limit, +5 more.
wb_spawn_assetB
Insert one exact/search-resolved indexed asset into a saved-build group. Ambiguous text queries fail. Dry-run unless write=true.
Inputs: file (required), asset (required), parent (required), catalog (required), +12 more.
wb_treeC
Read a World Builder build hierarchy.
Inputs: file (required), show_modules.
wb_validateC
Validate World Builder-specific references, NodeRefs and caches.
Inputs: file (required).
wb_volume_scatterB
Scatter copies inside box/cylinder/sphere volumes. Dry-run unless write=true.
Inputs: file (required), path (required), count (required), shape (required), +11 more.
wb_worker_buildB
Preview or build the bundled .NET 10 WolvenKit worker. run=false by default; optional log_file captures full dotnet publish output.
Inputs: run, dotnet, output, source, +2 more.
wb_worker_bundleC
Preview or create exact RED default templates directly through the verified .NET worker. run=false by default.
Inputs: output (required), export_file (required), run, worker, +1 more.
wb_worker_doctorC
Collect .NET/worker diagnostics and optionally write a support ZIP for deferred compatibility testing.
Inputs: dotnet, output, worker, timeout.
wb_worker_importB
Preview or import a WB export directly through the verified .NET WolvenKit worker, without WScript template capture. run=false by default.
Inputs: output (required), export_file (required), run, worker, +2 more.
wb_worker_inspectC
Inspect discovered WolvenKit assemblies, serializer/writer API signatures and API profile without requiring the round-trip self-test to pass.
Inputs: worker, timeout.
wb_worker_preflightC
Run the worker self-test; authoritative native is true only when RED default serialization and JSON-to-CR2W both pass.
Inputs: worker, timeout.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 94 tools
The set contains many near-duplicate families—wb_move vs wb_live_move, wb_scale vs wb_live_scale, wb_duplicate vs wb_live_duplicate, and several scatter/array variants—so an agent must carefully distinguish saved-build edits from live-editor actions. The build/native/worker import pipeline also has multiple overlapping entries such as wb_native_import, wb_build_native_import, wb_worker_import, and wb_build_worker_import. Descriptions help, but tool boundaries are still easy to misselect.
All tools are snake_case with a consistent wb_ prefix and readable subsystem names such as live, build, native, worker, and assets. However, verb/noun ordering is inconsistent: wb_assets_search and wb_build_prepare versus wb_spawn_asset and wb_plan_apply, plus bare noun-style names like wb_tree and wb_refs. The set is readable but not fully predictable.
At 94 tools this is far beyond a well-scoped MCP surface, even for a broad World Builder automation domain. The set is fragmented into highly granular live/offline and pipeline variants that could be consolidated or grouped behind fewer tools.
The surface covers an unusually full lifecycle: asset cataloging, semantic search, bounds and collision checks, planning, generation, live editing, export inspection, native conversion, packaging, verification, and deployment. Remaining gaps are minor—for example, offline saved-build deletion/rename and favorite removal are not clearly exposed—but core workflows are well covered.
Maintenance
Related MCP Connectors
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Protocol-native energy infrastructure orchestration for AI data centers. Provides 46 MCP tools across 8 grid protocols (IEC-61850, DNP3, Modbus, OCPP, OpenADR, IEEE 2030.5, IEC 60870-5-104, ICCP) with 5 core API primitives: connect, dispatch, settle, comply, and intel. Enables AI agents to programmatically interact with substations, grid interfaces, and energy assets for real-time workload-grid coordination.
Make games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query and control the Unity Editor, supporting scene management, GameObject manipulation, asset browsing, play mode control, and real-time editor operations through 52+ tools.1MIT
- AlicenseAqualityCmaintenanceA comprehensive bridge connecting AI agents to Unreal Engine 5.7 through 39 MCP tools for scene manipulation, asset management, and blueprint control. It enables real-time perception and editor automation using the Remote Control API and file-based protocols.253MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to build and edit Roblox Studio places by inspecting, generating terrain, geometry, and code, with validation and iteration.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to automate UNIGINE 2 editor workflows through 25 composite tools (scene, materials, procedural, stamps, codegen, assets, and build console) via an external MCP bridge that runs alongside UNIGINE's official MCPBridge Plugin.6-