Skip to main content
Glama
ikunkk02-afk

WorldPainter MCP

by ikunkk02-afk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WPSCRIPT_PATHYesPath to WorldPainter's wpscript.exe, e.g. D:\WorldPainter\wpscript.exe

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
wp_get_world_infoB

Read a .world project name, platform, dimensions, bounds, height ranges and layer names. Read-only.

wp_export_heightmapB

Export a dimension heightmap to PNG plus lossless bridge data. Dimension may be its selector, name or index.

wp_analyze_terrainC

Compute elevation and slope statistics, optional coast coverage, and a heightmap preview. Read-only.

wp_plan_terrain_editA

Create a non-writing edit plan.

Height operation types: smooth(radius,passes,strength), erosion(iterations,talus,strength), ridge_valley(radius,scale,strength), raise_lower(delta,strength), slope_limit(max_slope,iterations,strength), coastline_soften(sea_level,width,radius,strength). Paint operation types: terrain(terrain), layer(layer,value), biome(biome_id), plants(layer, plants=[{name,weight}], density=0.25,seed=1), water(data_path): NPZ with equal 1D arrays x,y (absolute integer world coordinates), bed (float ground height), water (integer water level). Only lowers existing ground. Water does not clear plants or change terrain/biomes; add masked layer/terrain/biome operations. Plants creates a NEW native Custom Plants layer, with valid-block checks and no farmland. Each paint operation may have its own mask_path, intersected with the global mask. Use wp_get_world_info to see existing layer names; plants must use a new name. Region types: rectangle(x,y,width,height,feather), circle(center_x,center_y,radius,feather), or polygon(points,feather). mask_path may point to a grayscale image covering the full dimension. This tool never saves a .world file; preview is mandatory next.

wp_preview_terrain_editA

Generate before/after/delta PNGs and a one-time preview_id for a plan. Does not write a .world file.

wp_apply_terrain_planB

Apply an already previewed plan via WorldPainter, snapshot first, and save a new copy by default.

wp_list_snapshotsB

List safety snapshots, optionally restricted to one original .world path.

wp_rollback_snapshotB

Restore a snapshot to a new .world copy by default; original overwrite requires explicit opt-in.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct role in the terrain-editing workflow: inspection, export, analysis, planning, previewing, applying, and snapshot management. The plan/preview/apply trio is explicitly sequenced with non-overlapping outputs, so an agent can easily tell them apart.

Naming Consistency5/5

All tool names follow a consistent wp_ + verb_noun snake_case pattern (wp_get_world_info, wp_export_heightmap, wp_apply_terrain_plan, etc.). The compound nouns like terrain_edit and terrain_plan remain predictable and readable.

Tool Count5/5

Eight tools is well-scoped for a world-editing MCP with a plan-preview-apply safety pipeline and snapshot support. Each tool earns its place without redundancy or bloat.

Completeness4/5

The surface covers the core lifecycle: read world info, export/analyze terrain, plan/preview/apply edits, and list/rollback snapshots. Minor gaps exist, such as no tool to delete or prune snapshots, but agents can work around these limitations.

Maintenance

ActivityMaintained
ResponsivenessNo issues