Skyrim, generated.

Skyrim Creation Kit MCP Server

A Model Context Protocol server and a .NET build pipeline that let AI models build Skyrim Special Edition worlds: mountains, rivers, waterfalls, biomes, forts and towns, roads and bridges, caves and ruins. The aim is a world that looks like Bethesda made it and works in the game.

Every picture below is a real build output, shown next to vanilla Skyrim wherever a comparison exists.

Eight generated landscapes seen from above: Skyrim mix, tundra plains, pine forest, fall forest, the Reach, snow peaks, an island, and a desert stand-in
Eight landscapes, one generator. Each panel is a separate 64×64-cell world (about half the area of Skyrim’s map) from the same seed, one per scene type. Blue is water: every river runs continuously from its source to a lake or the sea. Hillshade render of the raw heightmap.

80

MCP tools an AI client can call

8

landscape scene types, each modeled on a real part of Skyrim

11–25 s

to generate a 64×64-cell world’s terrain, rivers and lakes

272

Bethesda sites in the transplant library, 263 passing headless checks

0

differences along the seams of three regions built separately and joined

550

commits in the first seven days, each result rebuilt and checked from its commit


Landscape

Terrain made from Skyrim itself.

The first generator drew mountains from math, and they never looked like Skyrim. The current one plans the large shape, then builds the ground out of real pieces of Bethesda’s landscape.

Scene plan first. A seeded plan lays out where the ranges, basins, valleys and coast go, using proportions measured from a real part of Skyrim for that scene type. A pine scene gets the Falkreath forest hills; a Reach scene gets the Reach’s broken rock; an island scene gets a Solstheim-like coast.

Then quilting. The ground inside the plan is assembled from 5×5-cell pieces of Tamriel and Solstheim. Each piece is chosen to match the plan and its neighbours, then blended in. The Throat of the World is left out of the library so it can’t be copied, and no generated peak rises above its height.

Then water. Rivers are carved downhill to lakes or the sea with a continuous bed, lakes get stepped water planes like vanilla’s, and waterfalls form where a river drops between levels.

Deterministic. The same seed, settings and game files always give the same terrain, byte for byte. A scene builds in 11–25 seconds for 64×64 cells on a 32-thread machine.

Low-angle views of the highest ground in each of the eight generated scenes
The biggest massif in each scene. Same eight worlds, looking at the highest ground from a low angle. Snow peaks rise into single massifs; the Reach and fall forest stay broken and hilly, like their vanilla sources.
SceneTerrain pieces fromCharacter
Skyrim mixAll of SkyrimRanges, open tundra, river valleys, lakes
Tundra plainsSkyrim’s tundra region (Whiterun’s plains)Wide, gentle ground with meandering rivers
Pine forestSkyrim’s pine forest region (Falkreath)Rolling hills, many small lakes
Fall forestSkyrim’s fall forest region (the Rift)Lumpy ground, terraces, many lakes
The ReachThe ReachBroken rock, gorges, steep small hills
Snow peaksSkyrim’s snow regionTall single massifs and high valleys
IslandSolstheimCoastline, offshore islets, a central upland
Desert (stand-in)Reach badlands, Eastmarch volcanic flats, Solstheim ashDry, rugged ground with few rivers
Three distant-LOD views from the same camera: an older terrain round, a later one, and vanilla Skyrim
Where it started. An earlier, math-based generator (rounds 10 and 11, left and center) beside vanilla Tamriel (right). James’s verdict that it lacked Skyrim’s sweeping ranges led to the redesign above.

Water

Rivers, lakes and waterfalls.

Skyrim’s rivers step down through the landscape on flat water planes, with a waterfall at each step. The generator reproduces that, and every river is checked from source to mouth.

Close-ups of three waterfalls: before the rework, after, and vanilla Skyrim
Waterfalls, before (left), after (middle), vanilla (right). The old falls were smooth humps ending in a wall. They are now a concave drop made of small rock steps with benches, ending in a plunge pool. Untextured terrain, water in blue.
Measure (median)BeforeNowVanilla
Lip height, share of the drop0.940.650.63
Biggest single step on the face (units)672200164
Face steepness75°39°27°
Face area steeper than 45°59%35%31%
Plunge pool depth (units)168200169

The faces are still a little steeper than vanilla’s, mostly because our falls drop further (a median of 1,104 units against vanilla’s 762). Every build checks that rivers carry water along their whole length (at most 0.1% of river points dry), have no breaks, and don’t kink at cell edges. On today’s 24 test worlds all water checks pass.


Biomes

Biomes from the land, not the map.

Which ground textures, trees and rocks go where is now decided by the scene type and the shape of the land, the way Skyrim’s own regions follow its terrain.

Five textured top views: the old biome map, two versions of the new one, and two vanilla Skyrim areas
Left to right: the old biome map, which split the region along a straight line; the new map’s default; the new map with a forest-line setting that keeps the test region’s pine/tundra transition; and two vanilla Tamriel areas for comparison.

How it works. Each scene type carries vanilla’s mix of biomes for that kind of country. A model trained on Tamriel then places them by elevation, slope and terrain shape. Map position is never an input, so no border runs straight across the world. An optional forest-line setting moves the pine/tundra boundary up or down the hills.

Results. In the test region the longest straight run of biome border fell from 17 km to 12 km (vanilla areas: 14–34 km). Transitions are as wide as vanilla’s, about 1,300 units. There are no volcanic patches where they don’t belong.

Filling. Trees, shrubs, rocks and ground cover come from terrain-matched patches of vanilla Skyrim, at vanilla’s density. The forest floor follows the trees, roadsides get their own trees, and a regulator keeps exposed rock near vanilla’s share. Still open: shore textures appear beside some inland lakes, and the default Skyrim mix makes too little fall forest (1% against vanilla’s 7.6%).


The test region

Milestone 3: a whole region.

An 8×8-cell region written by one command: generated terrain and river, three transplanted sites, a highway with a vanilla bridge, biome fill, navmesh, gameplay records, and distant LOD.

Three textured top-down LOD views: region round 3, round 5, and vanilla Skyrim
From above. Round 3 (left), the approved round 5 on the new terrain generator (center), and a vanilla Tamriel area (right), all with textured distant LOD and the same camera.
Three oblique distant-LOD views: round 3, round 5 with its surroundings, and vanilla Skyrim
From the north. Round 3 was built as an isolated window (left). Round 5 (center) sits inside its generated surroundings, with snow on the far ranges, beside vanilla Tamriel (right).
The generated highway approaching a vanilla stone bridge over the river
The river crossing. The highway crosses on Bethesda’s Bridge01, seated on generated banks no steeper than vanilla’s.
Fort Greymoor’s gate transplanted onto generated terrain
Fort Greymoor. The fort’s gate, transplanted with its navmesh onto generated ground.
Riverwood’s gate transplanted onto generated terrain
Riverwood. The village gate on new ground. Boxes and rings are Creation Kit editor markers.
A transplanted camp on generated terrain
Steamcrag camp. A small site seated on the generated hillside.
Round 5 checkResult
Rebuilt from its commit on a clean copyByte-identical (raw and final plugin hashes match)
Plugin read back with MutagenPass
Walkability routes on the navmesh, bridge deck included7 of 7
Roads crossing water without a bridge0
Site and road banks steeper than vanilla’s0
Distant LOD generated unattendedYes

Round 6 (building now) rebuilds the same region on the new biomes, blends each transplanted site’s vanilla ground into the surrounding biome (Fort Dunstad’s snowy square was the visible case), and makes sites near a tile edge reproducible from both sides.


Scale

Regions that join without seams.

A full world will be built tile by tile, so separately built regions have to meet exactly.

Textured top view of three regions built separately and joined
Three regions, built separately and merged. Heights, colours, normals, water, the highway, textures and navmesh all agree at the joins: 0 differences on every shared edge, and navmesh links run across. Each region takes about 80 seconds and 7–8 GB of memory.

Sites

Learning from Bethesda’s sites.

Procedural towns look procedural. So the engine starts from complete Bethesda-authored locations and climbs a ladder of variation, learning the rules from the game itself.

CopyExact transplant of a vanilla site
Re-seatRotate, mirror, fit to new terrain
Re-dressSwap clutter, buildings and fences by biome and faction
RecombineNew layouts from parts of many sites
GrowExtend with Bethesda’s kit snap rules
GenerateNew sites from the learned rules

Highlighted rungs work today. 1,398 snap rules have been learned from Bethesda’s kit pieces.

Side by side: vanilla Helgen on the left, transplanted Helgen on the right, same camera
Milestone 1: Helgen, transplanted. All 8 cells of the fort town, 570 objects with terrain and navmesh, rebuilt in a new worldspace. Vanilla (left) and transplant (right), same camera. Accepted.
Three eye-height views of a fort: vanilla and two generated variations
Variation: a fort. The vanilla copy (left) and variants A and B. Layouts are re-seated and re-dressed with swapped building and fence kits.
Three top-down views of a crop farm: vanilla and two generated variations
Variation: a crop farm from above. The field split is learned from vanilla farms: on farms held out of training, misses fell from 5 of 11 to 1 of 11.

Where sites go

A deterministic planner places cities, towns, villages, forts, farms, mines, camps, ruins, towers and shrines across a generated world, using spacing and ground rules learned from 279 Tamriel sites. A 64×64-cell world gets about 246 sites. The current revision only places a city where the ground is as good as vanilla’s city sites, preferring fewer cities to bad ones.

Three site maps: a vanilla Tamriel area, an earlier generated plan, and the current plan
Site plans. Vanilla Tamriel at the same scale (left); an earlier plan that put a city on snowy peaks (center, circled); the current plan with cities and towns only on valley floors (right).

Roads

A road network learned from Skyrim’s.

Skyrim’s road network was measured from its road pieces and path textures: 78 km of road and 38 bridges. The planner reproduces how those roads choose their routes.

Two road maps: a generated network with trunk roads, side roads and planned bridges, and vanilla Tamriel’s extracted network
Generated (left) and vanilla (right). Trunk roads (red) join cities and towns; side roads (orange) reach the other sites; cyan marks planned bridges. The generated world has 21 km of trunk road, 48 km of side road and 15 bridges.

Calibrated on real roads. A least-cost router was tuned so that, between real Skyrim sites, 29% of its route lies on vanilla’s actual road, against 15% for a shortest-path baseline. Roads are then assembled from vanilla road pieces with blended shoulders. A build gate refuses any road that crosses water without a bridge.

In progress: fords where vanilla would use them (about 40% of vanilla’s river crossings) and smoother hairpins on steep ground.

A generated highway crossing open terrain with scattered pines and rocks
Wilderness highway. Vanilla road pieces dressed with trees and rocks placed from vanilla templates.

Interiors

Caves and Nordic ruins from Bethesda’s kits.

The dungeon generator snaps Bethesda’s own kit pieces together using rules learned from vanilla dungeons, then adds navmesh, doors and lighting.

Three dungeon floor plans: a vanilla cave and two generated caves
Floor plans. Vanilla Swindler’s Den (left) and two generated caves (center, right). Round 2 caves read as corridors between rooms; round 3, in progress, grows open caverns from the large cave-room kit the way vanilla builds them.
Two in-editor views: a vanilla Nordic barrow room and a generated Nordic ruin room
Nordic ruin. Vanilla Shroud Hearth Barrow (left) and a generated ruin room (right) in the Creation Kit.

Each generated dungeon is read back, checked for gaps between pieces, and its navmesh tested for reachability, and it rebuilds identically from its commit. Generated navmesh was about four times denser than vanilla’s; round 3 thins it to vanilla’s density. The first linked interior, the Guldun Rock cave behind Fort Greymoor’s sewer grate, was approved.


New biomes

Ready for new lands.

The pipeline can take biomes Skyrim doesn’t have, such as Elsweyr’s Anequina desert, once custom models are supplied.

A dry run of an Anequina desert biome: placements map and zone map
Anequina dry run. A desert biome spec run on vanilla stand-in models: 1,562 placements, with ground zones (dunes, badlands, mesa tops, scrub) shown on the right. An intake validator checks new models before they enter a build.
Five low-angle terrain views: three generated desert scenes, the vanilla Reach and vanilla Solstheim ash
Desert terrain. Three seeds of the new desert scene (left) beside the vanilla Reach and Solstheim’s ash lands (right), the sources it is built from. Dunes, mesas and dry riverbeds come later with custom models.

Verification

Proof, not vibes.

Nothing is accepted on a model’s say-so. Every result is rebuilt from its commit and checked by machine, then judged by eye against vanilla.

Byte-level

Rebuilt and read back.

Plugins are written byte for byte, then read back independently with Mutagen. A reviewer rebuilds each result from a clean copy of its commit and compares hashes before anything is shown for approval.

Build gates

Checks that refuse a build.

No road over water without a bridge; no site or road bank steeper than vanilla’s; continuous rivers; matching seams between regions; dependency checks for actors and quests; cliff-top exposure; forest floor under its trees.

Creation Kit

A sandboxed editor.

An isolated Creation Kit with a custom C++ camera plug-in captures views tied to exact build hashes. xLODGen runs unattended so distant terrain matches the build just written.

In the game

An unattended test harness.

It boots the real game, walks NPCs along test routes, and restores the install file for file. Calibration session: 8 of 8 boots and restores verified. The generated region’s first in-game walk is planned this week.

Pictures beside vanilla. Numbers “inside vanilla’s range” are not enough, because Skyrim’s spread is wide. Every round is shown next to vanilla at the same camera, and James makes the call. A learned critic trained on 51 of his verdicts scores 7 of 9 on held-out terrain rounds, not yet good enough to stand in for him.

How it’s built

One architect, a team of agents.

The project is developed by AI coding agents working under one set of project rules, with James setting direction and judging the pictures.

Lanes

Up to four agents at once.

An architect agent splits the work into lanes (terrain, biomes, sites and assembly, interiors, roads and plans, gameplay content, in-game testing). Each lane owns its files, commits only those, and hands its result back with pictures. The architect rebuilds and checks it before James sees it.

Decisions

Agreed with pictures.

Big changes go to James as a decision brief: options with example pictures and a recommended choice. His verdicts are recorded per round and become training data for the critic.

Rules

Official game files only.

Sources are Skyrim.esm, Update.esm and the three official DLC, in an explicit load order. No third-party mods, and the game install is never modified outside the test harness, which restores it.

Stack

Built with

PythonMCP (stdio)C# / .NET 10MutagenC++ CKPE plug-inCreation KitxLODGenPapyrusClaudeCodexLocal Qwen
Pipeline stageModuleState
Land and waterTerrainGenWorking
Biomes and wilderness fillBiomeFillWorking
Site planSitePlanRevising
Road networkRoadPlanRevising
Sites: transplant and assemblySiteTransplantWorking
Site variationSiteVariationIn review
NavmeshNavmeshGenWorking
Interiors and dungeonsInteriorTransplant, DungeonGenRound 3
Gameplay records and persistent contentGameplayLayer, PersistentContentWorking
Distant LODLodGenWorking
Checks and in-game testsMutagenCheck, GameTestWorking

FAQ

Skyrim Creation Kit MCP server questions.

What is the Skyrim Creation Kit MCP server?

The Skyrim Creation Kit MCP Server (repository creationkit-mcp) is a Model Context Protocol server with 80 tools, backed by a .NET build pipeline, that lets AI models build new Skyrim Special Edition worldspaces. An MCP client calls its tools to plan a world and write it as a plugin, and every result is read back with Mutagen and inspected in an isolated Creation Kit sandbox. It is an unaffiliated fan project by James Mann.

What can the Skyrim Creation Kit MCP server generate?

Terrain in eight scene types quilted from vanilla Skyrim landscape pieces; rivers, lakes and waterfalls; biomes with trees, rocks and ground cover placed from the shape of the land; transplanted and varied Bethesda sites such as Helgen, Riverwood and Fort Greymoor; site plans and road networks with vanilla bridges; caves and Nordic ruins built from Bethesda’s kit pieces; and navmesh, gameplay records and distant LOD for the finished region.

What do I need to run the Skyrim Creation Kit MCP server?

A Windows PC with Skyrim Special Edition’s official game files and Python. The README creates a Python virtual environment, installs requirements.txt, and runs mcp_server.py as a local stdio MCP server; an MCP host is configured to launch that environment’s Python with the absolute path to mcp_server.py. The independent Mutagen verifier needs the .NET SDK, the Creation Kit inspection tools need a copied Creation Kit sandbox with the CKPE camera plug-in, and the local-model scripts need a local Qwen model service.


Project log

Project log and source code.

Dated progress reports and the public creationkit-mcp repository.