daggerheart-ai
daggerheart-ai
Servidor MCP para búsqueda semántica sobre el SRD de Daggerheart (~790 archivos markdown + 212 criaturas del bestiario), expuesto a Claude Code durante la preparación de sesiones de DnD.
Herramientas
search_srd — búsqueda semántica en todas las reglas, habilidades, clases, equipamiento y trasfondo.
get_entry — obtiene una entrada con nombre por categoría + nombre (coincidencia exacta o parcial).
query_monsters — filtra adversarios + criaturas por nivel, rol,
familytemática, rango de dificultad, rango de ataque, palabra clave y fuente. Los entornos del bestiario se excluyen por defecto (include_environmentspara incluirlos).list_entries — lista todas las entradas de una categoría.
Related MCP server: ragi
Cómo funciona
El contenido se indexa una vez en una base de datos SQLite local (srd.db) con embeddings bge-small-en-v1.5 (384-dim) almacenados en sqlite-vec. Las búsquedas usan KNN de sqlite-vec con un respaldo de coseno por fuerza bruta.
Los embeddings se calculan totalmente en el dispositivo mediante fastembed (ONNX Runtime) — sin clave de API, sin proxy, sin red. El modelo (~30MB) se descarga una vez en .fastembed_cache/ en el primer uso y luego todo funciona sin conexión.
Configuración
Requisitos previos: Node 18+. Sin cuentas, claves ni proxies.
npm install # uses .npmrc: Netflix registry + legacy-peer-depsContenido del SRD
La carpeta srd/ está ignorada por git. Poblala desde tu copia del vault y luego indexa:
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 buildVuelve a ejecutar npm run index después de cualquier cambio en el SRD.
Registro con Claude Code
Añade al .mcp.json del proyecto/vault correspondiente:
"daggerheart": {
"type": "stdio",
"command": "node",
"args": ["/Users/chrisdhanaraj/projects/daggerheart-ai/dist/index.js"]
}Reinicia Claude Code; luego /mcp debería mostrar daggerheart conectado con 4 herramientas.
Scripts
Script | Propósito |
| Embebe el SRD en |
| Compila |
| Ejecuta el servidor desde el código fuente mediante tsx |
| Ejecuta el servidor compilado ( |
Notas
Nunca escribas en stdout en el servidor — es el canal JSON-RPC. Los registros van a stderr.
Los embeddings se generan en el dispositivo (
fastembed/ bge-small-en-v1.5, 384-dim). El lado de consulta usaqueryEmbed(prefijo de instrucción BGE); la indexación usaembed.Las claves primarias
vec0de sqlite-vec deben vincularse comoBigInten better-sqlite3.Recompila (
npm run build) después de cualquier cambio ensrc/.
This server cannot be deployed
Maintenance
Related MCP Connectors
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
MCP server for querying Forkast documentation
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Related MCP Servers
- AlicenseAqualityBmaintenanceD\&D 5e SRD MCP server - monster search, spell lookup, encounter building, and character tools powered by ground-truth SRD data20107 npm6MIT
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.313 npmMIT

SagaSmith D&D MCPofficial
AlicenseNot gradedqualityFmaintenanceA local MCP server for Dungeons & Dragons campaign management, combining core runtime with skill and module-generation packs. It enables campaign creation, module generation and import, rule and skill searching via tools, resources, and prompts.Apache 2.0- FlicenseNot gradedqualityBmaintenanceSelf-hosted MCP server for D&D 5e rules reference, answering rule questions, providing character summaries, and assisting with character creation, based on imported sources with proper attribution.-