Tool Reference
System Tools
Game lifecycle and turn management
Game lifecycle tools — saving, loading, and advancing turns. (8 tools)
end_turn
DestructiveEnd the current turn.
Details
Make sure you've moved all units, set production, and chosen research
before ending the turn.
All 5 reflection parameters are required and must be non-empty.
These form the per-turn diary — your persistent memory across sessions:
tactical: What happened this turn — combat, movements, improvements.
strategic: Current standing vs rivals — yields, city count, victory path.
tooling: Tool issues or observations. Write "No issues" if none.
planning: Concrete actions for the next 5-10 turns.
hypothesis: Predictions — enemy behavior, resource needs, timelines.
agent_model: Your model identifier (e.g. "claude-opus-4-6", "gpt-5",
"o3"). This is recorded in the game diary and used for ELO rankings
across games. Always pass your exact model ID string every turn.
IMPORTANT: Reflections are recorded BEFORE the AI processes its turn.
Anything that surfaces after end_turn (diplomacy proposals, AI movements,
events reported in the turn result) belongs in the NEXT turn's diary.
If end_turn is blocked and you call it again after resolving the blocker,
the diary entry from the first call is kept — do not repeat reflections.| Parameter | Type | Default | Description |
|---|---|---|---|
| tactical | string | "" | Tactical |
| strategic | string | "" | Strategic |
| tooling | string | "" | Tooling |
| planning | string | "" | Planning |
| hypothesis | string | "" | Hypothesis |
| agent_model | string | "" | Agent Model |
kill_game
DestructiveKill the Civ 6 game process and wait for Steam to deregister.
Details
Only kills Civ 6 processes. Waits ~10 seconds for Steam to deregister
so the game can be relaunched cleanly.No parameters
launch_game
DestructiveLaunch Civ 6 via Steam.
Details
Starts the game and waits for the process to appear (~15-30 seconds).
The game will be at the main menu after launch — use load_save or
restart_and_load to load a specific save.
NOTE: FireTuner connection is NOT available at the main menu.
Only in-game MCP tools work after a save is loaded.No parameters
load_save
DestructiveLoad a save file by index from the most recent list_saves() result.
Details
Args:
save_index: Index number from list_saves output (1-based)
The game will reload entirely. Wait ~10 seconds after calling this,
then use get_game_overview to verify the loaded state.| Parameter | Type | Default | Description |
|---|---|---|---|
| save_index* | integer | — | Save Index |
quicksave
DestructiveQuicksave the current game.
Details
Creates a quicksave that can be loaded later with load_save.
No parameters
restart_and_load
DestructiveFull game recovery: kill, relaunch, and load a save.
Details
Args:
save_name: Autosave name (e.g. "AutoSave_0221"). If not provided,
loads the most recent autosave.
This is the recommended tool for recovering from game hangs (e.g. AI turn
processing stuck in infinite loop). Takes 60-120 seconds total:
1. Kills the game process
2. Waits for Steam to deregister (~10s)
3. Relaunches via Steam (~15-30s for process start + main menu)
4. Navigates menus via OCR to load the save (~30-60s)
After completion, wait ~10 seconds then call get_game_overview to verify.| Parameter | Type | Default | Description |
|---|---|---|---|
| save_name | string | null | Save Name |
run_lua
DestructiveRun arbitrary Lua code in the game. Advanced escape hatch.
Details
Args:
code: Lua code to execute. Use print() for output, end with print("---END---").
context: "gamecore" for simulation state, "ingame" for UI commands (default: gamecore)
The code runs in the game's Lua environment with full access to the
Civ 6 API. Always use print() for output (not return).| Parameter | Type | Default | Description |
|---|---|---|---|
| code* | string | — | Code |
| context | string | "gamecore" | Context |