ck3agent
Integrates with Crusader Kings III by reading and writing the game's memory to expose state to an AI agent. It enables controlling rulers, setting strategies, observing campaigns, playing against AI-controlled rivals, and running unattended sessions, with the game's own AI executing actions.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
ck3agent
Let Claude play Crusader Kings III. A library loaded into the game exposes its state to Claude through MCP, the protocol Claude uses to call tools. Claude sets a ruler's strategy. The game's own AI carries it out.
What you get
Watch Claude rule. Load an observer save; Claude takes a ruler, plays it and explains each move. You interrupt and redirect it in plain language.
Play against Claude. Load your own campaign; Claude takes a rival or a neighbour while you keep playing your character. Claude can never take your character.
Run it unattended.
ck3agent runplays a goal for N cycles and records a transcript and a manifest.Several rulers at once. One Claude, one session, one posture per ruler; the same game clock.
Related MCP server: ck3-strategy-advisor
What you need
Linux x86_64 with glibc 2.34 or newer: Ubuntu 22.04 or later, Debian 12 or later, Fedora (tested on 44), Arch.
Crusader Kings III 1.18.3.1, the native Linux build from Steam.
Python 3.11 or newer.
Claude Code and a Claude plan or API key. Every round of play (a cycle: observe, decide, act, let a game month pass) is a paid model call, about $0.20 to $2 at API prices depending on how much Claude reads; an evening of play is a few dollars, and a subscription plan counts it against your usage limit.
Will it work for me?
You have | Works? |
Linux, native Steam package, CK3 1.18.3.1 | Yes |
CK3 updated past 1.18.3.1 | Not until a matching release. See Your game updated. |
Flatpak or Snap Steam | No. See troubleshooting. |
Steam Deck | Untested. |
Windows or macOS | Not yet. See the port plan. |
Ironman, achievements, multiplayer | No. Single-player, non-Ironman saves only. |
Install
sha256sum -c SHA256SUMS --ignore-missing # in the download directory
tar xzf ck3agent-2026.12.6-linux-x86_64.tar.gz && cd ck3agent-2026.12.6-linux-x86_64
./install.sh # installs the bridge and the ck3agent commandBefore you launch: have a non-Ironman single-player save ready. ck3agent launch gives the game its own user-data directory,
~/.local/state/ck3agent/game/ (ck3agent config prints it): the save is
copied there, and the game's saves and autosaves land there. Your own
~/.local/share/Paradox Interactive/Crusader Kings III/ is read, never
written. Claude cannot play your
character: use an observer save (start a new game, choose Observe, save),
or let Claude take an AI ruler in your own campaign.
Getting started covers both.
ck3agent launch --continue # the save CK3 played last, copied; --save PATH loads a specific one
cd ~/ck3agent-play && claudeDocumentation
Page | For |
install, launch, choose the ruler, first session | |
interactive play, time and cost, stopping | |
Desktop instead of Claude Code | |
unattended runs with a recorded manifest | |
symptom, then fix | |
reference, research, architecture, glossary |
Help and contributing
Something broke: troubleshooting, then an
issue; the forms ask
for ck3agent doctor output. Questions and show-and-tell:
Discussions. Security
problems: SECURITY.md, never a public issue.
Contributions are welcome under the DCO: CONTRIBUTING.md, CODE_OF_CONDUCT.md. Windows and macOS: port plan. Built on Zydis, RapidJSON, stb_image and the MCP Python SDK (THIRD_PARTY_LICENSES.md).
Status and license
Alpha, versioned by date (CHANGELOG.md). Each release supports one game build and refuses all others. Code Apache-2.0, docs CC BY 4.0, third party THIRD_PARTY_LICENSES.md, SECURITY.md, CITATION.cff.
Crusader Kings® and Paradox Interactive® are registered trademarks of Paradox
Interactive AB; Claude is a trademark of Anthropic, PBC. ck3agent is not
affiliated with or endorsed by either. It ships no game assets and no game
code beyond the short byte patterns in re/offsets/signatures.h that locate
functions at load; it works by reading and writing the memory of a copy of the
game you own, with offsets found by reverse engineering its Linux binary.
Paradox's EULA and Steam's terms are between you and them: single-player
only, never Ironman, achievement or multiplayer games.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Chess MCP for Claude: engine analysis, attack maps, game review. One URL, no install.
Ask Claude, ChatGPT, or any MCP client about your game's players, retention, revenue, and win rates.
Make games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.
Hosted Web Crawler MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables Claude to access real-time Civilization VI game data for strategic analysis, diplomatic intelligence, military assessments, and more via MCP.216MIT
- AlicenseAqualityCmaintenanceEnables Claude to read Crusader Kings III save files and retrieve strategic game information such as realm overview, military, succession, diplomacy, vassals, factions, and expansion options.14113MIT
- AlicenseAqualityDmaintenanceAn MCP server for Paradox Clausewitz/Jomini modding (EU5, EU4, Victoria 3, HOI4, CK3, Stellaris) that grounds AI assistants in the game's generated documentation and vanilla script tree, enabling accurate script lookup, parsing, and validation without running the game.2133MIT
- AlicenseAqualityCmaintenanceGives any MCP client (Claude Desktop, Cursor, and others) a Minecraft character it can actually play, exposing 34 mc_* tools for joining servers, pathfinding, mining, crafting, smelting, chest access, combat, building, chat, first-person screen viewing, and session memory. Runs over stdio or Streamable HTTP with one character per server process.34MIT