Skyrim Modding Tools MCP
Provides tools for discovering and retrieving Skyrim SE mods from Nexus Mods: search mods by name or list most endorsed/downloaded/updated, read mod pages including descriptions, requirements, and available files, and download mod files into the instance's downloads folder when using a premium Nexus API key.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
skyrim-modding-tools-mcp
Mod Skyrim Special Edition by talking to your AI agent. This MCP server gives Claude Code, Claude Desktop, VS Code — any MCP client — the tools to look into your whole load order, make mods and patches, arrange cells in Blender, shape the land and make navmeshes without the Creation Kit, install mods from Nexus Mods and read your crash logs. It works with Mod Organizer 2 on Windows and Amethyst Mod Manager on Linux.
Ask it things like:
Make me a sword called Flame Blade that sets enemies on fire.
Which mods change the Iron Sword, and which one wins?
Make a patch that makes the Iron Sword a bit stronger.
Put a chest in Breezehome holding 500 gold and a Steel Sword.
Add a dragon shout that deals shock damage, with three words of its own.
Open Breezehome in Blender — I want to move the furniture around.
Make the navmesh for my new house, so my follower can walk in.
Make me a small valley from this heightmap, with a lake at the bottom.
My game just crashed. Why?
A mod is made as text: one YAML file per record, in a project you can keep in git, built into a real plugin and deployed into your mod manager — weapons, armor, arrows, potions, recipes, enchantments, spells, shouts, NPCs, leveled lists, perks, notes, quests with their scripts, and objects placed in the world, indoors and out. The build warns of what would go wrong in game, each warning with the one call that fixes it.
Blender, land and navmesh. A cell, inside or out, opens in Blender with its objects, meshes and textures (through
the PyNifly add-on): move the furniture, sculpt the ground, touch up the navmesh — by hand or through Blender's MCP
server — and it all comes back into the project. Without Blender, the ground outdoors can be flattened, raised,
lowered or smoothed in one call; a cell's navmesh is made from what stands in it; and a new worldspace of the mod's
own comes from a heightmap. Some work still needs other tools: a new NPC's face needs the Creation Kit, distant land
needs LOD from xLODGen. What you make in the Creation Kit, pullProject reads back into the text. Plugins are read and written by
Mutagen; the text is Spriggit's
format.
What it offers
🔍 Look things up
Tool | Does |
| Search the active load order by name or editor ID; resolve FormIDs to names and back |
| One record as project text — the winning version, one plugin's, or every version side by side |
✍️ Make mods and patches
Tool | Does |
| Start a new mod |
| Copy existing records into a patch as overrides, from their winning version, to change them without touching the original mod |
| Change a record file's fields by their paths, with no old text to match — and build again in the same call |
| Put a record file where the build reads it, or remove one the mod no longer needs |
| Text → plugin: assigns FormIDs to new records, checks every reference, compiles Papyrus scripts, and lists what the plugin holds — and warns of what would go wrong in game: an armor no one can wear, a missing mesh, an effect that does nothing, a chest under the floor |
| Build → mod manager: mod folder, enabled, plugin at the end of the load order |
| Changes made in the Creation Kit or xEdit → back into the text |
🧊 Blender, land and navmesh
Tool | Does |
| A cell → Blender: its objects with their meshes and textures, outdoors its ground, and its navmesh, saved as a |
| Blender → the project: objects moved, copied or deleted as the mod's own references, the ground sculpted, the navmesh edited |
| The ground outdoors flattened (a plot for a house), raised, lowered or smoothed in a circle, blended into the land around |
| A cell's navmesh, made from the collision of what stands in it, indoors and outdoors: load doors linked, edges linked with the cells beside it |
| A land of the mod's own, apart from Skyrim: flat or from a heightmap image, with water and Skyrim's weather, and a start cell to |
| A room of the mod's own, made like a room of the game — its walls, lights and furniture — with a pair of load doors to the cell the player comes from |
⚖️ Conflicts and order
Tool | Does |
| Which plugin's changes to a record are lost to another's, change by change, and which mods' files hide each other's; |
| The load order sorted by LOOT's own library and masterlist, with LOOT's messages: a preview first, applied on the user's word |
| One plugin moved in the load order, on the user's word, where the game can load it |
| One mod moved in the mod order, on the user's word, so its loose files win or lose |
📦 Find and install mods
Tool | Does |
| Find Skyrim SE mods on Nexus Mods by name, or list the most endorsed, downloaded or updated |
| One Nexus mod page: description, requirements (SKSE, other mods, DLC), the files it offers |
| A file of a Nexus mod into the instance's downloads folder — with a premium account's API key |
| A downloaded file → a mod: unpacked, its FOMOD installer answered, enabled, its plugins active |
| A mod enabled or disabled, on the user's word — and which plugins now miss a master |
| The mods installed, in priority order: enabled or not, their plugins, their Nexus record, whether they carry SKSE plugins |
💥 Keep the game running
Tool | Does |
| Why the game crashed, from Crash Logger SSE's log: known crashes with their fixes, and the mods behind what the log names |
| What the game's scripts did wrong, from the Papyrus log: problems grouped and counted with their fixes, each script by its mod, script lag, a save's leftovers of removed mods |
| Whether SKSE, Address Library and each SKSE plugin fit the game version |
| Settings of Skyrim.ini, SkyrimPrefs.ini or SkyrimCustom.ini, on the user's word |
📚 Know how
readSkill serves the modding skills — how plugins, FormIDs, load order and conflicts work, the community's tools,
and one skill each for items and crafting, magic, NPCs, leveled lists, perks, quests and scripts, the world (cells and
what is placed in them), game updates and crash analysis.
readServerGuide serves the server's own guides, and healthcheck says what the server is bound to.
Related MCP server: MCP TypeScript Starter
Modding with Muddy! 🦀
Meet Muddy, the modding agent: a mudcrab from the shore below Riverwood who learned to mod Skyrim. Cheerful,
proud of his shell, and exact at the workbench. He reads the skills before he writes a record, builds until the build
says success, and leaves your mod manager alone unless you ask.
npm run setup sets him up after a yes, and the guide to Muddy has the steps for each client:
Client | Muddy |
OpenClaw |
|
Claude Code |
|
Claude Desktop | A project with Muddy's instructions |
VS Code | Pick Muddy in the chat's agent list |
ChatGPT | The desktop app, with a local project on your projects folder |
Any other MCP client | Muddy's instructions as its system prompt, or the server's |
Or paste this prompt into the agent you use, and it sets him up for you.
The simplest way of all: copy his two files, AGENTS.md and SOUL.md,
into the folder your agent works in.
Requirements
Skyrim Special Edition 1.5.97 to 1.7.x, managed by Mod Organizer 2 (2.5) on Windows, or Amethyst Mod Manager (2.5) on Linux. Mod Organizer under Proton is experimental (
docs/Hosting.md§5).Node.js 24 and git.
npm run setupbrings the rest: the .NET 10 SDK, and on Linux a Papyrus compiler.Optional: Git LFS, if you keep your projects in git and they hold meshes or textures — the projects folder's
.gitattributessends those to it once it is installed. Without it, git keeps them as ordinary files.For compiling Papyrus scripts (optional otherwise): the Creation Kit (free on Steam) for its vanilla script sources; on Windows its compiler needs .NET Framework 3.5 (Windows Features).
For arranging cells, their ground and their navmesh by eye (optional): Blender with the PyNifly add-on. Blender's own MCP server lets the agent work in Blender too. Land, navmesh and a new worldspace need no Blender.
Setup
Windows, in PowerShell — the first two lines only for what you do not have yet, then open a new PowerShell:
winget install --exact --id OpenJS.NodeJS.LTS
winget install --exact --id Git.Git
git clone https://github.com/Ciltress/skyrim-modding-tools-mcp
cd skyrim-modding-tools-mcp
npm run setupLinux (CachyOS, Arch):
sudo pacman -S --needed nodejs npm git
git clone https://github.com/Ciltress/skyrim-modding-tools-mcp ~/skyrim-modding-tools-mcp
cd ~/skyrim-modding-tools-mcp
npm run setupnpm run setup installs the .NET 10 SDK if it is missing, builds the server and its
plugin helper, and finds your mod manager — it asks for the Mod Organizer instance only when it finds
none, and for your Nexus Mods API key if you want to download through Nexus (a premium account's;
searching and reading Nexus need none). It registers the server with
Claude Code, Claude Desktop and VS Code, sets up Muddy, and ends with a healthcheck: the
instance, profile and game version it found. Everything it installs, downloads, registers or writes, it asks about
first.
OpenClaw gets the same tools from the
OpenClaw plugin instead, set up with its own
wizard, openclaw skyrim setup; setup says so when it finds OpenClaw.
Updating: git pull && npm run setup, then restart your client. A client still running the server
keeps the plugin helper in use; setup then names what to close.
By hand instead — the settings file and each client's registration, ready to copy:
docs/Hosting.md §1.1.
Work on a test instance. Deploys write into the instance's mods and profile. A dedicated portable Mod Organizer on a clean game is the safe place to learn the tools — and if your instance was installed by Wabbajack, an update deletes every mod it did not install.
Configuration
See .env.example. A path may start with ~ and use $NAME or ${NAME:-default}, as
in a shell, on every system; a relative one is taken from the server's folder
(docs/Hosting.md §1.1).
Variable | Default | Effect |
| found by itself |
|
| — (required with Mod Organizer) | The Mod Organizer instance folder; the server follows its selected profile |
| found by itself for MO2-LINT | Mod Organizer under Proton: the Wine prefix it runs in, to read its ini's Windows paths |
| found by itself | Amethyst's config folder, if it is neither the Flatpak's nor |
| none | Your personal Nexus Mods API key; |
|
| Where projects live |
| the instance's game folder | The Creation Kit, for its Papyrus compiler and vanilla script sources |
| the Creation Kit's (Windows); on Linux |
|
|
| Where |
|
| Where |
|
| The Blender |
| the core's | The built plugin helper |
|
|
|
| per profile | Ceiling on one answer; |
|
|
|
| none | HTTP mode: the bearer tokens callers may present |
Documentation
The tools themselves — with their router, behaviour guide, skills and vocabulary — are skyrim-modding-tools-core, which this server and its OpenClaw plugin both serve. The core can also be used on its own, from your own program.
Document | For |
The core's | Which tool does what, in the words people use |
The core's | How the server behaves: rules, architecture, workflows, errors, troubleshooting |
Every tool and argument — generated, never edited by hand | |
The core's | The modding knowledge the server serves to agents |
The core's | The vocabulary |
Muddy, the modding agent, in each client | |
stdio and Streamable HTTP | |
Working on this code |
The guides are served to clients too: ask the running server with readServerGuide.
Development
npm run build:helper # the core's plugin helper, built in its folder
npm run build # tsc -> dist/
npm test # vitest, fully offline: no game, no helper needed
npx tsc --noEmit # type check only
npm run docs:tools # regenerate docs/Tool-Reference.md after changing a tool (needs a build)
npm run smoke # the built server over real stdioLicense and thanks
GPL-3.0 — see LICENSE — as Mutagen, the plugin engine, is
GPL-3.0. The crash rules are Phostwood's Skyrim Crash Log Analyzer's,
ported in the core. Copyright © 2026 Andreas Breit; co-authored with Claude (Anthropic).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Skills, agents and memory in the cloud, plus a gateway to your other MCP servers.
Related MCP Servers
- FlicenseBqualityDmaintenanceA TypeScript-based MCP server that implements a simple notes system, providing resources for accessing notes via URIs, tools for creating notes, and prompts for generating summaries.79 npm-
- AlicenseNot gradedqualityBmaintenanceA feature-complete MCP server template in TypeScript demonstrating tools, resources, prompts, and both stdio and HTTP transports.8MIT
- FlicenseNot gradedqualityDmaintenanceA TypeScript-based MCP server implementing a simple notes system with resources, tools, and prompts.-
- AlicenseNot gradedqualityCmaintenanceProvides a TypeScript scaffolding that auto-loads drop-in tools, resources, and prompts, and serves them to MCP-compatible clients over stdio or streamable HTTP.MIT