sagrada-mcp
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 outputCI запускает это сравнение при каждом пуше. 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) — детерминированно, движок не требуется
Инструмент | Назначение |
| Проверяет предлагаемый вызов инструмента на соответствие типизированным убеждениям репозитория; возвращает ALLOW или HALT с подписанной квитанцией |
| Что шлюз в настоящее время применяет, и какие убеждения могут привести к HALT |
| Повторно проверяет квитанцию: подпись, пересчитанный вердикт и является ли подписант оператором этого репозитория |
Распознавание — это конечный словарь, построенный по принципу best-effort. Шлюз сопоставляет вызов инструмента с убеждениями, читая формы, которые агент реально выдаёт, — импорты, установки через менеджер пакетов, цели развёртывания, присвоения переменных окружения. Действие, выраженное в форме, которую он не распознаёт, не сопоставляется, а несопоставленное действие ни с чем не конфликтует, поэтому оно получает ALLOW. Относитесь к HALT как к принудительной проверке политики для распознанных действий, а не как к сдерживанию.
Отслеживание рассуждений (12) — требуется скомпилированный движок sagrada
Инструмент | Назначение |
| Отслеживает одно проектное решение (автоматически классифицирует как assert / refine / revise) |
| Извлекает и отслеживает решения из свободного текста |
| Принимает свободный текст — автоматически извлекает утверждения, помечает противоречия по каждому утверждению |
| Находит отслеживаемое решение по термину |
| Ищет решения по термину или определению |
| История эволюции решения (или всех) |
| Полная сводка состояния рассуждений |
| Сообщает о противоречиях и оценке связности |
| Проверка в режиме только для чтения: не противоречит ли новый текст существующим знаниям (требуется дополнительный набор ML для NLI) |
| Проверяет криптографическую целостность цепочки рассуждений |
| Отзывает ранее отслеживаемое решение |
| Текстовая сводка изменений состояния трекера начиная с индекса записи (не diff: каждая группа обрезается до 5 имён) |
Записи репозитория / crux (6) — работают где угодно при наличии артефакта .crux
Детерминированные чтения преобразованной записи истории репозитория — без модели, без сети, без часов. Каждый ответ содержит ссылку на запись (artifact, state_root, receipt) для офлайн-проверки.
Инструмент | Назначение |
| Какое значение имел отслеживаемый ключ репозитория на указанную дату (с доказательствами периода действия) |
| Какое значение заменило предыдущее значение ключа и когда (отмечает отзывы и возвращения) |
| Перечисляет устаревшие значения отслеживаемого файла и значения, которые «умерли и вернулись», с доказательствами |
| Читаемая запись: artifact, source HEAD, counts, state_root, receipt |
| Каждое записанное значение одного отслеживаемого ключа, от старых к новым, со ссылкой на запись |
| Активен ли отслеживаемый ключ, устарел ли он или «умер и вернулся» |
Публичного сборщика артефактов .crux пока нет. Читатель находится здесь и опирается только на стандартную библиотеку, так что эти шесть инструментов полностью работают с уже имеющимся у вас артефактом, — но инструмент, который создаёт такой артефакт, не находится в этом репозитории и не опубликован. Если у вас нет артефакта, каждый crux-инструмент возвращает указатель, а не ошибку; и пока не появится сборщик, этот указатель — честный конец пути для публичного пользователя.
Предоставляемые ресурсы (3)
Resource URI | Содержимое |
| Краткая сводка состояния для контекста LLM |
| Все отслеживаемые решения |
| Обнаруженные на данный момент противоречия |
Переменные окружения
Переменная | Назначение |
| Путь к каталогу проекта Sagrada (автоинициализация при отсутствии) |
| Установите |
| Бэкенд хранения: |
| Путь к артефакту |
Лицензия
Apache-2.0. Опубликовано Cruxia-Labs.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Related MCP Servers
- AlicenseBqualityBmaintenanceAn 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.43MIT
- AlicenseAqualityDmaintenanceMCP server that auto-emits tamper-evident receipts for every tool call, enabling EU AI Act Article 12 compliance with signed, chain-linked receipts.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server that provides human-in-the-loop approval for risky AI agent actions, with durable state and audit logs.MIT
- AlicenseNot gradedqualityAmaintenanceMCP 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