Skip to main content
Glama
Txpple

fvtt-mcp-molten5e

by Txpple

create-scene

Create a Foundry VTT scene from a background image, auto-detecting dimensions. Configure grid, lighting, fog, weather, walls, and lights in one call.

Instructions

Create a Foundry Scene from a Data-relative background image path (e.g. an uploaded map). Width/height auto-detect from the image when omitted. Places it in a folder (created if absent) and sets navigation (false = a DM-only scene off the player nav bar) in the same call. AUTO-GENERATES the navigation thumbnail from the background (Foundry-native) when no explicit thumb is given — no more thumbnail-less scenes. Optionally set grid size/type/distance/units/color/alpha, token vision, fog mode, lighting (darkness, global light, or a whole environment{}/fog{} mood object + saved camera for pack imports), weather, a linked playlist/journal, a nav thumbnail, padding, provenance flags, and activate it. Can also IMPORT walls + ambient lights from a map sidecar JSON (the walls/lights arrays many battlemaps ship alongside the image): pass them and they are placed on the new scene (legacy or v14 shapes both accepted, normalized to v14). GM-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fogNoA v12+ scene's full fog{} object (exploration, overlay, colors), carried whole (deep-merged).
nameYesScene name.
flagsNoDocument flags namespaced by scope — e.g. {"tom-cartos-import":{sourceModule,sourceId}} for import provenance/dedup. Deep-merged over any existing flags (re-stampable on update).
thumbNoData-relative path to a pre-rendered navigation thumbnail (e.g. an uploaded <id>-thumb.webp shipped by a map pack). Foundry may regenerate it on a later in-app edit, so treat it as a nice-to-have, not load-bearing.
wallsNoWalls to import from a map sidecar JSON (the `walls` array of a Foundry scene-export sidecar that ships next to a map). Created after the scene exists; coordinates are absolute canvas pixels, so pass the sidecar width/height/gridSize/padding too.
widthNoScene width in pixels (optional — auto-detected from the image when omitted).
folderNoScene folder id or exact name to place the scene in (created if absent).
heightNoScene height in pixels (optional — auto-detected from the image when omitted).
lightsNoAmbient lights to import from a map sidecar JSON (the `lights` array).
fogModeNoFog of war: disabled | individual (classic per-player) | shared (party-wide).
initialNoThe saved initial camera view {x,y,scale} to restore on scene load (deep-merged).
journalNoJournalEntry id or exact name to attach as scene notes. "" clears it.
paddingNoScene padding fraction (optional).
regionsNoRegions (v12+ RegionDocument incl. teleporters) to import from a scene-pack payload. Created after the scene exists; each is stamped with its source id, and cross-scene teleporter destinations are rewritten afterward by a single remap-teleporters call.
weatherNoWeather effect key (e.g. rain, snow, fog, leaves, rainStorm, blizzard). "" = none.
activateNoActivate the scene after creating it.
darknessNoDarkness/day-night level: 0 = full daylight, 1 = full night.
gridSizeNoGrid size in pixels (default 100).
gridTypeNoFoundry grid type (0 gridless, 1 square, 2+ hex). Default 1.
playlistNoPlaylist id or exact name to auto-play on scene activation. "" clears it.
gridAlphaNoGrid line opacity 0–1 (e.g. 0.2 for a faint grid).
gridColorNoGrid line color as a hex string, e.g. "#000000".
gridUnitsNoDistance unit label per cell, e.g. "ft" (dnd5e default).
navigationNoWhether the scene appears in the player navigation bar. Set false for a DM-only scene (keeps it off the nav bar). Omit for Foundry default.
environmentNoA v12+ scene's full environment{} mood object, carried whole (darknessLevel, globalLight{...}, cycle, base, dark{hue,luminosity}…). Deep-merged, so a partial mood patch layers onto the scene; prefer this over the flat darkness/globalLight knobs when importing or re-mooding a pack scene.
globalLightNoGlobally illuminate the whole scene (turn the lights on).
tokenVisionNoRequire token line-of-sight to see the scene. Turn OFF for overland/illustration maps.
gridDistanceNoReal-world distance per grid cell (dnd5e default 5).
backgroundPathYesData-relative path to the background/map image.
placeablesPathNoServer-local path to a JSON file of {walls,lights,regions} to place (as written by read-pack for a scene-pack import). Read SERVER-SIDE and merged with any inline placeables — this routes a pack's hundreds of walls/lights/regions tool→tool without passing them through the agent (the MCP response cap makes inline placeables infeasible at scene scale).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behaviors: auto-detection of dimensions, auto-generation of thumbnail, folder creation, navigation setting, and import capabilities. It also notes limitations like Foundry regenerating thumbnails and MCP response cap for placeablesPath.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and structured logically. However, it is somewhat verbose with multiple clauses and parentheticals, which could be tightened. Every sentence adds value, but conciseness could be improved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 30 parameters, the description covers most aspects: main use, options, edge cases (auto-detect, auto-thumb), best practices, and limitations. It lacks a clear statement about what the tool returns (e.g., the created scene object), but overall is highly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already has 100% description coverage, so baseline is 3, but the description adds significant extra meaning: context on auto-detection, auto-generation, preferring config objects for lights, deep-merging of flags/environment, and server-side reading of placeablesPath. This goes well beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a clear verb and resource: 'Create a Foundry Scene from a Data-relative background image path'. It specifies the unique input method and distinguishes itself from sibling creation tools by covering all scene creation aspects in one call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool, including options like auto-detect, auto-generated thumbnails, importing walls/lights, and setting navigation. It implies comprehensive scene setup but does not explicitly state when not to use it or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Txpple/fvtt-mcp-molten5e'

If you have feedback or need assistance with the MCP directory API, please join our Discord server