daggerheart-ai
daggerheart-ai
MCP-сервер для семантического поиска по SRD Daggerheart (~790 markdown-файлов + 212 существ бестиария), доступный в Claude Code при подготовке к DnD-сессиям.
Инструменты
search_srd — семантический поиск по всем правилам, способностям, классам, снаряжению и лору.
get_entry — получение именованной записи по категории + имени (точное или частичное совпадение).
query_monsters — фильтрация противников и существ по уровню, роли, тематическому
family, диапазону сложности, дальности атаки, ключевому слову и источнику. Окружения бестиария по умолчанию исключены (include_environmentsдля их добавления).list_entries — список всех записей в категории.
Как это работает
Контент индексируется один раз в локальную базу данных SQLite (srd.db) с
эмбеддингами bge-small-en-v1.5 (384-мерные), хранящимися в sqlite-vec. Поиск
использует KNN из sqlite-vec с запасным вариантом на косинусной метрике.
Эмбеддинги вычисляются полностью на устройстве через
fastembed (ONNX Runtime) — без
API-ключа, без прокси, без сети. Модель (~30МБ) загружается один раз в
.fastembed_cache/ при первом использовании, после чего всё работает офлайн.
Настройка
Предварительные требования: Node 18+. Никаких аккаунтов, ключей или прокси.
npm install # uses .npmrc: Netflix registry + legacy-peer-depsКонтент SRD
Папка srd/ игнорируется git. Заполните её из своей копии хранилища, затем индексируйте:
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Повторно запускайте npm run index после любых изменений SRD.
Регистрация в Claude Code
Добавьте в соответствующий .mcp.json проекта/хранилища:
"daggerheart": {
"type": "stdio",
"command": "node",
"args": ["/Users/chrisdhanaraj/projects/daggerheart-ai/dist/index.js"]
}Перезапустите Claude Code, затем /mcp должен показать daggerheart подключённым с 4 инструментами.
Скрипты
Скрипт | Назначение |
| Встраивание SRD в |
| Компиляция |
| Запуск сервера из исходников через tsx |
| Запуск собранного сервера ( |
Примечания
Никогда не пишите в stdout в сервере — это канал JSON-RPC. Логи идут в stderr.
Эмбеддинги вычисляются на устройстве (
fastembed/ bge-small-en-v1.5, 384-мерные). На стороне запроса используетсяqueryEmbed(инструкционный префикс BGE); при индексации —embed.Первичные ключи
vec0в sqlite-vec должны привязываться какBigIntв better-sqlite3.Пересобирайте (
npm run build) после любых изменений вsrc/.
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