{"id":31585291,"url":"https://github.com/cryptiklemur/rimworld-mcp-server","last_synced_at":"2025-10-06T01:47:13.958Z","repository":{"id":313668245,"uuid":"1052160462","full_name":"cryptiklemur/rimworld-mcp-server","owner":"cryptiklemur","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-07T16:55:56.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-07T18:41:57.528Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cryptiklemur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-07T14:30:49.000Z","updated_at":"2025-09-07T16:55:59.000Z","dependencies_parsed_at":"2025-09-07T18:42:00.910Z","dependency_job_id":"133ca016-6a3c-4c08-8217-61b98541606d","html_url":"https://github.com/cryptiklemur/rimworld-mcp-server","commit_stats":null,"previous_names":["cryptiklemur/rimworld-mcp-server"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/cryptiklemur/rimworld-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptiklemur%2Frimworld-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptiklemur%2Frimworld-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptiklemur%2Frimworld-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptiklemur%2Frimworld-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cryptiklemur","download_url":"https://codeload.github.com/cryptiklemur/rimworld-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptiklemur%2Frimworld-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278547863,"owners_count":26004773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-06T01:46:52.659Z","updated_at":"2025-10-06T01:47:13.953Z","avatar_url":"https://github.com/cryptiklemur.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RimWorld MCP Server\n\nA high-performance MCP (Model Context Protocol) server for analyzing RimWorld XML definitions, patches, and mod interactions.\n\n## Installation\n\n### 🐳 Docker Installation (Recommended)\n\n\u003e **Note:** Docker must be installed on your system\n\nAdd to your MCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"rimworld\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-v\", \"/path/to/your/rimworld:/rimworld:ro\",\n        \"-v\", \"/path/to/your/workshop:/workshop:ro\",\n        \"ghcr.io/cryptiklemur/rimworld-mcp-server:latest\",\n        \"--rimworld-path=/rimworld\",\n        \"--mod-dirs=/rimworld/Mods,/workshop\"\n      ]\n    }\n  }\n}\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eManual Installation\u003c/summary\u003e\n\n#### 1. Clone the repository\n\n```bash\ngit clone https://github.com/cryptiklemur/rimworld-mcp-server.git\ncd rimworld-mcp-server\n```\n\n#### 2. Build the project\n\n```bash\nnpm install\nnpm run build\n```\n\n#### 3. Configure your AI client\n\nAdd to your MCP configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"rimworld\": {\n      \"command\": \"node\",\n      \"args\": [\n        \"/path/to/rimworld-mcp-server/dist/index.js\",\n        \"--rimworld-path=/path/to/your/rimworld\",\n        \"--mod-dirs=/path/to/your/rimworld/Mods\"\n      ]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClaude Desktop Installation\u003c/summary\u003e\n\nAdd to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS or `%APPDATA%/Claude/claude_desktop_config.json` on Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"rimworld\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-v\", \"/path/to/your/rimworld:/rimworld:ro\",\n        \"ghcr.io/cryptiklemur/rimworld-mcp-server:latest\",\n        \"--mod-dirs=/rimworld/Mods\"\n      ]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eContinue.dev Installation\u003c/summary\u003e\n\nAdd to your Continue configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"rimworld\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-v\", \"/path/to/your/rimworld:/rimworld:ro\",\n        \"ghcr.io/cryptiklemur/rimworld-mcp-server:latest\",\n        \"--mod-dirs=/rimworld/Mods\"\n      ]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n## Setup\n\n### Docker (Recommended)\n\n1. **Pull the image:**\n   ```bash\n   docker pull ghcr.io/cryptiklemur/rimworld-mcp-server:latest\n   ```\n\n2. **Run with Docker:**\n   ```bash\n   docker run -v \"/path/to/rimworld:/rimworld:ro\" ghcr.io/cryptiklemur/rimworld-mcp-server:latest\n   ```\n\n3. **With extra mod directories:**\n   ```bash\n   docker run \\\n     -v \"/path/to/rimworld:/rimworld:ro\" \\\n     -v \"/path/to/workshop:/workshop:ro\" \\\n     ghcr.io/cryptiklemur/rimworld-mcp-server:latest \\\n     --rimworld-path=/rimworld --extra-mod-dirs=/workshop\n   ```\n\n### Local Development\n\n1. **Install dependencies:**\n   ```bash\n   npm install\n   ```\n\n2. **Build the server:**\n   ```bash\n   npm run build\n   ```\n\n3. **Run the server:**\n   ```bash\n   tsx src/index.ts --rimworld-path=\"/path/to/rimworld\"\n   ```\n   \n   Or using Node with the built version:\n   ```bash\n   node dist/index.js --rimworld-path=\"/path/to/rimworld\"\n   ```\n\n## Configuration\n\nThe server uses command-line arguments for configuration:\n\n### Required Arguments\n\n- **`--rimworld-path=\u003cpath\u003e`** - Path to your RimWorld installation directory\n  - Windows Steam: `\"C:\\Program Files (x86)\\Steam\\steamapps\\common\\RimWorld\"`\n  - Windows Epic: `\"C:\\Program Files\\Epic Games\\RimWorld\"`\n  - Linux Steam: `~/.steam/steam/steamapps/common/RimWorld`\n  - macOS Steam: `~/Library/Application\\ Support/Steam/steamapps/common/RimWorld`\n\n### Optional Arguments\n\n- **`--mod-dirs=\u003cpaths\u003e`** - Comma-separated list of mod directories to scan\n- **`--server-name=\u003cname\u003e`** - Server name (default: rimworld-defs)\n- **`--server-version=\u003cversion\u003e`** - Server version (default: 3.0.0)\n- **`--mod-concurrency=\u003cn\u003e`** - Number of mods to process simultaneously (default: 4)\n- **`--xml-batch-size=\u003cn\u003e`** - Number of XML files to process in parallel (default: 8)\n- **`--mod-batch-size=\u003cn\u003e`** - Number of mods to load in parallel (default: 10)\n- **`--log-level=\u003clevel\u003e`** - Logging level: debug, info, warn, error (default: info)\n- **`--disable-patch-validation`** - Disable patch validation\n- **`--disable-conflict-detection`** - Disable conflict detection\n- **`--disable-reference-analysis`** - Disable reference analysis\n- **`--disable-inheritance-resolution`** - Disable inheritance resolution\n- **`--help, -h`** - Show help message\n\n### Examples\n\n```bash\n# Basic usage\ntsx src/index.ts --rimworld-path=\"/path/to/rimworld\"\n\n# With mod directories\ntsx src/index.ts --rimworld-path=\"/path/to/rimworld\" --mod-dirs=\"/path/to/workshop,/path/to/custom\"\n\n# Performance tuning\ntsx src/index.ts --rimworld-path=\"/path/to/rimworld\" --mod-concurrency=8 --xml-batch-size=16\n\n# Docker examples\ndocker run -v \"/path/to/rimworld:/rimworld:ro\" ghcr.io/cryptiklemur/rimworld-mcp-server:latest --mod-dirs=/rimworld/Mods\n\n# Docker with custom arguments\ndocker run -v \"/path/to/rimworld:/rimworld:ro\" -v \"/path/to/workshop:/workshop:ro\" ghcr.io/cryptiklemur/rimworld-mcp-server:latest --rimworld-path=/rimworld --mod-dirs=/workshop --mod-concurrency=8\n```\n\n## Features\n\n- **Parallel Processing**: Optimized for speed with configurable concurrency\n- **Mod Loading**: Automatic discovery and loading of Core, DLC, and specified mod directories\n- **Definition Parsing**: Full XML definition parsing with type categorization\n- **Patch System**: Complete patch application with conflict detection\n- **Reference Analysis**: Dependency graph building and circular dependency detection\n- **Conflict Detection**: Comprehensive mod conflict analysis\n- **Inheritance Resolution**: Parent-child definition resolution\n\n## Tools Available\n\nThe MCP server provides the following tools:\n\n- `getDef` - Get specific definition by name\n- `getDefsByType` - Get all definitions of a specific type\n- `searchDefs` - Search definitions by content\n- `getDefsByMod` - Get all definitions from a specific mod\n- `getReferences` - Get reference information for a definition\n- `getDependencyChain` - Get dependency chain for a definition\n- `getPatchHistory` - Get patch history for a definition\n- `getConflicts` - Get conflict information\n- `getPatchCoverage` - Get patch coverage for a mod\n- `simulateModRemoval` - Simulate the impact of removing a mod\n- `suggestLoadOrder` - Get load order suggestions\n- `getModList` - Get list of all loaded mods\n- `getStatistics` - Get server statistics\n\n## Performance\n\nThe server is optimized for large mod collections:\n- **Parallel mod loading**: Up to 10x faster for many mods\n- **Parallel XML processing**: 5-8x faster per mod\n- **Combined scanning**: 50% reduction in file system operations\n- **Configurable concurrency**: Tunable for your system\n\n## Development\n\nBuild the project:\n```bash\nnpm run build\n```\n\nThe compiled JavaScript will be in the `dist/` directory.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptiklemur%2Frimworld-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptiklemur%2Frimworld-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptiklemur%2Frimworld-mcp-server/lists"}