Factorio
FreeNot checkedMCP server providing an LLM assistant with accurate, current Factorio data: recipes/prototypes, API docs, production ratio math, blueprint import, and mod listi
About
MCP server providing an LLM assistant with accurate, current Factorio data: recipes/prototypes, API docs, production ratio math, blueprint import, and mod listings.
README
An MCP server that gives an LLM assistant accurate, current Factorio data: recipes and prototypes, official Lua API docs, production-ratio and full-chain math, blueprint import/export, mod portal listings, and planet-aware resource lookups.
What it can do
| Tool | What it does |
|---|---|
lookup_recipe |
Raw recipe prototype data (ingredients, results, category) |
summarize_recipe |
Curated, Factoriopedia-style recipe view — display name, Made in, Unlocked by, Recycling recipe |
lookup_prototype |
Any data.raw prototype by type + name |
search_prototype |
Find a prototype's type by name, or fuzzy-search names by substring |
list_prototypes_of_type |
Every prototype name of a given type |
lookup_api |
Official runtime/prototype Lua API docs from lua-api.factorio.com |
search_changelog |
Search Factorio's version changelog |
calculate_ratio |
Machines needed for a single recipe at a target output rate, with module/beacon effects |
calculate_production_chain |
Full recursive production chain down to raw resources, for a target output rate |
list_recipes_consuming |
What consumes a given item/fluid as an ingredient |
list_recipes_made_in |
Every recipe craftable in a given machine |
list_spoilage_chains |
What spoils into what (e.g. Gleba's iron-bacteria -> iron-ore) |
list_planet_resources |
What's actually minable/pumpable on a given planet |
fetch_blueprint / decode_blueprint / encode_blueprint |
Blueprint import from factorioprints.com/factoriobin.com, and raw string <-> JSON conversion |
list_mods / get_mod |
Mod portal search and details |
Also included: a factorio://planets resource (all-planet resource data
precomputed in one call) and a plan_chain prompt that walks a production
chain into planet-viable form.
Getting started
Three ways to use this, depending on what you want:
1. Use the hosted instance (no install)
Zero setup — this is a public remote MCP server (Streamable HTTP, OAuth with
dynamic client registration, no API key needed) at
https://factorio-mcp-server.fly.dev/mcp. How to add it depends on your
client:
- Claude apps (claude.ai, desktop, mobile): Settings → Connectors → Add custom connector → paste the URL.
- Claude Code:
claude mcp add --transport http factorio https://factorio-mcp-server.fly.dev/mcp - ChatGPT: Settings → Apps → Advanced settings → enable Developer mode (Business/Enterprise workspaces may need an admin to allow this first), then Settings → Connectors → Advanced → Add custom connector → paste the URL.
- Cursor: add to
mcp.json(Settings → Tools & MCP → New MCP Server):{ "mcpServers": { "factorio": { "url": "https://factorio-mcp-server.fly.dev/mcp" } } } - VS Code (GitHub Copilot Chat, agent mode): add to
mcp.json(Command Palette → "MCP: Add Server", or edit directly):{ "servers": { "factorio": { "type": "http", "url": "https://factorio-mcp-server.fly.dev/mcp" } } } - Windsurf (Cascade): add to
~/.codeium/windsurf/mcp_config.json:{ "mcpServers": { "factorio": { "serverUrl": "https://factorio-mcp-server.fly.dev/mcp" } } } - Gemini CLI: add to
~/.gemini/settings.json, then run/mcp auth factorio:{ "mcpServers": { "factorio": { "httpUrl": "https://factorio-mcp-server.fly.dev/mcp" } } }
All of the above trigger a browser OAuth consent step on first connect — there's no account or API key to create first. Any other MCP client with Streamable HTTP + OAuth support should work the same way by pointing it at the URL. Clients without native HTTP transport support (e.g. Zed, as of 2026) need a local stdio bridge like mcp-remote in front of the URL instead.
Data comes from a static, pinned-version snapshot rather than a live install — see Data accuracy below before assuming it matches your exact game version or mod list.
2. Self-host locally (your own install, live data)
For live-install accuracy — your actual Factorio version, your actual enabled mods — instead of the hosted static snapshot:
git clone https://github.com/alecraso/factorio-mcp-server.git
cd factorio-mcp-server
npm ci
npm run build
claude mcp add factorio -- node "$(pwd)/dist/index.js"
Auto-detects a local Factorio install (Steam or standalone) on macOS,
Linux, and Windows — see PLATFORM_SUPPORT.md for
what's actually verified per platform, and set FACTORIO_BINARY_PATH if
auto-detection doesn't find yours.
3. Self-host your own remote instance
Want your own hosted copy instead of relying on the shared one (your own uptime, your own OAuth client registrations, etc.)? See DEPLOY.md for the full Docker/Fly.io runbook.
Data accuracy: static vs. live
Every data tool's response includes a source field — check it before
trusting exact numbers:
source.kind: "live"— read directly from a local Factorio install detected on this machine. Reflects your actual game version and enabled mods, and display names (displayName) are resolved from real locale data.source.kind: "static"— served from a vendored snapshot pinned to one Factorio version (vanilla + Space Age, no mods — see static/README.md for provenance/licensing). This is what the hosted instance always uses, since a cloud host has no local install.displayNameis alwaysnullin this mode — no locale data is vendored (would require a second large file for comparatively little value; see the server's owninstructionsstring for the up-to-date caveat text a client actually sees).
Development
npm ci
npm run build
npm run lint
npm test
Single maintainer, but issues and PRs are both welcome — branch protection
on main requires the build-and-test check to pass. See
DEPLOY.md for deployment and
PLATFORM_SUPPORT.md for local-install detection
status.
License
MIT — see LICENSE — for this project's own code. The vendored
Factorio data snapshot (static/data-raw-dump.json) is derived game data
with its own provenance and licensing basis, documented separately in
static/README.md.
Installing Factorio
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/alecraso/factorio-mcp-serverFAQ
Is Factorio MCP free?
Yes, Factorio MCP is free — one-click install via Unyly at no cost.
Does Factorio need an API key?
No, Factorio runs without API keys or environment variables.
Is Factorio hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Factorio in Claude Desktop, Claude Code or Cursor?
Open Factorio on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Notion
Read and write pages in your workspace
by NotionLinear
Issues, cycles, triage — from Claude
by LinearGoogle Drive
Search and read your Drive files
by Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
by mindsdbfulcradynamics/fulcra-context-mcp
MCP server for accessing personal health and biometric data including sleep stages, heart rate, HRV, glucose, workouts, calendar, and location via the Fulcra Li
by fulcradynamicsaymericzip/intlayer
A MCP Server that enhance your IDE with AI-powered assistance for Intlayer i18n / CMS tool: smart CLI access, access to the docs.
by aymericziprinadelph/Agent-MCP
A framework for creating multi-agent systems using MCP for coordinated AI collaboration, featuring task management, shared context, and RAG capabilities.
by rinadelphWhenLabs-org/when
Developer toolkit: auto-detect stack for AI context files, catch port conflicts, validate .env schemas, spot docs drift, audit dependency licenses, and time cod
by WhenLabs-orgBeltran12138/wecom-docs-mcp-server
WeCom (Enterprise WeChat) document operations via MCP: create, read, and edit Docs and Smartsheets (9 tools). Fills the doc-CRUD gap — existing WeCom MCP server
by Beltran12138madbonez/caldav-mcp
Universal MCP server for CalDAV protocol integration. Works with any CalDAV-compatible calendar server including Yandex Calendar, Google Calendar (via CalDAV),
by madbonezCompare Factorio with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All productivity MCPs
