Коротко
В статье показано, как подключить Claude Code к Chaos Cypher через MCP и поручить самому Claude извлечение сущностей и связей из Markdown-файлов. Граф сохраняется локально, а сервер проверяет ссылки на исходные предложения и помогает отвечать на вопросы, требующие нескольких переходов по связям.
Контекст
Автор описывает рабочий сценарий Chaos Cypher MCP: вместо встроенной в сервер языковой модели документы анализирует модель, уже используемая в редакторе, например Claude Code. Это решает проблему пользователей, которые хотят строить GraphRAG-граф своей базы знаний, но не имеют GPU или не хотят настраивать отдельную модель для сервера.
Главное
- Сервер Chaos Cypher не вызывает языковую модель: извлечение выполняет подключённый MCP-клиент, в примере — Claude Code.
- Установка CLI:
pipx install chaoscypher-cli; требуется Python 3.14 или новее. - Подключение Claude Code в режиме записи:
claude mcp add chaoscypher -- chaoscypher mcp --mode write. - Эмбеддинги фрагментов рассчитываются локально с помощью sentence-transformers на CPU; GPU не требуется.
- Перед извлечением система определяет домен документа и ожидает подтверждения через
confirm_extraction. - Ассистент получает нумерованные предложения; сущности и отношения должны ссылаться на них через маркеры
S1,S1-S2и подобные. - Сервер валидирует свидетельства по исходному тексту, отбрасывает неподтверждённые сущности и учитывает их в отчёте.
finalize_extractionобъединяет дубликаты, применяет шаблоны, сохраняет цитаты и возвращает оценку качества по шкале 0–100.graphrag_searchиспользует близкие сущности, Personalized PageRank и слияние графовых и векторных результатов через Reciprocal Rank Fusion.- Данные хранятся в SQLite; по статье, около тридцати Markdown-файлов обрабатываются за несколько минут, а лимит отправок составляет 100 в минуту на источник по умолчанию.
Как сделано
Установите CLI командой pipx install chaoscypher-cli (требуется Python 3.14 или новее) и зарегистрируйте MCP-сервер в режиме записи: claude mcp add chaoscypher -- chaoscypher mcp --mode write. Отдельный мастер настройки моделей не нужен: извлечение выполняет сам клиентский ассистент, а Chaos Cypher локально строит эмбеддинги фрагментов с помощью sentence-transformers на CPU.
Затем Claude Code получает задачу добавить Markdown-файлы, например из docs/, и извлечь сущности и связи. add_document делит файл на фрагменты и индексирует их; confirm_extraction подтверждает домен извлечения; get_extraction_tasks возвращает план и инструкции; get_extraction_chunks выдаёт текст с пронумерованными предложениями. Claude отправляет результаты через submit_chunk_extraction в компактном построчном формате: сущности (E), свойства (P) и отношения (R) со ссылками на предложения вроде S1 или S1-S2.
Сервер проверяет подтверждения по исходному тексту и отбрасывает сущности, не подтверждённые указанными предложениями. finalize_extraction устраняет дубликаты, сопоставляет сущности с шаблонами, сохраняет цитаты и фиксирует граф с оценкой качества от 0 до 100. Граф хранится в SQLite; его можно просмотреть и исправить в интерфейсе, а также экспортировать как .ccx.
Для поиска graphrag_search сочетает поиск близких сущностей, Personalized PageRank и извлечение подтверждающих фрагментов; результаты графового поиска объединяются с обычным векторным поиском методом Reciprocal Rank Fusion. При недоступности модели эмбеддингов инструмент переходит на поиск по ключевым словам и сообщает об этом.
Результаты
По описанию автора, обработка тридцати Markdown-файлов занимает у Claude несколько минут. Получается сохраняемый на диске граф с типизированными сущностями, связями и ссылками на исходные фрагменты и предложения. После перезапуска сессии Claude может отвечать на многозвенные вопросы, например находить компоненты, зависящие от queue client, и ADR, регулирующий его изменение. Численные оценки качества конкретного графа в статье не приведены.
Ограничения
Качество извлечения зависит от модели-ассистента: проверка источников отсекает неподтверждённые утверждения, но не исправляет поверхностное чтение. Сервер ограничивает отправку 100 запросами в минуту на источник по умолчанию и устанавливает предел размера каждой отправки; большие корпуса рекомендуется обрабатывать партиями. add_document принимает по одному файлу, поэтому для папки ассистент должен повторить операцию для файлов или добавить архив. В статье не приводятся независимая оценка точности, сравнение моделей, стоимость обработки или подробные результаты тестирования.
Что взять себе
- Разделение ролей удобно: ассистент читает и извлекает знания, а сервер хранит граф и проверяет подтверждения.
- Для проверяемости важны не только уверенность модели, но и ссылки на конкретные предложения, по которым можно вручную проверить сущность или связь.
- Граф может сохраняться между сессиями и дополнять обычный векторный поиск при вопросах, требующих нескольких переходов.
- Перед загрузкой крупного корпуса учитывайте ограничения размера и частоты отправок, а качество извлечения проверяйте отдельно.
Читать оригинал, если…
Откройте оригинал, если нужны полный перечень MCP-инструментов, детали формата извлечения и настройки ограничений либо инструкции по экспорту и подключению .ccx.