Skip to content
Conduit

mcp server

satisfactory-mcp

Let an AI agent watch and help optimize your Satisfactory factory. A read-only MCP connector for the Ficsit Remote Monitoring mod, plus an editable assistant skill.

obuter/satisfactory-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 21, 2026

satisfactory-mcp

A read-only MCP connector for Satisfactory — it reads the Ficsit Remote Monitoring (FRM) mod's JSON API and exposes your live factory (power, production, idle machines, logistics, the AWESOME Sink) to any MCP client, so an AI agent can watch the factory and help you build it.

Two layers that compose:

  1. The connector (connector/) — a small FastMCP server giving an agent facts about the factory through 10 read-only tools.
  2. The assistant skill (skill/) — a persona/directive file that gives the agent judgment: how to reason about those facts like a real Satisfactory architect (dual-grid power, the 480 m³/min pipe cap, 6+1 trains, underclocking, neat permanent builds). Edit it to match your own play style.

Optionally, monitoring/ ships curated Grafana + Prometheus dashboards for the same data.

Read-only by design. The FRM mod has write endpoints (flip switches, set priorities); this connector deliberately exposes none. The agent observes and advises — you build.


Requirements

  • Satisfactory with the Ficsit Remote Monitoring mod installed and running. It serves JSON over plain HTTP (default port 8080) only while a save is loaded.
  • Docker (to run the connector), or Python 3.12+ to run it directly.
  • An MCP client: Claude Desktop, Claude Code, Google Antigravity, or anything that speaks MCP over SSE/streamable-HTTP.

Quickstart (connector)

cd connector
cp ../.env.example .env
# edit .env: set FRM_HOST to the machine running Satisfactory + the FRM mod
docker compose up -d

The connector is now live at http://localhost:8029 (/sse and /mcp). Check it:

curl -s http://localhost:8029/sse | head    # should open an event stream

Wire it into your MCP client

  • Claude Code — copy .mcp.json.example to .mcp.json in your workspace (points at http://localhost:8029/sse).
  • Claude Desktop — add to claude_desktop_config.json, using the mcp-remote bridge:
    "satisfactory": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:8029/sse", "--allow-http"]
    }
    
  • Google Antigravity — register http://localhost:8029/sse in its MCP settings, and open the skill/ folder (or copy its CLAUDE.md/.geminirules) as workspace context.

Tools

ToolWhat it does
health_checkConfirm the mod is reachable / a save is loaded.
factory_summaryBuilding counts by type, top clusters, overall shape.
power_statusPer-circuit generation vs consumption, fuse trips, batteries.
production_statsItem production/consumption rates, deficits, stalls.
list_buildingsEnumerate/filter machines by status (idle/paused/unconfigured/problem/all), type, or recipe — paginated.
find_bottlenecksCross-references production deficits with idle producers to name choke points.
logistics_statusTrains, trucks, drones, vehicle stations.
inventory_searchWhere an item is stored / how much exists.
sink_statusAWESOME Sink points, coupons, current item.
get_endpointRaw FRM endpoint escape hatch, with field projection + paging.

The assistant skill

skill/CLAUDE.md is the persona — it tells the agent how you like to build. .geminirules and AGENTS.md are symlinks to it (one source of truth), and .claude/skills/satisfactory-assistant/SKILL.md makes it an auto-triggering skill in Claude Code. Edit CLAUDE.md to describe your own factory philosophy — the shipped version is one player's opinionated style, not gospel.

Optional: Grafana dashboards

cd monitoring
cp ../.env.example .env   # set FRM_HOST, and a real GF_SECURITY_ADMIN_PASSWORD
docker compose up -d

Grafana → http://localhost:3031, Prometheus → http://localhost:9090. Five provisioned dashboards: overview, power, production, logistics, sink/inventory.

Configuration

All via environment variables (see .env.example):

VarDefaultMeaning
FRM_HOST127.0.0.1Address of the machine running Satisfactory + FRM mod.
FRM_PORT8080FRM mod HTTP port.
FRM_TIMEOUT10Per-request timeout (seconds).
MAX_OUTPUT_CHARS8000Cap on a tool's raw output before it truncates.

Credits

  • Ficsit Remote Monitoring by porisius — the in-game mod this connector reads. This project is an independent client, not affiliated.
  • FicsitRemoteMonitoringCompanion by AP-Hunt — the Prometheus exporter used by the optional monitoring stack.
  • Satisfactory © Coffee Stain Studios. This is an unofficial fan tool.

License

MIT.

↑↓ navigate openesc close