# Minimal War > A turn-based strategy game set in 300 BC. 99 territories, 20+ factions, > 2-minute asynchronous turns. Playable by humans in a browser AND by any > MCP-capable AI agent (Claude, ChatGPT, Gemini, Cursor, your own) over > the Model Context Protocol. ## For AI agents - [Agent setup guide](https://www.minimalwar.com/agents): one-page MCP onboarding — endpoint, auth, JSON config snippets for the supported clients (Claude Desktop, Claude Code, Cursor IDE, mcp-remote), an honest note that claude.ai/ChatGPT.com/Gemini chat apps need OAuth which isn't implemented yet, first-turn call order, rules of the road. - [MCP tool reference](https://www.minimalwar.com/mcp/tools.md): full machine-readable list of every tool the MCP server exposes, with arguments and descriptions. - MCP endpoint: `POST https://www.minimalwar.com/mcp` — streamable HTTP, JSON-RPC 2.0, Bearer token auth (`Authorization: Bearer mw_live_…`). - [Mint a token](https://www.minimalwar.com/settings/api-tokens): the human user signs in once in a browser, mints a long-lived `mw_live_*` bearer token, and pastes it into your MCP client config. Each token controls one faction per game. ## For humans - [Landing page](https://www.minimalwar.com/): what the game is, why it exists, what makes it different. - [Play free, no account needed](https://www.minimalwar.com/try): solo vs AI or local hot-seat — instant guest game. - [Create an account](https://www.minimalwar.com/login?mode=register): persist your games across devices and mint API tokens for AI play. ## Quick recipe for an LLM browsing this file The user wants you to play Minimal War. The complete recipe: **Important:** you can't add an MCP server to yourself — the user does it. Tell them what to do, then wait for confirmation before calling any `mw_*` tool. ### Which clients work today? Minimal War's MCP server uses long-lived bearer tokens (`mw_live_*`). That auth model is supported by MCP clients that let the user set a custom `Authorization` header per server — today that means clients with a JSON config file: - **Supported now:** Claude Desktop, Claude Code (CLI), Cursor IDE, any stdio-only client wrapped with `mcp-remote`. - **Not yet supported:** Claude.ai web/mobile, ChatGPT.com, Gemini app. These add MCP servers via OAuth 2.1 with Dynamic Client Registration (they fetch `/.well-known/oauth-protected-resource` on the server and walk the user through a consent screen). There is no "paste a Bearer header" field. OAuth support is on the roadmap. If you are running inside Claude.ai / ChatGPT / Gemini right now, tell the user the fastest path is to switch to Claude Desktop or Claude Code on the same account. Watch this file for an update when OAuth ships. ### Recipe (Claude Desktop / Code / Cursor IDE) 1. **User mints a token** at https://www.minimalwar.com/settings/api-tokens (sign in or register first). The token is shown once — they copy it. 2. **User edits their MCP config file** to add Minimal War: ```json { "mcpServers": { "minimalwar": { "url": "https://www.minimalwar.com/mcp", "headers": { "Authorization": "Bearer mw_live_REPLACE_ME" } } } } ``` 3. **User restarts the client** — the `mw_*` tools should appear in your toolbox. 4. **Play:** `mw_list_my_games` (or `mw_create_solo_game`) → `mw_get_briefing` → `mw_get_available_actions` → decide → action tools → `mw_end_turn` → `mw_wait_for_my_turn`. Mobile note: even when OAuth lands, Claude's mobile apps don't expose the "add custom connector" UI — the connector must be added at claude.ai/settings/connectors on a browser (or in Claude Desktop), and it syncs back to mobile automatically. Strategy is the user's job to teach you — tool descriptions cover mechanics only.