Skip to main content
Glama

daggerheart-ai

MCP-Server für die semantische Suche über das Daggerheart-SRD (~790 Markdown-Dateien + 212 Bestiariums-Kreaturen), bereitgestellt für Claude Code während der DnD-Sitzungsvorbereitung.

Tools

  • search_srd — semantische Suche über alle Regeln, Fähigkeiten, Klassen, Ausrüstung und Lore.

  • get_entry — ruft einen benannten Eintrag nach Kategorie + Name ab (exakte oder teilweise Übereinstimmung).

  • query_monsters — filtert Gegner + Kreaturen nach Stufe, Rolle, thematischer family, Schwierigkeitsbereich, Angriffsreichweite, Stichwort und Quelle. Bestiariums-Umgebungen sind standardmäßig ausgeschlossen (include_environments, um sie hinzuzufügen).

  • list_entries — listet jeden Eintrag in einer Kategorie auf.

So funktioniert es

Der Inhalt wird einmalig in eine lokale SQLite-Datenbank (srd.db) mit bge-small-en-v1.5-Embeddings (384-dimensional) indiziert, die in sqlite-vec gespeichert werden. Suchanfragen verwenden sqlite-vec KNN mit einem Brute-Force-Cosinus-Fallback.

Die Embeddings werden vollständig auf dem Gerät über fastembed (ONNX Runtime) berechnet — kein API-Schlüssel, kein Proxy, kein Netzwerk. Das Modell (~30 MB) wird beim ersten Gebrauch einmalig in .fastembed_cache/ heruntergeladen, danach läuft alles offline.

Einrichtung

Voraussetzungen: Node 18+. Keine Konten, Schlüssel oder Proxys.

npm install                 # uses .npmrc: Netflix registry + legacy-peer-deps

SRD-Inhalt

Der Ordner srd/ ist git-ignoriert. Befülle ihn aus deiner Vault-Kopie und indiziere dann:

rsync -a --exclude='.git' --exclude='.build' --exclude='.github' \
  '/path/to/daggerheart-srd/' srd/

npm run index   # one-time; clears + rebuilds the index (first run downloads the model)
npm run build

Führe npm run index nach jeder SRD-Änderung erneut aus.

Bei Claude Code registrieren

Füge zur relevanten Projekt-/Vault-.mcp.json hinzu:

"daggerheart": {
  "type": "stdio",
  "command": "node",
  "args": ["/Users/chrisdhanaraj/projects/daggerheart-ai/dist/index.js"]
}

Starte Claude Code neu, dann sollte /mcp daggerheart mit 4 Tools verbunden anzeigen.

Skripte

Skript

Zweck

npm run index

Indiziere das SRD in srd.db (einmalig / nach SRD-Updates)

npm run build

Kompiliere src/dist/

npm run dev

Führe den Server aus dem Quellcode über tsx aus

npm start

Führe den gebauten Server aus (dist/index.js)

Hinweise

  • Schreibe niemals auf stdout im Server — es ist der JSON-RPC-Kanal. Logs gehen auf stderr.

  • Embeddings sind auf dem Gerät (fastembed / bge-small-en-v1.5, 384-dimensional). Die Abfrageseite verwendet queryEmbed (BGE-Anweisungspräfix); die Indizierung verwendet embed.

  • sqlite-vec vec0-Primärschlüssel müssen in better-sqlite3 als BigInt gebunden werden.

  • Baue neu (npm run build) nach jeder Änderung unter src/.

-
license - not tested
Not graded
quality - not tested
B
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 Connectors

  • Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

  • D&D 5e MCP — wraps the D&D 5th Edition API (free, no auth)

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/chrisdhanaraj/daggerheart-mcp'

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