factorio-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FACTORIO_RCON_HOST | No | Factorio RCON host | localhost |
| FACTORIO_RCON_PORT | No | Factorio RCON port | 27015 |
| FACTORIO_RCON_PASSWORD | Yes | Factorio RCON password |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| rcon_commandA | Execute a raw console command on the Factorio server via RCON. Use this as an escape hatch for commands not covered by other tools. |
| lua_execA | Execute Lua code on the Factorio server via /silent-command. The code is wrapped in a function — use 'return' to send results back. Results are serialized via serpent.line for tables. Use this for any game state query not covered by specific tools. |
| send_chatA | Send a chat message visible to all players on the server. |
| save_gameB | Save the current game. Optionally specify a save name. |
| get_playersB | List all online players with basic info (position, surface, force). |
| get_player_infoA | Get detailed information about a specific player: position, inventory summary, character stats, crafting queue. |
| player_actionC | Perform an admin action on a player: kick, ban, unban, mute, unmute, promote, or demote. |
| get_game_statusA | Get high-level game state: tick count, map age, player count, evolution factor, current research, game speed. |
| get_research_statusB | Get research status for a force: current research, progress, research queue, and recently completed technologies. |
| get_production_statsB | Get item/fluid production and consumption statistics for a force on a surface. In Factorio 2.0, stats are per-surface. |
| get_surface_infoB | Get information about a game surface (planet): name, map settings, daytime, pollution stats, entity counts. |
| find_entitiesA | Search for entities on a surface. Can search by name, type, or area. Returns position, name, health, and other info for each match. |
| get_logistics_infoB | Get logistics network information: robot counts, items in logistic storage, pending requests. |
| get_planetsB | List all planets in the game (Space Age). Shows name, surface properties, and connections. |
| get_space_platformsA | List all space platforms (Space Age). Shows platform name, state, location, and hub info. |
| get_alertsB | Get active alerts for a force (entity destroyed, turret fire, no storage, etc.). |
| get_electric_networkA | Get electric network statistics: power production, consumption, battery charge, satisfaction. |
| get_train_infoC | Get information about trains: list trains, their schedules, states, and cargo. |
| get_player_surroundingsA | See what's around a player — nearby entities grouped by type, what they're looking at, open GUI, walking state, and the terrain/resources in the area. Use this to understand what the player is currently doing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| server-status | Factorio server connection status and basic info |
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/phiresky/factorio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server