daggerheart-ai
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-depsSRD-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 buildFü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 |
| Indiziere das SRD in |
| Kompiliere |
| Führe den Server aus dem Quellcode über tsx aus |
| Führe den gebauten Server aus ( |
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 verwendetqueryEmbed(BGE-Anweisungspräfix); die Indizierung verwendetembed.sqlite-vec
vec0-Primärschlüssel müssen in better-sqlite3 alsBigIntgebunden werden.Baue neu (
npm run build) nach jeder Änderung untersrc/.
This server cannot be installed
Maintenance
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)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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