Skip to main content
Glama

sagrada-mcp

Model Context Protocol (MCP) сервер для Sagrada — отслеживайте и проверяйте состояние рассуждений для ИИ-систем, а также читайте заверенные записи истории репозитория.

Sagrada предоставляет Claude Code (и любому MCP-совместимому клиенту) долговременную, адресуемую по содержимому память о проектных решениях, пересмотрах утверждений, противоречиях и криптографически проверяемой цепочке правок, которая привела к текущему состоянию знаний.

Что это за репозиторий

Это исходный код пакета sagrada-mcp на PyPI, чтобы вы могли прочитать то, что установили, вместо того чтобы верить нам на слово.

Репозиторий был создан после выхода 0.3.0. Его первый коммит — исходный код этого релиза, дословно, с тегом v0.3.0, — так что код, который вы устанавливаете, и код, который вы читаете, можно сверить друг с другом:

pip download sagrada-mcp==0.3.0 --no-binary :all: --no-deps -d /tmp/pypi
tar xzf /tmp/pypi/sagrada_mcp-0.3.0.tar.gz -C /tmp
mkdir -p /tmp/tagged && git archive v0.3.0 | tar x -C /tmp/tagged
diff -r /tmp/tagged /tmp/sagrada_mcp-0.3.0 --exclude PKG-INFO   # no output

CI запускает это сравнение при каждом пуше. main опережает v0.3.0 и содержит невыпущенные изменения; pip install sagrada-mcp даёт вам тег, а не ветку.

Чего здесь нет: скомпилированного движка sagrada (Rust), который нужен 12 инструментам отслеживания рассуждений. Он устанавливается из PyPI как sagrada-engine, и его исходный код не опубликован. Предварительный шлюз — та часть, которая отказывает, — находится в этом репозитории, написан на чистом Python и не зависит от движка.

Related MCP server: @humanaccepted/mcp

Установка

Режим 1: pip install (чистое виртуальное окружение, без клонирования репозитория)

pip install sagrada-mcp

Это устанавливает сервер вместе с вендоренными копиями его ещё не опубликованных зависимостей (см. _vendor/README.md). Один сервер, 21 инструмент:

  • Три инструмента предварительного шлюза (preflight_action, list_beliefs, verify_receipt) проверяют значимые вызовы инструментов на соответствие типизированным убеждениям репозитория и создают квитанции действий с подписью Ed25519 в .sagrada/receipts.jsonl, каждую из которых можно независимо проверить офлайн с помощью uvx er1-verify (1.0.1 или новее — установка без закрепления версии с учётом ограничения версии является заявленным пробелом покрытия, который верификатор пересчитывает; форма квитанции 1.0.0 существовала ранее). Детерминированно и без движка — отказ не зависит от бинарного wheel-пакета.

    Квитанции подписываются ключевой парой, созданной для вашего репозитория при первом использовании: закрытая половина хранится в .sagrada/operator_key (режим 0600 на POSIX, в .gitignore, никогда не покидает вашу машину), открытая половина в .sagrada/operator_key.pub предназначена для коммита. verify_receipt проверяет подписанта квитанции на соответствие этому закоммиченному ключу и подписанной цепочке наследования за ним, поэтому квитанция от ключа, который никогда не был ключом этого репозитория, возвращается как foreign, а не молча проходит. Более ранние версии создавали ключ на каждый процесс, что делало каждую подпись непривязываемой — «подписано X», где X существовал в течение одного запуска.

    Это устанавливает непрерывность, а не идентичность: если вы закрепили отпечаток этого репозитория по внешнему каналу, и закрытый ключ никогда не покидал машину, то подмена подписывающего ключа обнаружится. Каждое условие важно — подпись доказывает владение файлом, а файлы копируются.

    Для Claude Code есть также принудительный уровень: консольный скрипт sagrada-preflight-hook можно подключить как PreToolUse-хук, и тогда он блокирует вызовы, получившие HALT, в основном канале. Установка пакета не регистрирует его — ничто здесь не изменяет ваши настройки Claude. Вы добавляете его сами; preflight_hook.py содержит точную однострочную запись для вставки.

  • Шесть инструментов записей репозитория (crux) полностью функциональны при наличии артефакта .crux (SAGRADA_CRUX). Без него они возвращают понятную строку ошибки.

  • Двенадцать инструментов отслеживания рассуждений дополнительно требуют скомпилированный wheel-пакет sagrada-engine (жёсткая зависимость начиная с 0.3.0; устанавливается автоматически на платформах с wheel). Если движок по какой-то причине отсутствует, они возвращают понятную JSON-ошибку с указанием недостающего компонента — никогда traceback.

Режим 2: из клона этого репозитория

git clone https://github.com/Cruxia-Labs/sagrada-mcp && cd sagrada-mcp
pip install -e ".[dev]"
pytest -q

Чтобы запустить сам сервер, учтите: он говорит по MCP через stdio и не завершается — он ждёт клиента, поэтому запускайте его из конфигурации вашего MCP-клиента, а не рассчитывайте на ответное приглашение:

python -m sagrada_mcp.server     # blocks; Ctrl-C to stop

Сервер предпочитает настоящие пакеты sagrada_tracker / sagrada_preflight, когда они импортируемы, и в противном случае возвращается к копиям в sagrada_mcp/_vendor/ — поэтому он ведёт себя одинаково здесь и в вышестоящем дереве, из которого приходят эти копии. В клоне выполняются именно вендоренные копии, а тестовый набор привязывается к тем же, что и сервер (tests/conftest.py выводит, к каким именно, в заголовке pytest).

Настройка в Claude Code / Claude Desktop

{
  "mcpServers": {
    "sagrada": {
      "command": "sagrada-mcp",
      "env": { "SAGRADA_PROJECT": "/path/to/your/project" }
    }
  }
}

(В клоне репозитория используйте "command": "python", "args": ["-m", "sagrada_mcp.server"].)

Предоставляемые инструменты (21)

Предварительный шлюз (3) — детерминированно, движок не требуется

Инструмент

Назначение

preflight_action

Проверяет предлагаемый вызов инструмента на соответствие типизированным убеждениям репозитория; возвращает ALLOW или HALT с подписанной квитанцией

list_beliefs

Что шлюз в настоящее время применяет, и какие убеждения могут привести к HALT

verify_receipt

Повторно проверяет квитанцию: подпись, пересчитанный вердикт и является ли подписант оператором этого репозитория

Распознавание — это конечный словарь, построенный по принципу best-effort. Шлюз сопоставляет вызов инструмента с убеждениями, читая формы, которые агент реально выдаёт, — импорты, установки через менеджер пакетов, цели развёртывания, присвоения переменных окружения. Действие, выраженное в форме, которую он не распознаёт, не сопоставляется, а несопоставленное действие ни с чем не конфликтует, поэтому оно получает ALLOW. Относитесь к HALT как к принудительной проверке политики для распознанных действий, а не как к сдерживанию.

Отслеживание рассуждений (12) — требуется скомпилированный движок sagrada

Инструмент

Назначение

track_decision

Отслеживает одно проектное решение (автоматически классифицирует как assert / refine / revise)

track_from_text

Извлекает и отслеживает решения из свободного текста

ingest_text

Принимает свободный текст — автоматически извлекает утверждения, помечает противоречия по каждому утверждению

query_decision

Находит отслеживаемое решение по термину

search_decisions

Ищет решения по термину или определению

get_decision_history

История эволюции решения (или всех)

get_reasoning_status

Полная сводка состояния рассуждений

check_coherence

Сообщает о противоречиях и оценке связности

check_consistency

Проверка в режиме только для чтения: не противоречит ли новый текст существующим знаниям (требуется дополнительный набор ML для NLI)

verify_chain

Проверяет криптографическую целостность цепочки рассуждений

retract_decision

Отзывает ранее отслеживаемое решение

what_changed

Текстовая сводка изменений состояния трекера начиная с индекса записи (не diff: каждая группа обрезается до 5 имён)

Записи репозитория / crux (6) — работают где угодно при наличии артефакта .crux

Детерминированные чтения преобразованной записи истории репозитория — без модели, без сети, без часов. Каждый ответ содержит ссылку на запись (artifact, state_root, receipt) для офлайн-проверки.

Инструмент

Назначение

repo_asof

Какое значение имел отслеживаемый ключ репозитория на указанную дату (с доказательствами периода действия)

what_replaced

Какое значение заменило предыдущее значение ключа и когда (отмечает отзывы и возвращения)

stale_rule_check

Перечисляет устаревшие значения отслеживаемого файла и значения, которые «умерли и вернулись», с доказательствами

crux_status

Читаемая запись: artifact, source HEAD, counts, state_root, receipt

key_history

Каждое записанное значение одного отслеживаемого ключа, от старых к новым, со ссылкой на запись

key_status

Активен ли отслеживаемый ключ, устарел ли он или «умер и вернулся»

Публичного сборщика артефактов .crux пока нет. Читатель находится здесь и опирается только на стандартную библиотеку, так что эти шесть инструментов полностью работают с уже имеющимся у вас артефактом, — но инструмент, который создаёт такой артефакт, не находится в этом репозитории и не опубликован. Если у вас нет артефакта, каждый crux-инструмент возвращает указатель, а не ошибку; и пока не появится сборщик, этот указатель — честный конец пути для публичного пользователя.

Предоставляемые ресурсы (3)

Resource URI

Содержимое

sagrada://state/summary

Краткая сводка состояния для контекста LLM

sagrada://state/decisions

Все отслеживаемые решения

sagrada://state/contradictions

Обнаруженные на данный момент противоречия

Переменные окружения

Переменная

Назначение

SAGRADA_PROJECT

Путь к каталогу проекта Sagrada (автоинициализация при отсутствии)

SAGRADA_NO_ML

Установите true, чтобы отключить набор ML-классификации (вместо этого используется детерминированный минимум Жаккара)

SAGRADA_BACKEND

Бэкенд хранения: json_file (по умолчанию) или sqlite

SAGRADA_CRUX

Путь к артефакту .crux, который читают инструменты записей репозитория (запасной вариант — results/*.crux внутри SAGRADA_PROJECT)

Лицензия

Apache-2.0. Опубликовано Cruxia-Labs.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that enforces fail-closed deterministic checks, independent refute-first review, and tamper-evident hash-chained receipts for AI agent outputs before claiming completion.
    4
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server that auto-emits tamper-evident receipts for every tool call, enabling EU AI Act Article 12 compliance with signed, chain-linked receipts.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that provides human-in-the-loop approval for risky AI agent actions, with durable state and audit logs.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that gates agent tool calls by normalizing intent, denying unknown/unattended destructive actions, and requiring HITL prove approval for high-risk operations. It maintains an append-only hash-chained Action Ledger and exposes gate_check and ledger_verify tools without ever executing tools.
    MIT