SatisfactoryMCP

SatisfactoryMCP

An MCP server for Satisfactory that plans factories using your actual save files, reads game data, and runs LP/MILP optimization. It provides tools for game data lookup, factory planning, hard drive advice, and a local web map of your world.

Category
Visit Server

README

SatisfactoryMCP

Ask Claude about your Satisfactory world — and get answers read straight from your own save files. This is an MCP server plus a local web map: the server plans factories with a real optimizer over the game's own recipe data and your actual progress, and the map renders your world in the browser — terrain, factories, belts and pipes, power wiring, floors, crates. Everything runs locally; nothing is fetched from the network.

The world map: factories, power wiring, resource nodes and region names over the game's own artwork

A factory platform up close: machines, storage, belt and pipe runs One platform up close — machines, storage, belts, pipes, wires Floor view: one storey of a multi-floor factory, with per-floor machine counts Floor view — pick a storey, see what stands on it
Terrain mode: hillshaded relief from the 1 m heightfield Terrain mode — hillshade from a 1 m heightfield read out of the game A death crate's contents as an icon grid with game-extracted item icons A crate's contents, with icons extracted from the game's assets

What you can ask

Phrased however you like — the model picks the tools:

  • "Plan a factory for 20 Modular Frames per minute using only recipes I've actually unlocked — what do I build, and how much power will it draw?"
  • "Which of my pending hard drives should I bank first, and why?"
  • "How healthy is my steel factory right now? Anything idle or starved?"
  • "Where am I standing, and what's the best spot near me for an aluminium setup?"
  • "What's still missing for Phase 3, and which factory is the bottleneck?"
  • "Trace my Reinforced Iron Plates upstream and tell me where the chain is thinnest."
  • "Compare the alternate recipes for Computers against what I'm running today."
  • "Show the coal powerplant on the map." — answers with a link that opens the web map zoomed to it.

Plans balance every item honestly — a setup that would silently strand Heavy Oil Residue is reported infeasible instead of overstated — and every answer names the save file it read and how old it is. The server only ever reads your saves; it never writes them.

<details> <summary><b>The full tool list</b> (42 tools, 3 slash-command prompts)</summary>

Area Tools
Game data search_items, search_recipes, recipe_detail, alternates_for_item, list_buildings
Your world list_worlds, world_summary, unlocked_recipes, power_report, factory_sites, whereami, phase_requirements, power_shards, collected_from_world, mam_research, somersloops
Your factories list_factories, name_factory, forget_factory, factory_health, factory_map, factory_query, propose_factories, select_machines, trace_upstream
Map list_regions, describe_location, search_resource_nodes, rank_build_sites, show_on_map
Planning plan_factory, plan_layout, commission_plan, diff_vs_save, bom, explain_byproducts, compare_recipe_options, rank_unlocks, list_plans, forget_plan
Hard drives list_pending_hard_drive_choices, advise_hard_drive_pick

Plus MCP resources (satisfactory://docs/summary, satisfactory://save/current, satisfactory://map/regions) and three prompts that surface as slash commands: design_factory, plan_power_plant, pick_hard_drive. The full surface, argument by argument, is in docs/mcp-surface.md.

</details>

Getting started

You need:

  • Python ≥ 3.11 and uv
  • A local Satisfactory installation (Steam or Epic) — recipes and rates are read from the game's own data dump, so numbers stay correct when the game patches
  • Node.js — only to build the web map once; not needed for the MCP server alone
  • Windows is what it's developed and tested on; save and install auto-detection assume Windows paths, and both can be pointed elsewhere via environment variables (below)
git clone https://github.com/lukszi/SatisfactoryMCP.git
cd SatisfactoryMCP
uv sync

Connect it to Claude

The MCP entry point is satisfactory-mcp (stdio). With Claude Code, register it at user scope so it loads in any directory — you'll usually be asking about the game, not about this code:

claude mcp add --scope user satisfactory -- uv run --directory "/path/to/SatisfactoryMCP" satisfactory-mcp

For any other MCP client, the equivalent JSON configuration:

{
  "mcpServers": {
    "satisfactory": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/SatisfactoryMCP", "satisfactory-mcp"]
    }
  }
}

The web map

Build the page once, then start the server:

cd src/satisfactory_mcp/interfaces/web/frontend
npm ci && npm run build
cd -
uv sync --extra web
uv run satisfactory-mcp-web

The map is at http://127.0.0.1:8712, and it follows your saves live as you play. It binds to localhost on purpose: the API answers with the contents of your save directory and has no authentication, so it is a local tool.

Where your saves come from

Both locations are auto-detected:

  • Saves: %LOCALAPPDATA%\FactoryGame\Saved\SaveGames — the game's own location. Override with SATISFACTORY_SAVES.
  • Game data: CommunityResources/Docs/en-US.json under common Steam and Epic install paths. Override with SATISFACTORY_DOCS (pointing at the en-US.json file itself).

Saves are grouped into worlds; within a world the newest save is used by default, and every answer says which file it read.

Licence

PolyForm Noncommercial 1.0.0. Free to use, modify and share for any noncommercial purpose, provided the required notice travels with copies:

Required Notice: Copyright Lukas Szimtenings (https://github.com/lukszi/SatisfactoryMCP)

Commercial use requires a separate licence from the owner — get in touch via GitHub (@lukszi). The licence covers this repository's code, tooling and extracted tables; it cannot and does not grant anyone rights over the game's content. All game-derived data describes Coffee Stain Studios' content — Coffee Stain retains all rights to Satisfactory and its assets, and this project is not affiliated with or endorsed by them.

The web map compiles Leaflet (BSD-2-Clause) into its bundle at build time from the npm package; the bundle is not committed, and every build carries Leaflet's licence text beside it.


Developing: the code layout, test suite, data generators, and the full data-provenance record live in docs/DEVELOPING.md. DESIGN.md is the design spine.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured