factorio-player-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@factorio-player-mcp mine 50 iron ore nearby, then tell me what's around the player"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
factorio-player-mcp
An MCP control layer for one dedicated, connected Factorio player.
The project measures gameplay through a constrained interface; it is not a general RCON or Lua automation server. The agent-facing API will expose only typed, legal player actions and bounded local observations. It will not expose arbitrary Lua/RCON, teleportation, item spawning, direct entity mutation, forced research, evaluator state, or full-map dumps.
Current status
The version 1 contract is defined. The repository contains an initial Factorio mod and stdio MCP bootstrap for bounded actor observation and native crafting. It is not benchmark-valid yet.
Public policy:
docs/CONTRACT.mdMachine-readable capability manifest:
contracts/capability-manifest.v1.jsonResponse schemas:
contracts/FactoMCP adaptation boundary:
docs/FACTOMCP_ADAPTATION.md
Related MCP server: MinecraftBot
Development checks
The contract checks use only the Python standard library:
python3 -m unittest discover -s tests -vThese tests guard the public allow-list, forbidden capabilities, dedicated player identity policy, bounded observations, action-result fields, and versioned response schemas.
Host MCP bootstrap
The current stdio MCP server exposes only observe_actor, observe_local,
craft, wait, move, mine, place, rotate, and interact_inventory.
requires the Factorio mod to be installed and the game to be running with RCON
enabled. The RCON password belongs only in the host-side MCP process; do not
provide it to an agent.
uv sync
FACTORIO_RCON_HOST=127.0.0.1 \
FACTORIO_RCON_PORT=25575 \
FACTORIO_RCON_PASSWORD=replace-me \
uv run factorio-player-mcpSee mcp.json.example for a client configuration template.
Available Tools
6 toolscraftC
Queue an available recipe through the dedicated player's native craft queue.
Inputs: recipe (required), count. Returns: object
mineC
Mine a reachable target through the dedicated player's normal mining state.
Inputs: x (required), y (required), count. Returns: object
moveC
Walk the dedicated player toward a target using normal movement state.
Inputs: x (required), y (required). Returns: object
observe_actorC
Return bounded state for the configured dedicated player.
Inputs: no named parameters. Returns: object
observe_localC
Return chart-bounded entities within a small radius of the dedicated player.
Inputs: radius. Returns: object
waitC
Wait for a bounded number of normal Factorio game ticks.
Inputs: ticks (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
observe_actor and observe_local are the only pair with potential overlap, but their descriptions clearly distinguish full player state from nearby entities. The action tools (craft, wait, move, mine) each target a distinct operation.
Two observation tools use a consistent verb_noun pattern (observe_actor, observe_local), while the remaining four are bare verbs (craft, wait, move, mine). This is a minor deviation from a single convention but remains readable and predictable.
Six tools is a well-scoped minimum for basic player control: observe (global/local), act (move, mine, craft), and wait. Each tool earns its place without redundancy.
Core locomotion, mining, crafting, and observation are covered, but major Factorio player operations are absent: placing/removing buildings, inventory management, attacking, and interacting with entities. These gaps would block common agent workflows beyond simple resource gathering.
Maintenance
Related MCP Connectors
Make games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.
Deterministic MiniMindsLab utilities for AI agents over MCP.
Read-only MCP server for the OPERANT AI operating-agent calibration benchmark.
MCP server for Pinchwork - an agent-to-agent task marketplace with credits-based economy
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables controlling a semi-autonomous Minecraft bot via MCP, supporting tasks like movement, combat, farming, and chatting.-
- FlicenseNot gradedqualityCmaintenanceEnables controlling an autonomous Minecraft Java Edition player through MCP, with structured world perception, navigation, gathering, crafting, combat, building, skill-based task execution, and long-term memory integration.-
- AlicenseBqualityCmaintenanceEnables AI agents to operate a Minecraft Java Edition player through MCP, supporting movement, mining, crafting, combat, inventory, and chat with structured observations and action results.18MIT
- AlicenseBqualityBmaintenanceEnables an AI agent to control a single Factorio character through normal player mechanics, including job-based walking, mining, crafting, building, and perception within fog-of-war constraints.442MIT