A Discord bot for a Clash Royale clan powered entirely by Elixir MCP. No local game database, no Clash Royale API key, no fallback - every fact comes from an MCP tool call.
README
A Discord bot for a Clash Royale clan, powered entirely by Elixir MCP. No local game database, no Clash Royale API key, no cached roster. Every fact it states came from an MCP tool call made moments earlier.
There is no clan in this repository. Not a tag, not a channel, not a prompt about anyone's clan in particular. The bot connects as an Elixir MCP agent, which already knows which clan it acts for, and everything it says comes from files you own. Point it at your own agent key and your own channels and it is your bot — no fork, no code to edit.
With Docker — recommended for a machine that is always on, and nothing to install but a Docker runtime (docs/DOCKER.md explains each step and the words):
git clone https://github.com/jthingelstad/elixir-mcp-discord && cd elixir-mcp-discord
docker build -t elixir-mcp-discord .
mkdir -p ~/.elixir-mcp-discord/myclan
docker run -it --rm --user "$(id -u):$(id -g)" -v ~/.elixir-mcp-discord/myclan:/instance \
elixir-mcp-discord node src/setup.js /instance # guided: keys, Discord app, channels
./scripts/install-docker.sh ~/.elixir-mcp-discord/myclan # runs it; then DM the bot
With Node 22 on the host — the path for working on the code, and for launchd or systemd:
git clone https://github.com/jthingelstad/elixir-mcp-discord && cd elixir-mcp-discord
npm install
npm run setup -- ~/.elixir-mcp-discord/myclan # guided: keys, Discord app, channels; then DM the bot
Either way that is the whole install. Setup asks for each thing, tries it against the service it i