Skip to main content
Glama

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 инструментами.

Скрипты

Скрипт

Назначение

npm run index

Встраивание SRD в srd.db (однократно / после обновлений SRD)

npm run build

Компиляция src/dist/

npm run dev

Запуск сервера из исходников через tsx

npm start

Запуск собранного сервера (dist/index.js)

Примечания

  • Никогда не пишите в stdout в сервере — это канал JSON-RPC. Логи идут в stderr.

  • Эмбеддинги вычисляются на устройстве (fastembed / bge-small-en-v1.5, 384-мерные). На стороне запроса используется queryEmbed (инструкционный префикс BGE); при индексации — embed.

  • Первичные ключи vec0 в sqlite-vec должны привязываться как BigInt в better-sqlite3.

  • Пересобирайте (npm run build) после любых изменений в 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