{"name":"io.github.casancam/dungeondraft-mcp","slug":"casancam-dungeondraft-mcp","title":null,"description":"Read, edit and export Dungeondraft maps; convert Universal VTT (.dd2vtt) into Foundry VTT scenes","url":"https://mcp.market/server/casancam-dungeondraft-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":15,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-03T15:06:45.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/casancam/Dungeondraft-MCP","website":null,"version":"0.1.0","remotes":[],"packages":[{"registryType":"npm","identifier":"dungeondraft-mcp","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Folders the server may read and write maps in, separated by ;. Default: your Documents folder","format":"string","name":"DD_MCP_ROOTS"},{"description":"Dungeondraft install folder (contains Dungeondraft.pck), for built-in asset search. Auto-detected on Windows","format":"string","name":"DUNGEONDRAFT_DIR"},{"description":"Dungeondraft asset folders with .dungeondraft_pack files, separated by ;","format":"string","name":"DD_ASSET_DIRS"}]}],"tools":[{"name":"add-floors","description":"Add floor patterns (wood planks, cobble, tiles...) over a rectangle or polygon. Built-in floors are res://textures/tilesets/simple/... (list-assets category \"tilesets\", query \"simple\"); pack floors are category \"patterns\". Floors are drawn above terrain and below objects. … …","write_action":false,"price_micros":0,"input_schema":null},{"name":"add-lights","description":"Add point lights. \"range\" is the radius in grid squares (default 5), intensity 0-1+ (default 1), colour \"#RRGGBB\" (default warm ffeccd8b, as Dungeondraft uses). Lights only show in Dungeondraft when the level's lighting is not fully bright. … …","write_action":false,"price_micros":0,"input_schema":null},{"name":"add-objects","description":"Place objects (props, furniture, trees...) on a level. \"at\" is the object's CENTRE. Rotation in degrees clockwise. Asset paths come from list-assets (category objects) and are validated; a custom pack is added to the map's manifest automatically. … …","write_action":false,"price_micros":0,"input_schema":null},{"name":"add-paths","description":"Draw path assets (roads, rivers' edges, fences, cliffs, cave walls...) along grid points. Width in squares (default 1). smooth=false gives sharp corners. Path textures come from list-assets (category paths). … …","write_action":false,"price_micros":0,"input_schema":null},{"name":"add-walls","description":"Draw walls as polylines through grid points; set loop=true to close a room. Optional doors are placed on the wall at a grid point (door centre), default 1 square wide. To add doors to an existing wall, pass add_doors_to_wall with its node_id (from inspect-map list [\"walls\"]). Wall/door textures come from list-assets (categories walls / portals). … …","write_action":false,"price_micros":0,"input_schema":null},{"name":"build-room","description":"Build complete rooms in one step: a closed wall around a rectangle (or polygon) plus a matching floor and doors. Doors go at grid points on the outline, e.g. the middle of the south wall of area {x:10,y:5,width:6,height:4} is [13, 9]. … …","write_action":false,"price_micros":0,"input_schema":null},{"name":"dd2vtt-to-foundry-scene","description":"Convert a .dd2vtt/.uvtt into Foundry VTT v13 scene data: grid, walls, doors and lights, plus the map image extracted to a file. Writes <name>.<png|webp> and <name>.foundry-scene.json. Upload the image to Foundry (e.g. The Forge Assets Library), then in Foundry create a scene and use \"Import Data\" with the JSON, or pass the JSON to a Foundry MCP tool. Set image_src to the uploaded image path so bac","write_action":false,"price_micros":0,"input_schema":null},{"name":"duplicate-map","description":"Copy a map to a new file in the same folder (or a given path) to start a variant, e.g. a night version. Never overwrites an existing file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export-dd2vtt","description":"Dungeondraft is needed to render map images, so this cannot export on its own. It builds a .dd2vtt from the map's walls, doors and lights plus an image you exported from Dungeondraft (File > Export > PNG/WEBP of the whole map, no grid if you want Foundry's). Useful when you changed walls/doors/lights after exporting. The simplest route is still Dungeondraft's own File > Export > Universal VTT.","write_action":false,"price_micros":0,"input_schema":null},{"name":"inspect-map","description":"Summarise a map: size, levels, element counts, terrain, asset packs and most-used assets. Optionally list elements (node_id, asset, grid position) of given types, filtered by area, to target edits or removals. Never returns raw file data. …","write_action":false,"price_micros":0,"input_schema":null},{"name":"list-assets","description":"Search installed assets: Dungeondraft built-ins plus asset packs in the configured asset folders. Returns the exact texture path to pass to the add-* tools. Call with no filters for an overview (counts per category, packs, tags). Search matches words in the path and tags, e.g. query \"table round\" category \"objects\". Packs whose author disallows third-party tools are listed by name only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list-maps","description":"Find … files under a folder (default: all configured folders). Returns path, size and last-modified time, newest first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"remove-elements","description":"Remove elements of the given types that lie entirely inside an area, and/or by node_id (from inspect-map). Walls take their doors with them. Requires an area or node_ids. Use dry_run first to see what would go. … …","write_action":true,"price_micros":0,"input_schema":null},{"name":"set-environment","description":"Change a level's ambient light, e.g. to make a night variant after duplicate-map. Presets: ${Object.entries(AMBIENT_PRESETS) .map(([k, v]) =>","write_action":false,"price_micros":0,"input_schema":null},{"name":"set-terrain","description":"Change a level's terrain: assign textures to slots 1-8 (list-assets category terrain), fill the whole level with one slot, and/or paint strokes. Each stroke is an area (rectangle), circle or line (polyline with a width, for trails/roads) painted with a slot; \"feather\" (squares) softens the edge and \"strength\" (0-1) blends partially. Resolution is 1/4 square. Strokes apply in order. Slots 5-8 enabl","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-10-03T16:47:13.879Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-03T16:47:13.832Z","components":{"code":{"score":25,"max":25,"notes":["17 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"dungeondraft-mcp","version":"0.1.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-10-03T15:10:59.643Z","repositoryUrl":"git+https://github.com/casancam/Dungeondraft-MCP.git"}],"repo":{"found":true,"owner":"casancam","repo":"Dungeondraft-MCP","archived":false,"pushedAt":"2026-10-03T15:06:45Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/99197464?v=4","ownerCreatedAt":"2022-02-07T15:14:42Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/99197464?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-03T15:06:45.000Z","score":15}}}},"grade_history":[],"reviews":[]}