vighriday/Veris

vighriday/Veris

от vighriday
Veris — инфраструктура верификации поведения для AI-агентов: строит граф зависимостей, выявляет риски, дрейф и семантические рабочие процессы без запуска тестов. Полезна разработчикам и CI-пайплайн...

Veris

Veris

Behavioral Verification Infrastructure for autonomous coding agents.

CI License: MIT Node MCP Local-first Veris MCP server

Veris is the verification intelligence layer that sits between AI coding agents and production reliability. It does not run your tests. It tells any MCP-compatible coding agent or CI pipeline what behaviors are at risk, what to verify, and how confident the result actually is — backed by a behavioral graph, semantic workflow grouping, persistent run history, drift detection, and explainable confidence math.

Today: TypeScript + JavaScript repos. Python and Go adapters on the roadmap.

Works with any MCP client. CLI works standalone. Fully open source. Local-first. No cloud. No telemetry. No paid tier.


Plug-and-play install

Option A — As an MCP server (one config line)

Veris speaks the Model Context Protocol. Drop this into any MCP-compatible client config:

{
  "mcpServers": {
    "veris": {
      "command": "npx",
      "args": ["-y", "veris-core", "mcp"]
    }
  }
}
Инструменты были проиндексированы:
allocate_budget

Получив бюджет времени в минутах, жадно выбирает подмножество целей проверки с наибольшей эффективностью, которое укладывается в бюджет, ранжируя по формуле (эффективность уровня × критичность рабочего процесса × риск узла) / оценочная стоимость. Возвращает выбранные цели в порядке выполнения (до 200), количество выбранных и пропущенных, расчётные секунды и покрытие. Сам список пропущенных не возвращается: он дополняет выбор и может быть всем планом.

Параметры
  • minutesnumberобязательный

    Minutes available. Typical: 5 (quick check), 15 (default), 60 (pre-release sweep).

analyze_pr_behavior

Вычисляет поведенческий diff между рабочим деревом и merge-base между HEAD и базовым ref, используя отсоединённый git worktree. Возвращает количество добавленных, удалённых и изменённых узлов (modified = то же объявление, изменённый хэш тела: переписывание, которое сохраняет имя и вызываемые функции), затронутые workflow с пояснениями и топ-25 узлов по риску. Сообщает, было ли рабочее дерево грязным, поскольку это делает результат невоспроизводимым только из коммитов. Требует git-репозиторий с базовым ref, который можно разрешить: если такого ref нет, вызов возвращает ошибку, а не фиктивную базовую линию. Базовый ref по умолчанию: origin/main, затем origin/master, main, master, HEAD~1.

Параметры
  • baseRefstring

    Git ref to find the merge-base against. Example: 'origin/develop' or a commit SHA.

analyze_repository

Разбирает файлы TypeScript и JavaScript, отслеживаемые git, в текущем репозитории с помощью ts-morph и возвращает структурную сводку: количество файлов, классов, методов, функций и экспортируемых функций, разбивку по файлам (не более 100 файлов, отсортированных по количеству объявлений) и статистику разрешения вызовов, показывающую, сколько мест вызовов проверщик TypeScript разрешил точно, а сколько оставил неоднозначными. Неотслеживаемые и игнорируемые файлы исключаются. Результаты кэшируются, пока не изменится какой-либо исходный файл на диске.

Параметры

Без параметров.

analyze_workflow

Выполняет углублённый анализ одного workflow по id: узлы-участники (до 500), сигналы инференса, которые поместили каждого участника туда, и их веса, топ-5 участников по риску с полной разбивкой оценок и гипотезы о рисках во время выполнения. Используйте после того, как list_workflows определит нужный workflow.

Параметры
  • workflowIdstringобязательный

    Workflow identifier from list_workflows (e.g. 'payments', 'authentication').

confidence_history

Возвращает значения verification-coverage и execution-depth по последним запускам, записанным в .veris/state.db, сначала новые. По умолчанию возвращает 30 запусков, не более 100. Возвращает пустой тренд с stateEnabled:false, когда сохранение состояния отключено (VERIS_STATE_DISABLED=1).

Параметры
  • limitnumber

    Maximum runs to return. Default 30, maximum 100.

cross_repo_snapshot

Читает последний записанный запуск для каждого репозитория, зарегистрированного в ~/.veris/registry.json, и возвращает их значения покрытия, начиная с самого слабого. Помечает репозитории, у которых ещё нет состояния Veris, как 'no data', а не анализирует их. Этот инструмент читает существующее состояние и никогда не запускает анализ и не записывает в зарегистрированный репозиторий.

Параметры

Без параметров.

detect_drift

Сравнивает текущие отпечатки workflow с отпечатками из предыдущих запусков в .veris/state.db. Отпечаток вычисляется как SHA-256 от отсортированных ID участников workflow, его внутренних сигнатур рёбер и нормализованного хеша тела каждого участника, поэтому переписанное тело функции обнаруживается, даже если её имя и цели вызовов не изменились. ID участников задаются относительно репозитория, поэтому переименование каталога не регистрируется как дрейф. Выявляет добавленные, удалённые, расширенные, сокращённые и незаметно переписанные workflow, а также отличает первое наблюдение от отсутствия дрейфа. Сохраняет текущие отпечатки для будущих сравнений.

Параметры

Без параметров.

export_behavioral_graph

Экспортирует поведенческий граф в формате JSON. Узлы: классы, методы, конструкторы, аксессоры и функции верхнего уровня; каждый узел помечен своим выведенным доменом рабочего процесса. Рёбра: DependsOn (вложенность и импорты) и Invokes (цели вызовов). Каждое ребро содержит поле 'resolution': 'resolved' означает, что проверщик TypeScript определил цель, 'heuristic' означает, что по имени совпало ровно одно объявление, 'structural' означает вложенность или импорт. Вызовы с неоднозначной целью не порождают ребра вообще. Возвращает полные счётчики плюс до 500 узлов и 1000 рёбер, с полем 'truncated', когда граф больше.

Параметры

Без параметров.

export_onboarding

Создаёт onboarding-пакет, построенный вокруг workflow, в каталоге veris-reports/onboarding/: по одному markdown-файлу на каждый workflow, описывающему его назначение, участников, риски и рекомендуемые материалы для первого чтения, плюс индекс README.md. Возвращает выходной каталог и пути записанных файлов.

Параметры

Без параметров.

generate_adversarial_probes

Возвращает конкретные сценарии отказов уровня Tier-3 для затронутых рабочих процессов; каждый из них дополнен инвариантом, который должен выполняться: например, «отправить списание дважды с одним и тем же ключом идемпотентности в течение 500 мс; ровно одна запись в реестре». Проверки выбираются из курируемой библиотеки по доменам (concurrency, idempotency, retry storms, replay, partial failure, cache stampede, ordering); они не генерируются из вашего кода, поэтому указывают на режим отказа, а не на конкретное место вызова. Возвращает до 100.

Параметры

Без параметров.

generate_verification_plan

Генерирует многоуровневый план верификации для каждого затронутого узла. Уровень 1 - структурный (lint, схема, типы), уровень 2 - поведенческий (контракты, границы интеграции), уровень 3 - состязательный (параллелизм, идемпотентность, повторные попытки, повторное воспроизведение, частичный сбой). Директивы - это шаблоны, параметризованные идентификатором узла. Для конкретных сценариев отказов используйте generate_adversarial_probes. Возвращает количество проверок по уровням и до 200 целей, ранжированных по риску узла, с полем 'truncated', если целей больше.

Параметры

Без параметров.

identify_unverified_behaviors

Returns verification coverage: how much of the planned work has supporting execution evidence, weighted by tier, decayed by age, and weighted by trust class (agent-asserted evidence counts for half). Also returns the count of failing and flaky targets, the highest single impacted-node risk, and the specific unverified assumptions (capped at 20). 'overallConfidence' is an alias of coverage retained for compatibility — it measures evidence, not the probability that the code is correct, and is not calibrated against observed outcomes. Coverage is reported as unknown, not 100%, when nothing was planned.

Параметры
  • executedTargetsCountnumber

    What-if override: model coverage as if this many targets had been executed. Only applies when persistent state is unavailable.

list_workflows

Группирует узлы репозитория по семантическим доменам (Authentication, Payments, Webhooks, Caching, Queue и ещё 20) и возвращает для каждого рабочего процесса число участников, число затронутых элементов, агрегированные показатели риска, описательную сводку и гипотезы о рисках времени выполнения. Классификация основана на взвешенном голосовании по ключевым словам в сегментах каталога, спецификаторах импорта и именах символов. Она не проходит по графу вызовов, поэтому рабочий процесс трактуется как размеченный набор объявлений, а не как путь выполнения. Узлы, не соответствующие ни одному правилу, группируются в Uncategorized. Возвращает до 50 рабочих процессов.

Параметры

Без параметров.

node_history

Хронология для одного узла: значения его риска и радиуса поражения за предыдущие запуски, а также каждая запись доказательства исполнения, привязанная к нему, с результатом, уровнем, классом доверия, продюсером и временной меткой. Используется для расследования инцидентов («эта функция сломала продакшн - как выглядит её история?») или для проверки, накопил ли узел с высоким риском заслуживающие доверия доказательства успешного прохождения.

Параметры
  • nodeIdstringобязательный

    Node id. Format: 'relative/path.ts::Symbol' or 'relative/path.ts::Class::method'.

register_repo

Добавляет репозиторий в реестр уровня пользователя по пути ~/.veris/registry.json, чтобы cross_repo_snapshot включал его. Путь должен существовать, быть каталогом и содержать каталог .git. Это вызов на этапе настройки, обычно выполняется один раз для каждого репозитория.

Параметры
  • namestringобязательный

    Human-readable name shown in snapshots.

  • pathstringобязательный

    Absolute path to the repository root.

  • tagsstring[]

    Optional grouping tags, e.g. ['prod','checkout'].

report_execution

Отправляет результаты проверки обратно в Veris. Доказательства можно только добавлять, и они связаны хеш-цепочкой: более поздняя запись для той же цели добавляется рядом с более ранней, никогда не заменяя её, поэтому сбой невозможно перезаписать последующим проходом. Каждая запись несёт класс доверия: 'agent-asserted' (по умолчанию; собственное утверждение вызывающей стороны, учитывается с половинным весом), 'harness-observed' (внешний исполнитель наблюдал за этим) или 'veris-derived', а также идентичность производителя. Принимает пакет и записывает его одной транзакцией: если хотя бы одна запись недействительна, не записывается ни одна.

Параметры
  • executionsobject[]обязательный

    Batch of results.

what_if_revert

Counterfactual: удаляет указанные узлы из головного графа, пересчитывает diff и риск относительно реального базового состояния и сообщает, что меняется. Отвечает на вопрос: «что восстановится, если я откачу это?» Моделирует только удаление: не может моделировать откат изменённого тела к его прежней форме. Требует разрешимое базовое состояние; возвращает ошибку, а не выдуманный ответ.

Параметры
  • nodeIdsstring[]обязательный

    Node ids to remove. Format: 'relative/path.ts::Symbol' or 'relative/path.ts::Class::method', as returned by export_behavioral_graph.

Похожие MCP-сервера

CodeLogicIncEngineering/codelogic-mcp-server

CodeLogicIncEngineering/codelogic-mcp-server

MCP сервер интегрирует CodeLogic в AI-помощники: анализирует влияние изменений кода и БД, генерирует CI/CD настройки, строит графы зависимостей для оценки рисков перед внедрением.

Python38
KryptosAI/mcp-observatory

KryptosAI/mcp-observatory

MCP Observatory — CI и безопасность для MCP-серверов. Сканирует совместимость, находит уязвимости и дрейф схем, предотвращает регрессии. Полезен разработчикам и командам безопасности, использующим ...

HTML146
jarvisassistantux/loopsense

jarvisassistantux/loopsense

LoopSense - MCP сервер для AI-агентов, отслеживающий последствия их действий: CI, деплои, тесты, файловые изменения. Помогает разработчикам видеть результаты работы агентов.

TypeScript2
cuttalo/depscope

cuttalo/depscope

MCP сервер DepScope проверяет пакеты в 19 экосистемах - выявляет галлюцинации, устаревшие и вредоносные зависимости. Помогает AI-агентам избегать установки вымышленных и опасных пакетов.

1
currents-dev/currents-mcp

currents-dev/currents-mcp

MCP сервер для подключения AI-агентов к панели Currents. Позволяет анализировать CI-тесты, выявлять flaky тесты и сбои, управлять проектами и правилами карантина прямо из редактора. Ускоряет отладку на основе реальных данных.

TypeScript20
Nishant-Chaudhary5338/mcp-toolkit

Nishant-Chaudhary5338/mcp-toolkit

MCP сервер mcp-react-toolkit автоматизирует разработку на React и TypeScript: генерирует компоненты из shadcn/ui, проверяет типы, доступность и тесты, мигрирует JS→TS, аудирует зависимости и бандл....

TypeScript3
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин