Skip to main content
Glama
RKingsfield

depot-mcp

by RKingsfield

depot-mcp

An MCP server that gives LLMs structured access to Warhammer 40,000 (10th edition) game data: faction lists, unit datasheets, stratagems, detachments and enhancements. The data comes from a depot instance, which in turn builds it from Wahapedia's CSV exports.

Models answering rules questions from memory get stats wrong constantly. Giving them lookup tools instead of trivia recall fixes that: the model calls get_datasheet("tyranids", "Barbgaunts") and quotes the actual sheet.

Tools

Tool

What it does

list_factions

Every faction with its slug, datasheet count, detachment count and data version.

search_datasheets(query, faction?)

Find units by name substring, optionally within one faction.

get_datasheet(faction, datasheet)

Full unit rules: model stats, abilities, wargear profiles, composition, points, keywords, options, leader attachments.

search_stratagems(query?, faction?)

Search core and detachment stratagems by name, type or phase.

get_detachment(faction, detachment?)

Detachment abilities, enhancements and stratagems. Omit detachment to list a faction's detachments.

All tools are read-only. HTML in the source data is flattened to plain text before it reaches the model.

Related MCP server: Pokemon Showdown MCP Server

Getting the data

The server reads depot's generated JSON (index.json, per-faction faction.json, per-unit datasheet files). Point it at either:

  1. A running depot instance (DEPOT_DATA_URL): any depot deployment serves its data under /data/. If you self-host depot, use that URL.

  2. A local directory (DEPOT_DATA_DIR): generate the JSON yourself with depot's CLI, no web app needed:

git clone https://github.com/fjlaubscher/depot
cd depot
pnpm install
pnpm --filter @depot/core build && pnpm --filter @depot/cli build
pnpm --filter @depot/cli start   # downloads Wahapedia CSVs, writes JSON
# data is now in packages/cli/dist/data

Set exactly one of the two variables. Data is loaded once at startup; restart the server to pick up refreshed data.

Running

With uv:

DEPOT_DATA_DIR=/path/to/depot/packages/cli/dist/data uv run depot-mcp

With Docker:

docker build -t depot-mcp .
docker run -p 11437:11437 \
  -e MCP_HOST=0.0.0.0 \
  -e DEPOT_DATA_URL=https://your-depot-instance.example \
  depot-mcp

Configuration

Variable

Default

Purpose

DEPOT_DATA_URL

Base URL of a depot instance. Set this or DEPOT_DATA_DIR, not both.

DEPOT_DATA_DIR

Path to depot CLI output (the directory containing index.json).

MCP_HOST

127.0.0.1

Bind address. Use 0.0.0.0 in containers.

MCP_PORT

11437

Listen port.

MCP_AUTH_TOKEN

empty

Static bearer token. Empty disables auth; only do that on a trusted network.

LOG_LEVEL

INFO

Python log level.

Transport is streamable HTTP at /mcp. Don't expose the server to the internet directly; keep it on a LAN or behind a VPN.

Connecting clients

Claude Code:

claude mcp add depot \
    --transport http \
    --url http://localhost:11437/mcp \
    --header "Authorization: Bearer $MCP_AUTH_TOKEN"

Open WebUI: Admin Settings → External Tools → add an MCP connection with URL http://<host>:11437/mcp, auth type Bearer, and your token.

Any other MCP client: standard streamable-http endpoint, JSON-RPC over POST:

curl -X POST http://localhost:11437/mcp \
    -H "Authorization: Bearer $MCP_AUTH_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Development

uv sync
uv run pytest
uv run mypy

Tests run against a committed subset of real depot output in tests/data, so they need no network and no running depot.

License

MIT. This is a fan project: not affiliated with, endorsed by, or sponsored by Games Workshop Limited. Game data comes from Wahapedia's public exports via depot; the underlying game rules are Games Workshop's intellectual property.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides Pokemon Showdown competitive battle data to AI assistants, enabling lookup of Pokemon stats, moves, abilities, items, type matchups, and strategic information through natural language queries.
    Last updated
    8
    5
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Warhammer Oracle is an MCP server that gives AI assistants accurate Warhammer 40K, Combat Patrol, and Kill Team rules, unit stats, and game flow - so they stop hallucinating rules mid-game. It contains 6 tools (lookup, search, compare units, keywords, phases) covering 2,642 40K units and 506 Kill Team operatives across 48 factions.
    Last updated
    12
    354
    7
    MIT

View all related MCP servers

Related MCP Connectors

  • Manage TTRPG campaigns: NPCs, locations, factions, quests, sessions, lore, and knowledge graphs.

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

  • Live data gateway for AI — 3,300+ tools across 750+ sources, with citations

View all MCP Connectors

Latest Blog Posts

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/RKingsfield/depot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server