RimWorld Modder MCP
Model Context Protocol server for RimWorld mod analysis, validation, and compact modding workflows.
Ask AI about RimWorld Modder MCP
Powered by Claude · Grounded in docs
I know everything about RimWorld Modder MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
RimWorld Modder MCP
MCP server for RimWorld mod analysis and modding workflows, implemented in C#/.NET 10.
Primary focus:
- XML defs and inheritance
- patch inspection and conflict triage
- mod compatibility and dependency checks
- Player.log triage
- release-readiness checks for RimWorld mods
Quickstart
Recommended: global .NET tool
Requires a .NET 10 SDK.
dotnet tool install -g cryptiklemur.rimworld-modder-mcp
Most MCP clients can then use:
{
"mcpServers": {
"rimworld-modder": {
"command": "rimworld-modder-mcp",
"args": [
"--rimworld-path=/absolute/path/to/RimWorld",
"--mod-dirs=/absolute/path/to/RimWorld/Mods"
]
}
}
}
Repo examples:
claude-desktop-config.jsonlocal-mcp-config.json
Recommended: repo-local config
Create .rimworld-modder-mcp.json in your mod repo:
{
"rimworldPath": "/absolute/path/to/RimWorld",
"modDirs": [
"/absolute/path/to/RimWorld/Mods",
"/absolute/path/to/Steam/workshop/content/294100"
],
"logPath": "/absolute/path/to/Player.log",
"allowedDlcs": "Core,Biotech",
"outputMode": "compact"
}
Then your MCP client args can just be:
{
"mcpServers": {
"rimworld-modder": {
"command": "rimworld-modder-mcp",
"args": [
"--project-root=/absolute/path/to/your/mod/repo"
]
}
}
}
No-install option
If you do not want a global install, use dnx or dotnet tool exec. This also requires a .NET 10 SDK.
Direct shell usage:
dnx cryptiklemur.rimworld-modder-mcp --yes -- --project-root=/absolute/path/to/your/mod/repo
dotnet tool exec cryptiklemur.rimworld-modder-mcp --yes -- --project-root=/absolute/path/to/your/mod/repo
Headless MCP config with dnx:
{
"mcpServers": {
"rimworld-modder": {
"command": "dnx",
"args": [
"cryptiklemur.rimworld-modder-mcp",
"--yes",
"--",
"--project-root=/absolute/path/to/your/mod/repo"
]
}
}
}
--yes is there so first-run package download does not pause for confirmation.
Client Setup
Pick the client you care about:
Codex CLI
Global installed tool:
codex mcp add rimworld-modder -- \
rimworld-modder-mcp \
--project-root=/absolute/path/to/your/mod/repo
No-install:
codex mcp add rimworld-modder -- \
dnx cryptiklemur.rimworld-modder-mcp \
--yes \
-- \
--project-root=/absolute/path/to/your/mod/repo
Claude Code
Global installed tool:
claude mcp add --scope user rimworld-modder -- \
rimworld-modder-mcp \
--project-root=/absolute/path/to/your/mod/repo
No-install:
claude mcp add --scope user rimworld-modder -- \
dnx cryptiklemur.rimworld-modder-mcp \
--yes \
-- \
--project-root=/absolute/path/to/your/mod/repo
Goose CLI
Quick session with the installed tool:
goose session \
--with-extension "rimworld-modder-mcp --project-root=/absolute/path/to/your/mod/repo"
Quick session with no-install dnx:
goose session \
--with-extension "dnx cryptiklemur.rimworld-modder-mcp --yes -- --project-root=/absolute/path/to/your/mod/repo"
For a persistent Goose setup, use goose configure and add a command-line extension.
Claude Desktop, Cursor, Cline, Windsurf, Continue
If the client exposes stdio MCP config, use either:
command: "rimworld-modder-mcp"with--project-root=/absolute/path/to/your/mod/repocommand: "dnx"with the no-install block shown above
Runtime-Only Fallback
If you only want the runtime, use the release bundle instead of the NuGet tool.
- Install the .NET 10 runtime.
- Download the latest
rimworld-modder-mcp-vX.Y.Z-dotnet.zipfrom GitHub Releases. - Extract it somewhere permanent.
- Point your MCP client at
RimWorldModderMcp.dll.
Bundle config:
{
"mcpServers": {
"rimworld-modder": {
"command": "dotnet",
"args": [
"/absolute/path/to/RimWorldModderMcp.dll",
"--rimworld-path=/absolute/path/to/RimWorld",
"--mod-dirs=/absolute/path/to/RimWorld/Mods"
]
}
}
}
Each bundle also includes:
manifest.jsonQUICKSTART.mdexamples/generic-mcp-config.posix.jsonexamples/generic-mcp-config.windows.json
Docker
Build:
docker build -t rimworld-modder-mcp .
Run:
docker run \
-i \
--rm \
-v "/path/to/rimworld:/rimworld:ro" \
-v "/path/to/workshop:/workshop:ro" \
rimworld-modder-mcp \
--rimworld-path=/rimworld \
--mod-dirs=/rimworld/Mods,/workshop
MCP config:
{
"mcpServers": {
"rimworld-modder": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v", "/path/to/rimworld:/rimworld:ro",
"-v", "/path/to/workshop:/workshop:ro",
"ghcr.io/cryptiklemur/rimworld-modder-mcp:latest",
"--rimworld-path=/rimworld",
"--mod-dirs=/rimworld/Mods,/workshop"
]
}
}
}
Arguments
Common optional:
--project-rootrepo root used for config discovery and relative path resolution--configexplicit project config path--rimworld-pathpath to the RimWorld install if you are not using project config--mod-dirscomma-separated mod directories--mods-config-pathpath toModsConfig.xmlif you only want enabled mods--logPathpath toPlayer.log--allowedDlcsofficial-content target for compatibility checks, defaultCore,Biotech--log-levelDebug,Information,Warning, orError--scopeTypeand--scopeValueforaudit_scope
Common RimWorld paths:
- Windows Steam:
D:\SteamLibrary\steamapps\common\RimWorld - Linux Steam:
~/.steam/steam/steamapps/common/RimWorld - macOS Steam:
~/Library/Application Support/Steam/steamapps/common/RimWorld
Run rimworld-modder-mcp --help for the full argument list.
Output Controls
outputMode:compact,normal, ordetailedpageSize: cap array-heavy sectionspageOffset: page through array-heavy sectionshandleResults: store a retrievable result handleget_result_by_handle: expand a stored handle in a long-lived MCP session
Core Workflow Tools
Start here in most mod repos:
- Setup and environment:
doctor - Changed-file review before commit:
audit_changed_files,validate_changed_content - Runtime debugging:
triage_player_log,compare_player_logs,broken_reference_explainer - Release/readiness checks:
mod_ready_check,scan_dlc_dependencies - Patch debugging:
triage_patch_conflicts,find_patch_hotspots,validate_xpath,write_xpath,preview_patch,preview_patch_result - Scoped inspection:
scope_search,audit_scope,content_coverage_report - Load-order impact:
suggest_load_order,load_order_impact_report
Lower-level lookup tools are still available when you need exact details:
- Def lookup:
get_def,search_defs,get_defs_by_type,get_def_inheritance_tree,compare_defs - References and patches:
get_references,get_def_dependencies,get_patches_for_def,get_patch_conflicts - Mod analysis:
analyze_mod_compatibility,get_mod_dependencies,find_broken_references,validate_mod_structure
Your MCP client can inspect the full tool list directly.
Build From Source
git clone https://github.com/cryptiklemur/rimworld-modder-mcp.git
cd rimworld-modder-mcp
dotnet build src/RimWorldModderMcp/RimWorldModderMcp.csproj
dotnet run --project src/RimWorldModderMcp/RimWorldModderMcp.csproj -- --rimworld-path="/path/to/RimWorld"
Release
semantic-release publishes:
- the NuGet
.NET tool - the
.nupkgas a GitHub release asset - the runtime-only zip bundle
- the
.sha256checksum
Trusted Publishing on nuget.org:
- In nuget.org, open
Trusted Publishing. - Add a GitHub Actions policy for:
- repository owner:
cryptiklemur - repository:
rimworld-modder-mcp - workflow file:
release.yml
- repository owner:
- In GitHub repo settings, add a repository variable:
NUGET_USERNAME= your nuget.org profile name
After that, no long-lived NuGet API key secret is needed.
Useful commands:
npm ci
npm run release:dry-run
npm run release:prepare-artifacts -- 1.2.5
CI configuration:
- NuGet Trusted Publishing via
NuGet/login@v1 - repo variable
NUGET_USERNAME SEMANTIC_RELEASE_TOKENif you want release-created tags to trigger other workflows
