vighriday/Veris

vighriday/Veris

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

Veris

Veris

veris — Latin, “of truth”

Your agent just changed 40 files.
What actually broke, and was any of it checked?

CI npm MIT MCP: 17 tools No telemetry Self-audit: 55 defects published


We pointed Veris at Veris — it found 55 defects

Every one is published — what broke, why it mattered, the fix, and the test that proves it: docs/internal/BUG_TRACKER.md

The worst three, in our own tool:

It invented baselines. When git was unavailable, Veris built a "before" state from the first 70% of the current graph and reported the comparison as a real behavioral diff. No flag. No warning. A verification tool was fabricating the thing it verified against.

91% of its call edges were guesses. It matched the trailing name of a call against every declaration sharing that name. console.log() drew an edge to the project's own Logger.log. Measured on a real dependency: 2,804 of 3,077 edges pointed at an ambiguous name.

The graded agent could erase its own failures. Execution results were stored with INSERT OR REPLACE. Post fail, then post pass, and the failure was gone.

We could have fixed these quietly. Publishing them is the point: a tool that tells you what is unverified has no standing to hide its own unverified claims.

Инструменты были проиндексированы:
allocate_budget

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

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

    Доступные минуты. Типичные значения: 5 (быстрая проверка), 15 (по умолчанию), 60 (предрелизное сканирование).

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, относительно которой найти merge-base. Пример: 'origin/develop' или SHA коммита.

analyze_repository

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

Параметры

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

analyze_workflow

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

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

    Идентификатор рабочего процесса из list_workflows (например, 'payments', 'authentication').

confidence_history

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

Параметры
  • limitnumber

    Максимум возвращаемых запусков. По умолчанию 30, максимум 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

Возвращает покрытие проверкой: какая часть запланированной работы имеет подтверждающие доказательства выполнения, взвешенные по уровню, ослабленные по давности и взвешенные по классу доверия (доказательства, подтверждённые агентом, учитываются наполовину). Также возвращает количество упавших и нестабильных целей, наивысший единичный риск затронутого узла и конкретные непроверенные предположения (не более 20). 'overallConfidence' - это псевдоним покрытия, сохранённый для совместимости: он измеряет доказательства, а не вероятность того, что код корректен, и не калибруется по наблюдаемым результатам. Когда ничего не было запланировано, покрытие сообщается как неизвестное, а не 100%.

Параметры
  • executedTargetsCountnumber

    What-if override: моделирует покрытие так, как если бы было выполнено столько целей. Применяется только когда постоянное состояние недоступно.

list_workflows

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

Параметры

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

node_history

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

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

    Идентификатор узла. Формат: 'relative/path.ts::Symbol' или 'relative/path.ts::Class::method'.

register_repo

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

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

    Человекочитаемое имя, отображаемое в снимках.

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

    Абсолютный путь к корню репозитория.

  • tagsstring[]

    Необязательные теги группировки, например ['prod','checkout'].

report_execution

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

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

    Пакет результатов.

what_if_revert

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

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

    Идентификаторы узлов для удаления. Формат: 'relative/path.ts::Symbol' или 'relative/path.ts::Class::method', в том виде, как их возвращает export_behavioral_graph.

3.0.1основная
3.0.0
2.1.8
2.1.7
2.1.6
2.1.4
2.1.3
2.1.1
2.1.0

Выберите клиент, чтобы установить vighriday/Veris:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "vighriday-veris-dnu5vwydat": {
      "command": "npx",
      "args": [
        "-y",
        "veris-core",
        "mcp"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "vighriday-veris-dnu5vwydat": {
      "command": "npx",
      "args": [
        "-y",
        "veris-core",
        "mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "vighriday-veris-dnu5vwydat": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "veris-core",
        "mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"vighriday-veris-dnu5vwydat\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"veris-core\",\"mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "vighriday-veris-dnu5vwydat": {
      "command": "npx",
      "args": [
        "-y",
        "veris-core",
        "mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add vighriday-veris-dnu5vwydat -- npx -y veris-core mcp

Либо через JSON-конфиг:

claude mcp add-json vighriday-veris-dnu5vwydat "{\"command\":\"npx\",\"args\":[\"-y\",\"veris-core\",\"mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add vighriday-veris-dnu5vwydat -- npx -y veris-core mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.vighriday-veris-dnu5vwydat]
command = "npx"
args = ["-y", "veris-core", "mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите vighriday/Veris, а в поле команды запуска — строку ниже:
npx -y veris-core mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "vighriday-veris-dnu5vwydat": {
      "command": "npx",
      "args": [
        "-y",
        "veris-core",
        "mcp"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "vighriday-veris-dnu5vwydat": {
      "command": "npx",
      "args": [
        "-y",
        "veris-core",
        "mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например vighriday-veris-dnu5vwydat.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: vighriday-veris-dnu5vwydat
    command: npx
    args:
      - "-y"
      - "veris-core"
      - "mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "vighriday-veris-dnu5vwydat": {
      "command": "npx",
      "args": [
        "-y",
        "veris-core",
        "mcp"
      ]
    }
  }
}

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

KryptosAI/mcp-observatory

KryptosAI/mcp-observatory

от kryptosai

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

TypeScript⭐ 142
CodeLogicIncEngineering/codelogic-mcp-server

CodeLogicIncEngineering/codelogic-mcp-server

от codelogicincengineering

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

Python⭐ 37
Nishant-Chaudhary5338/mcp-toolkit

Nishant-Chaudhary5338/mcp-toolkit

от nishant-chaudhary5338

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

TypeScript⭐ 3
currents-dev/currents-mcp

currents-dev/currents-mcp

от currents-dev

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

TypeScript⭐ 21
James-Chahwan/repo-graph

James-Chahwan/repo-graph

от james-chahwan

Строит граф кодовой базы для LLM-ассистентов: описывает сущности, связи и потоки. Позволяет быстро находить нужные файлы без чтения всего кода, экономя до 60% токенов — полезно для больших проектов...

Python⭐ 94
qainsights/locust-mcp-server

qainsights/locust-mcp-server

от qainsights

MCP-сервер для запуска нагрузочных тестов Locust из AI-сред. Просто интегрирует написание тестовых сценариев и запуск в headless или UI режиме. Полезен разработчикам и QA для быстрой верификации пр...

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

Лука Никитин