Checkride
Checkride MCP Server
Checkride — это сервер Model Context Protocol (MCP), который служит быстрым локальным «предварительным CI-проверочным» сайдкаром для ИИ-агентов кодирования.
После подключения Checkride в Cursor, Claude Desktop или Antigravity он работает как невидимый локальный валидационный сайдкар — ИИ-агент вызывает его инструменты для тестирования изменений кода локально, вместо того чтобы гадать, готов ли код к коммиту.
Возможности
Быстрый конвейер предварительной проверки: Запускает тестовый набор, проверку типов и линтер параллельно.
Умное кэширование SHA-256: Мгновенные ответы менее чем за 10 мс (
[CACHED < 10ms]) на неизменённых кодовых базах.Интеллект Git и промежуточных файлов: Запускайте целевые проверки и проверки безопасности только на изменённых или промежуточных файлах Git.
Pre-Commit хуки Git: Легко устанавливайте локальный
.git/hooks/pre-commitдля автоматической проверки кода перед ручными коммитами.Песочница Docker: Необязательное контейнерное выполнение (
"sandbox": "docker") для изоляции выполнения процессов.Аудит безопасности зависимостей: Запускает аудит безопасности пакетов (
npm audit,cargo audit,pip-audit) для обнаружения уязвимостей, внесённых ИИ-агентами.Генератор исправлений ИИ: Анализирует ошибки и несоответствия типов, чтобы возвращать готовые к использованию подсказки по исправлению и фрагменты кода.
Экспортёр визуальных отчётов: Экспортирует сводки проверок в Markdown (
.checkride/summary.md) и HTML (.checkride/report.html).Сканер безопасности Git: Обнаруживает оставшиеся маркеры конфликтов (
<<<<<<<), утёкшие секреты/ключи API и отладочные операторы (console.log,debugger,breakpoint()).Автоопределение и поддержка монорепозиториев: Автоматически определяет менеджеры пакетов (
pnpm,yarn,bun,npm), монорепозитории (Turbo, pnpm workspaces, Lerna) и языки (TypeScript, JavaScript, Python, Rust, Go).Настраиваемый сайдкар: Настраивайте команды, таймауты для каждой проверки, исключения, серьёзность безопасности Git и пользовательские шаги сборки через
.checkriderc.json.
Related MCP server: FlowCheck MCP Server
Что означает «Подключено»
Cursor / ИИ-ассистенты запускают Checkride в фоновом режиме через:
{
"mcpServers": {
"checkride": {
"command": "npx",
"args": ["-y", "checkride-mcp"]
}
}
}Когда вы общаетесь в вашей IDE, агент может вызывать 10 MCP-инструментов. Эти инструменты читают ваш .checkriderc.json и выполняют те же команды, что и ваш CI (pytest, ruff, tsc, тестовый набор, веб-сборка).
Вы не открываете Checkride как настольное приложение — он работает как невидимая инфраструктура, которую ИИ-агент использует автономно.
Типичный рабочий процесс агента
flowchart LR
A[You ask agent to change code] --> B[Agent edits files]
B --> C[Agent calls Checkride MCP]
C --> D{Passed?}
D -->|Yes| E[Agent says ready / offers commit]
D -->|No| F[Agent reads errors and fixes]
F --> C1. Вы просите об изменении
Пример: «Добавьте поле в API инцидентов и обновите веб-страницу».
2. Агент вносит изменение
Редактирует файлы по всей вашей кодовой базе.
3. Агент проверяет с помощью Checkride (автоматически или по запросу)
Типичные вызовы инструментов:
Инструмент | Когда используется | Что запускает |
| Перед коммитом — только изменённые файлы | Сканирование безопасности Git + линтер для промежуточных файлов |
| Полная предварительная проверка |
|
| После правок бэкенда/API | Выполненный тестовый набор |
| После правок кода | Настроенный линтер ( |
| После правок TS/React |
|
| Перед коммитом | Маркеры конфликтов, секреты, отладочные журналы |
| Когда что-то не удаётся | Разбирает ошибки → подсказки по исправлению для агента |
| Быстрая сводка | Результат последнего запуска без повторного выполнения |
4. Агент исправляет или подтверждает
Неудача: Агент читает вывод ошибок Checkride, исправляет код и повторно запускает проверки.
Успех: Агент сообщает вам, что кодовая база чиста и готова к коммиту.
Что вы можете сказать в чате
Вам не нужны точные названия инструментов — подсказки на простом языке автоматически запускают инструменты:
"Run checkride on my staged changes"
"Run full pre-flight checks before I commit"
"Did my API changes pass tests and lint?"
"Check for secrets or debug logs in what I changed"MCP против CLI против Git Hook
Метод | Кто запускает | Лучше всего для |
MCP (Подключено) | ИИ-агент во время чата | Непрерывная проверка во время парного программирования |
| Вы в терминале | Быстрая проверка перед ручным |
| Вы в терминале | Полное зеркало CI локально |
| Git автоматически | Блокировка плохих коммитов даже вне Cursor/IDE |
Предоставляемые MCP-инструменты
Имя инструмента | Описание | Параметры | Схема вывода |
| Запуск полного конвейера проверки с умным кэшированием SHA-256 (<10 мс на неизменённом коде) |
|
|
| Запуск целевых проверок на изменённых/промежуточных файлах Git |
|
|
| Сканирование файлов на наличие маркеров конфликтов, утёкших секретов и отладочных журналов |
|
|
| Запуск аудита безопасности уязвимостей зависимостей |
|
|
| Генерация подсказок для ИИ по исправлению ошибок тестов и ошибок TypeScript |
|
|
| Экспорт визуальных отчётов Markdown/HTML в |
|
|
| Запуск только тестового набора |
|
|
| Запуск проверки типов ( |
|
|
| Запуск линтера кода ( |
|
|
| Получение статуса последнего запуска проверки | Нет |
|
Пример сеанса
You: Add an unlock button to the admin users page.
Agent: [edits src/components/admin.tsx...]
[calls run_staged_checks]
→ lint/typecheck on changed files
→ git safety on staged files
Agent: Staged checks passed. Ready to commit.
You: Run full checks to be sure.
Agent: [calls run_checks]
→ test suite + ruff + tsc + build
→ all passed!Если тесты не проходят:
Agent: [calls run_tests] → 2 failures
[calls suggest_fixes] → hints for each failure
[fixes code]
[calls run_tests again] → passedВажные детали
Checkride проверяет, вы коммитите: Checkride выполняет локальные проверки — он никогда не коммитит и не отправляет код без вашего явного действия.
Использует ваше локальное окружение: Выполнение команд происходит с использованием локальных node_modules, Python virtualenv или Docker-контейнера.
Интеграция MCP: MCP работает внутри Cursor/AGY/Claude. Коммиты из терминала без редактора используют CLI или Git-хуки (
init-hooks).Перезагрузите Cursor: После добавления Checkride в
.cursor/mcp.jsonили настройки перезагрузите окно, чтобы сервер подключился в разделе Settings → MCP.
Конфигурация (.checkriderc.json)
Checkride автоматически ищет .checkriderc.json, .checkriderc или checkride.config.json в корне вашего каталога проекта:
{
"sandbox": "docker",
"docker_image": "node:20-alpine",
"git_safety": {
"severity": "warn",
"ignore_patterns": ["test/"]
},
"timeouts": {
"test": 60000,
"typecheck": 60000,
"lint": 30000,
"security": 60000,
"default": 60000
},
"commands": {
"test": "pnpm test",
"typecheck": "tsc --noEmit",
"lint": "eslint .",
"security": "npm audit --json",
"custom": [
{
"name": "Format Check",
"command": "prettier --check .",
"timeout": 15000
}
]
},
"exclude": ["node_modules", "dist", "build", ".git"],
"env": {
"CI": "true"
}
}Установка Git Pre-Commit Hook
Установите локальный .git/hooks/pre-commit, чтобы автоматически запускать проверки Checkride перед любым ручным git commit:
npx checkride-mcp init-hooksИли запустите промежуточные проверки вручную из вашего терминала:
npx checkride-mcp check --stagedПодключение к ИИ-агентам
1. Конфигурация Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"checkride": {
"command": "npx",
"args": ["-y", "checkride-mcp"]
}
}
}2. Конфигурация Cursor / Antigravity / Claude Code
{
"mcpServers": {
"checkride": {
"command": "npx",
"args": ["-y", "checkride-mcp"]
}
}
}Лицензия
MIT © Siqah
Available Tools
10 toolscheck_git_safetyA
Scan target or staged files for conflict markers (<<<<<<<), hardcoded secrets/API keys, and leftover debug statements. Use before git commit.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Optional array of specific file paths to scan. Defaults to all staged/modified Git files. | |
| project_path | No | Optional target project directory path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It clearly implies a read-only scan but never explicitly states non-destructive behavior, whether it requires a git repo, or what happens when no files are supplied. It also doesn't mention output format or exit status, which agents need to interpret results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that immediately states the action, target, and specific checks. Efficient with no filler, and the usage hint is appended naturally. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with zero required parameters and no output schema, the description is adequate: it tells what it scans and when to use it. It only lacks clarity on the result format (e.g., list of issues, exit code) and whether it's safe to run repeatedly, but these are secondary given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters already described as optional with clear meanings. The description adds no extra nuance about how files interact with 'staged/modified' or what happens if project_path is omitted. Baseline of 3 is appropriate given the schema already documents both params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Scan') with clear targets (target or staged files) and enumerates three concrete checks (conflict markers, secrets, debug statements). It differentiates from siblings like run_security_audit by naming specific scan types, though it doesn't explicitly contrast with run_staged_checks which could overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear temporal usage hint ('Use before git commit') but offers no guidance on when to use this vs. sibling tools like run_staged_checks or run_security_audit. The 'or' in 'target or staged files' is ambiguous about precedence. Exclusions or alternatives are not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_reportA
Generate visual Markdown or HTML validation reports saved to .checkride/ directory.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Report output format ('markdown' or 'html'). Defaults to 'markdown'. | |
| project_path | No | Optional target project directory path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the key write side effect ('saved to .checkride/ directory'), which tells the agent this tool mutates the filesystem. However, it doesn't disclose whether existing reports are overwritten, whether prior check results must exist, or what the return value is. The core side effect is disclosed but edge behaviors are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single 15-word sentence that front-loads the verb and purpose, immediately states the output formats and destination. There is zero filler — every word earns its place. The most decision-relevant information (what it produces, in what formats, where it writes) appears in the first clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 optional parameters, no output schema, and no nested objects, the description is largely sufficient: it covers purpose, formats, and destination. The main gap is prerequisites — an agent isn't told that validation results must already exist for a report to be meaningful. Given the tool's simplicity and the clear destination disclosure, this minor omission doesn't warrant lowering below 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both 'format' (with enum and default) and 'project_path' are documented in the schema. The tool description adds no parameter-level detail beyond what the schema provides, but it aligns with the schema by naming both supported formats. Baseline 3 is appropriate since the schema carries the full parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Generate') and precisely names the resource ('visual Markdown or HTML validation reports') plus the destination ('.checkride/ directory'). It distinguishes itself clearly from all siblings, which are check/audit/test execution tools — this is the only report-generation tool in the set, so an agent can identify it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage context — validation reports must be generated from validation results, so it naturally follows the check-running siblings. However, there is no explicit statement of when to use it versus alternatives, no mention that it should be run after run_checks or run_security_audit, and no exclusion guidance. The timing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_check_statusB
Retrieve the status and full structured results of the last validation check run.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It states 'Retrieve', which implies a read-only operation, but does not describe side effects, error conditions (e.g., what happens if no check has run), required permissions, or the structure of the returned 'full structured results'. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that leads with the verb and resource. It frontloads the key action and object without any fluff or redundant wording. Every word contributes to the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters and no output schema, the description is moderately complete. It conveys that the tool returns status and structured results of the last validation check, but it doesn't specify what 'validation check' refers to in this context, what fields the results contain, or how to interpret errors if no check has been run. Siblings like run_checks and run_staged_checks imply a workflow, but the description doesn't connect to that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is trivially 100%. The description doesn't need to add parameter details because there are none. The description's mention of 'status and full structured results' aligns with the expected output, but since there are no parameters, it fully satisfies the dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'status and full structured results of the last validation check run', which is specific enough to distinguish it from sibling tools like run_checks or run_staged_checks. However, it does not explicitly name any siblings or contrast itself, so it stops short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't say 'use this to get previous results without running new checks' or mention any exclusion criteria. The only clue is the phrase 'last validation check run', which implies retrieval but does not explicitly state the use case or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_checksA
Run the full pre-flight validation pipeline (tests, type-checking, lints, custom steps) with smart SHA-256 caching (<10ms on unchanged code). Use this before committing code.
| Name | Required | Description | Default |
|---|---|---|---|
| bypass_cache | No | Set to true to force re-running all checks and bypass cached results. | |
| project_path | No | Optional absolute or relative path to the target project directory (defaults to current working directory). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It mentions smart SHA-256 caching and speed, which is helpful, but it does not state whether the operation is read-only, whether it modifies files, or what side effects it might have. For a validation pipeline, safety may be inferred, but it is not explicit, leaving a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose, then adds caching detail and usage context without fluff. Every part earns its place, and it is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool runs a complex pipeline with multiple check types, yet the description does not explain what the tool returns (e.g., pass/fail status, report, exit codes). It also omits details about the 'custom steps.' Given there is no output schema, the agent is left guessing about the return format, which is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters (bypass_cache and project_path) with descriptions, and coverage is 100%. The description adds no parameter-specific information. Per the rubric, with high schema coverage, a baseline of 3 is appropriate, and the description does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs the full pre-flight validation pipeline, listing tests, type-checking, lints, and custom steps. The verb 'run' and resource 'pipeline' are specific, and the word 'full' distinguishes it from narrower sibling tools like run_tests or run_lint. This gives an agent a precise idea of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides a usage context: 'Use this before committing code.' This tells the agent when to invoke it. However, it does not mention when *not* to use it or name alternatives (e.g., run_staged_checks or run_security_audit), so it lacks the full when/when-not guidance needed for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_lintA
Run only code linting (e.g. ESLint, Biome, Ruff, Clippy) with optional auto-fix.
| Name | Required | Description | Default |
|---|---|---|---|
| fix | No | Whether to pass auto-fix flags (--fix / --write) to the linter. | |
| project_path | No | Optional target project directory path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It mentions running linting and optional auto-fix, but does not disclose that auto-fix may modify files, nor does it describe output format or side effects. The tool could be destructive when fix=true, but this is not flagged, leaving behavior insufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately states the tool's purpose and key optional capability. The examples of linters add useful context without verbosity, and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two optional parameters, and the schema covers parameter semantics. However, the description lacks guidance on return values or exit behavior, and does not explain the effect of auto-fix on files. With no output schema and no annotations, these gaps remain for an agent to infer, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of both parameters with clear descriptions, so the description adds little beyond what is already structured. The phrase 'optional auto-fix' simply echoes the schema's fix parameter. No additional semantic detail is provided beyond the schema, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs linting, names specific linters (ESLint, Biome, Ruff, Clippy), and specifies the optional auto-fix feature. The phrase 'only code linting' distinguishes it from broader check tools like run_checks, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for linting-only tasks, giving clear context for when to use it. However, it does not explicitly mention when not to use it or name alternatives such as run_checks or run_staged_checks. The 'only' qualifier is the sole differentiator, so while context is clear, loss of explicit exclusions keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_security_auditB
Run dependency security vulnerability audits (npm audit, cargo audit, pip-audit) and return structured vulnerability report.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | Optional target project directory path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states that it runs audits and returns a report, but does not mention whether this involves network access, modifies any files, requires specific project setup, or what the 'structured vulnerability report' contains in terms of format or fields. This is insufficient for a tool that executes external commands, as the agent may need to know about side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the action and the specific audits run, followed by the return type. There is no superfluous information, and it is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description is largely adequate. It lists the audit commands and mentions the structured report, which gives the agent a good idea of what to expect. The only minor gap is that it does not explicitly mention that it operates on the given project path or how the path is used, but this is implied by the parameter. Overall, it covers the essentials.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single parameter (project_path) with a clear description. The tool description does not add any additional meaning beyond what the schema provides, such as default behavior or path format expectations. Since schema coverage is 100%, the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs dependency security vulnerability audits and lists the specific underlying tools (npm audit, cargo audit, pip-audit). It also specifies the return type (structured vulnerability report), making it distinct from siblings like run_checks or run_tests. The verb 'audit' and resource 'dependency security vulnerabilities' are concrete and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the sibling tools. It does not mention prerequisites, when a security audit is appropriate, or whether to prefer this over run_checks or run_staged_checks. The context is completely absent, leaving the agent to infer the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_staged_checksA
Run fast targeted validations and Git safety checks only on modified or staged Git files (git diff). Recommended for quick pre-commit validation.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | Optional target project directory path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, placing the burden on the description. The description conveys that it runs validations and safety checks on staged files but does not disclose whether operations are read-only, require special permissions, or produce any side effects. The behavior beyond the action itself is opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two crisp sentences, with the core operation front-loaded and the usage recommendation in the second sentence. There is no redundant or off-topic content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter), but the description lacks information about return values or outcomes. Since no output schema exists, the description should clarify what the agent can expect (e.g., pass/fail results, detailed logs). It also does not explain any prerequisites or relationships to sibling tools beyond the scope mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single parameter already has a clear schema description. The tool description adds no additional meaning about the parameter, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Run' and the resource: 'fast targeted validations and Git safety checks only on modified or staged Git files'. It distinguishes itself from siblings by the specific scope of staged files, which also implies a contrast with broader tools like run_checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context by recommending the tool 'for quick pre-commit validation' and narrows usage to 'only on modified or staged Git files'. However, it does not explicitly exclude full checks or name alternative tools for broader validation, so it lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_testsB
Run only the test suite with optional pattern matching.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | Optional target project directory path. | |
| test_pattern | No | Optional regex or filename pattern to filter executed tests. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says tests are run; it does not mention side effects (e.g., file changes, building), required environment, return values, or exit-code behavior. An agent cannot predict what happens on success or failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero waste. It states the core purpose immediately and avoids unnecessary detail. This is appropriate conciseness for a narrowly scoped tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two optional parameters and no output schema, the description covers the basic action but omits critical context such as how results are reported, whether a successful run produces output, or any prerequisites (e.g., project must be set up). The absence of annotations makes this gap more significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters at 100% coverage, so the baseline is 3. The description adds no extra meaning; 'optional pattern matching' aligns with the test_pattern parameter, but the schema already explains it. No value is added beyond the structured definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'run' and the resource 'test suite', and 'only' signals a narrow scope that differentiates from check/lint/typecheck siblings. However, it does not explicitly name alternative tools or explain which checks are excluded, so it stops short of full clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus its siblings. 'Only the test suite' implies it is not for linting or typechecking, but the description never states that explicitly, nor does it offer conditions or exclusions. The agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_typecheckA
Run only type checking (e.g. tsc, mypy, cargo check, go vet).
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | Optional target project directory path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire burden of behavioral disclosure. The description only states the action ('Run only type checking') and gives examples, but omits critical details such as whether the tool modifies files, requires network access, or what output/exit codes it produces. For a command-like tool, this lack of behavioral context is a significant gap, though it's not misleading or contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-crafted sentence that front-loads the key information ('Run only type checking') and immediately provides clarifying examples. Every word earns its place, with no fluff or redundancy. It's concise, yet sufficiently informative for the simple scope of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description covers the core purpose but falls short on behavioral details like side effects or execution context. With no annotations to fill gaps, an agent would not know what happens if project_path is omitted, or whether the tool is safe to run in any directory. It's minimally complete but leaves room for important operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for its single parameter, 'project_path', with a description ('Optional target project directory path'). The tool description adds no additional meaning about the parameter, such as default behavior when omitted or accepted path formats. Since the schema already documents the parameter, a baseline of 3 is appropriate; the description neither compensates nor detracts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Run only type checking', with concrete examples (tsc, mypy, cargo check, go vet). This distinguishes it from sibling tools like run_tests or run_lint, which cover other check types. The word 'only' explicitly narrows scope, leaving no ambiguity about its intended purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description doesn't explicitly name alternatives or state when NOT to use it, the phrase 'Run only type checking' strongly implies that this tool should be used specifically when type checking is the sole requirement, versus run_checks or run_staged_checks for broader validation. It gives clear context but doesn't explicitly enumerate exclusions or sibling comparisons, which would warrant a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_fixesA
Analyze recent validation failures and return structured remediation hints and prompt snippets for AI agents.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | Optional target project directory path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It discloses the core behavior—analyzing failures and returning remediation hints/prompt snippets—but leaves ambiguous how 'recent' is defined, whether it reads from persisted state, and whether any side effects occur. This is partial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the primary action and the expected output. Every word earns its place; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-optional-param tool, the description covers the main action and return value. However, with no output schema and no annotations, it doesn't clarify what 'recent' means, whether prior checks are required, or the structure of the returned remediation hints—leaving some ambiguity for an agent selecting or invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional parameter `project_path` is fully described in the schema as 'Optional target project directory path.' With 100% schema coverage, the description doesn't need to add parameter details. The baseline 3 applies because no additional semantics beyond the schema are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Analyze') and resource ('recent validation failures'), and explicitly describes the output ('structured remediation hints and prompt snippets'). This clearly distinguishes it from sibling tools like run_checks or get_check_status, which focus on execution or status rather than remediation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear usage context: use when there are recent validation failures. This gives the agent enough situational signal. However, it does not explicitly name alternatives or state when not to use it, so it stops short of full usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v0.5.1- First observed
check_git_safety - First observed
export_report - First observed
get_check_status - First observed
run_checks - First observed
run_lint - First observed
run_security_audit - First observed
run_staged_checks - First observed
run_tests - First observed
run_typecheck - First observed
suggest_fixes
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose: full pipeline, staged checks, git safety, security audit, fixes, reports, and individual test/typecheck/lint runners. Even overlapping tools like run_checks and run_staged_checks are explicitly scoped to different file sets. No two tools are likely to be confused by an agent.
All tools follow a consistent verb-first snake_case pattern (run_*, check_*, suggest_*, export_*, get_*). Verbs clearly indicate the action and nouns indicate the target, making the API predictable and intuitive. There is no mixing of conventions or vague generic names.
Ten tools provide a comprehensive but not bloated surface for a pre-flight validation pipeline. Each tool serves a distinct need—running checks, scoped checks, security, safety, fixes, reporting, and targeted individual checks—so the count is well-calibrated to the domain.
The tool set covers the full validation workflow: run checks (full or staged), inspect status, get security audits, scan for git safety issues, receive fix suggestions, and export reports. Minor gaps exist, such as no explicit tool to list or configure available checks, but these are non-essential and unlikely to cause agent failures.
Maintenance
Related MCP Connectors
Your coding agent asks the business logic of your repository and checks commits before they land
Change-aware CI validation and affected-test guidance for coding agents.
Security reviews for coding agents: diffs checked against your org policy and live infrastructure.
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to scan GitHub repositories for security vulnerabilities, deployment blockers, and code quality issues. It provides detailed findings and auto-generated code patches to help developers ensure their code is production-ready.18 npmMIT
- AlicenseAqualityDmaintenanceActs as a production-grade safety layer for AI-assisted coding, monitoring Git hygiene, scanning for security issues (PII, secrets, injection), and enabling semantic history search.9MIT
- AlicenseAqualityBmaintenanceEnables AI coding agents to safely execute commands, run tests, and modify project files inside disposable, policy-enforced Docker sandboxes that are isolated from the host machine and its credentials.15MIT
- AlicenseAqualityBmaintenanceEnables AI coding agents to safely run commands, install dependencies, test, and modify code inside disposable, policy-enforced Docker sandboxes isolated from the host, returning results and diffs.15MIT