Hitchhiker's Guide to Religion
Developer

MCP Server

Query the entire vault — 630+ mythological entities, 39 sacred symbols, 50 sacred numbers — directly from Claude or any MCP-compatible AI assistant.

What is this?

The Model Context Protocol (MCP) is an open standard that lets AI assistants call external tools and data sources during a conversation. The HGR MCP server exposes the full vault as a set of queryable tools, so you can ask Claude things like "compare trickster gods across Norse, Yoruba, and Greek mythology" and it will pull live, structured data from the bestiary rather than relying solely on training knowledge.

The server runs locally on your machine via stdio transport — no API key, no network call, no cost per query.

Quick start

1
Clone the repository

The MCP server lives inside the main repo under mcp/.

git clone https://github.com/therealsiege/hitchhikers-guide-to-religion.git
cd hitchhikers-guide-to-religion/mcp
npm install
2
Build the server
npm run build

This compiles TypeScript to dist/index.js. The compiled output is already included in the repo, so this step is only needed if you modify the source.

3
Register with your MCP client

For Claude Code, add this to your project's .claude/mcp.json:

{
  "mcpServers": {
    "hgr-bestiary": {
      "command": "node",
      "args": ["/absolute/path/to/hitchhikers-guide-to-religion/mcp/dist/index.js"]
    }
  }
}

For Claude Desktop, add the same block to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows).

Then restart your client.

Available tools

search_entities
(query: string, tradition?: string, limit?: number)

Full-text search across all entity names, epithets, and domains. Optionally filter by tradition name. Returns name, epithet, tradition, domain, slug, and avatar URL.

get_entity
(entityName: string, tradition?: string)

Fetch the complete entry for a named entity — stats (ATK / DEF / SPR / SPD / INT), domain, epithet, avatar URL, and the full markdown body text including lore, parallels, and cross-tradition connections.

list_traditions
()

Returns all traditions in the vault with their entity count and URL slug. Useful for discovering what's available before narrowing a query.

get_stat_block
(entityName: string, tradition?: string)

Returns just the RPG stat block — ATK, DEF, SPR, SPD, INT, Domain, and epithet — without the full lore. Useful for quick comparisons.

search_symbols
(query: string)

Search the 39 sacred symbols by name or keyword. Returns matching symbol titles and a 300-character excerpt of their cross-tradition analysis.

get_number
(number: string)

Look up a sacred number (e.g. "7", "40", "108") and return its full entry — including significance across every tradition that venerates it.

Example prompts

Once the server is registered, try these in Claude:

  • Compare trickster figures across Norse, Yoruba, and Greek mythology
  • Which entities in the bestiary have the highest SPR stat?
  • What traditions share the sacred number 40, and what does each mean by it?
  • Find all death gods and compare their domains
  • What cross-tradition parallels does the Ankh symbol have?
  • List every entity in the Mesopotamian tradition with their epithets
  • Which symbols appear across the most traditions?
  • Find creator gods and compare their creation methods

Notes

Data freshness: The server reads directly from the vault markdown files at startup. If you pull new vault content (git pull), restart the MCP server to load the updated data — no rebuild needed unless you modify the server source.

Performance: The bestiary (630+ entities) is pre-loaded into memory on startup (~50ms). Symbols and sacred numbers load on first call and are cached for the session. All tool calls are read-only.