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.
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 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