Skip to main content
Glama

Checkride MCP Server

Checkride 是一个模型上下文协议(MCP)服务器,作为 AI 编码代理的快速、本地“CI 预检”验证辅助工具。

一旦 Checkride 在 Cursor、Claude Desktop 或 Antigravity 中连接,它就会作为不可见的本地验证辅助工具运行——AI 代理调用其工具在本地测试代码更改,而不是猜测代码是否已准备好提交。


功能

  • 快速预检管道:并发运行测试套件、类型检查器和代码检查器。

  • 智能 SHA-256 缓存:在代码库未更改时,即时响应([CACHED < 10ms])。

  • Git 与暂存文件智能:仅对修改或暂存的 Git 文件运行定向验证和安全检查。

  • 预提交 Git 钩子:轻松安装本地 .git/hooks/pre-commit,在手动提交前自动验证代码。

  • Docker 沙箱:可选的容器化执行("sandbox": "docker")以隔离进程执行。

  • 依赖安全审计:运行包安全审计(npm audit、cargo audit、pip-audit)以检测 AI 代理引入的漏洞。

  • AI 修复生成器:分析错误和类型不匹配,返回可直接用于提示的修复建议和代码片段。

  • 可视化报告导出器:导出 Markdown(.checkride/summary.md)和 HTML(.checkride/report.html)验证摘要。

  • Git 安全防护扫描器:检测遗留的冲突标记(<<<<<<<)、泄露的 API 密钥/密钥以及调试语句(console.log、debugger、breakpoint())。

  • 自动检测与 Monorepo 支持:自动检测包管理器(pnpm、yarn、bun、npm)、monorepo(Turbo、pnpm workspaces、Lerna)和语言(TypeScript、JavaScript、Python、Rust、Go)。

  • 可配置辅助工具:通过 .checkriderc.json 自定义命令、每次检查的超时时间、排除项、Git 安全严重级别和自定义构建步骤。


Related MCP server: FlowCheck MCP Server

“已连接”的含义

Cursor / AI 助手在后台启动 Checkride,方式如下:

{
  "mcpServers": {
    "checkride": {
      "command": "npx",
      "args": ["-y", "checkride-mcp"]
    }
  }
}

当您在 IDE 中聊天时,代理可以调用 10 个 MCP 工具。这些工具读取您的 .checkriderc.json,并运行与您的 CI 完全相同的命令(pytest、ruff、tsc、测试套件、Web 构建)。

您不会将 Checkride 作为桌面应用打开——它作为不可见的基础设施运行,由 AI 代理自主使用。


典型代理工作流

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 --> C

1. 您请求更改

示例:“向事件 API 添加一个字段,并更新网页。”

2. 代理实施更改

编辑您代码库中的文件。

3. 代理使用 Checkride 验证(自动或按请求)

常见工具调用:

工具

使用时机

运行内容

run_staged_checks

提交前——仅更改的文件

Git 安全扫描 + 对暂存文件运行代码检查器

run_checks

完整预检检查

pytest + ruff + tsc + 自定义构建步骤

run_tests

后端/API 编辑后

执行的测试套件

run_lint

代码编辑后

配置的代码检查器(eslint、ruff、clippy)

run_typecheck

TS/React 编辑后

tsc --noEmit 或 mypy

check_git_safety

提交前

冲突标记、密钥、调试日志

suggest_fixes

当某些操作失败时

解析错误 → 为代理提供提示修复建议

get_check_status

快速回顾

上次运行结果,无需重新运行

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 钩子

方法

运行者

最适合

MCP(已连接)

聊天期间的 AI 代理

结对编程时持续验证

npx checkride-mcp check --staged

您在终端中

手动 git commit 前快速检查

npx checkride-mcp check --full

您在终端中

本地完整 CI 镜像

npx checkride-mcp init-hooks

Git 自动

即使在 Cursor/IDE 之外也阻止不良提交


公开的 MCP 工具

工具名称

描述

参数

输出模式

run_checks

运行完整验证管道,带智能 SHA-256 缓存(未更改代码时 <10ms)

project_path (字符串,可选)、bypass_cache (布尔值,可选)

{ passed, results: { test, typecheck, lint, custom }, summary, cached }

run_staged_checks

对修改/暂存的 Git 文件运行定向检查

project_path (字符串,可选)

{ passed, staged_files, safety, lint, summary }

check_git_safety

扫描文件中的冲突标记、泄露的密钥和调试日志

project_path (字符串,可选)、files (字符串[],可选)

{ passed, issues: [{ type, file, line, content, description }], scanned_files, summary }

run_security_audit

运行依赖漏洞安全审计

project_path (字符串,可选)

{ passed, vulnerabilities: { critical, high, moderate, low, total }, issues: [{ package, severity, title, url, fix_available }], summary }

suggest_fixes

生成 AI 提示建议,用于修复测试失败和 TS 错误

project_path (字符串,可选)

{ count, suggestions: [{ category, file, line, issue, hint, prompt_snippet }], summary }

export_report

将可视化 Markdown/HTML 报告导出到 .checkride/

project_path (字符串,可选)、format ("markdown" | "html",可选)

{ file_path, format, content, summary }

run_tests

仅运行测试套件

project_path (字符串,可选)、test_pattern (字符串,可选)

{ passed, output, failed_tests: string[] }

run_typecheck

运行类型检查(tsc、mypy、cargo check、go vet)

project_path (字符串,可选)

{ passed, output, errors: string[] }

run_lint

运行代码检查器(eslint、biome、ruff、clippy)

project_path (字符串,可选)、fix (布尔值,可选)

{ passed, output, issues: number }

get_check_status

检索上次检查运行的状态

无

{ last_run, passed, summary, results }


示例会话

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

重要细节

  1. Checkride 验证,您提交:Checkride 执行本地检查——它绝不会在未经您明确操作的情况下提交或推送代码。

  2. 使用您的本地环境:命令执行使用本地 node_modules、Python virtualenv 或 Docker 容器。

  3. MCP 集成:MCP 在 Cursor/AGY/Claude 内运行。不使用编辑器进行终端提交时,请使用 CLI 或 Git 钩子(init-hooks)。

  4. 重新加载 Cursor:将 Checkride 添加到 .cursor/mcp.json 或设置后,重新加载窗口,以便服务器在 设置 → 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 预提交钩子

安装本地 .git/hooks/pre-commit,以便在任何手动 git commit 之前自动运行 Checkride 检查:

npx checkride-mcp init-hooks

或者从终端手动运行暂存检查:

npx checkride-mcp check --staged

连接到 AI 代理

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 tools
check_git_safetyA

Scan target or staged files for conflict markers (<<<<<<<), hardcoded secrets/API keys, and leftover debug statements. Use before git commit.

NameRequiredDescriptionDefault
filesNoOptional array of specific file paths to scan. Defaults to all staged/modified Git files.
project_pathNoOptional target project directory path.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
formatNoReport output format ('markdown' or 'html'). Defaults to 'markdown'.
project_pathNoOptional target project directory path.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
bypass_cacheNoSet to true to force re-running all checks and bypass cached results.
project_pathNoOptional absolute or relative path to the target project directory (defaults to current working directory).

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

NameRequiredDescriptionDefault
fixNoWhether to pass auto-fix flags (--fix / --write) to the linter.
project_pathNoOptional target project directory path.

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

NameRequiredDescriptionDefault
project_pathNoOptional target project directory path.

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

NameRequiredDescriptionDefault
project_pathNoOptional target project directory path.

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

NameRequiredDescriptionDefault
project_pathNoOptional target project directory path.
test_patternNoOptional regex or filename pattern to filter executed tests.

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

NameRequiredDescriptionDefault
project_pathNoOptional target project directory path.

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

NameRequiredDescriptionDefault
project_pathNoOptional target project directory path.

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 10 tool updatesv0.5.1
    • First observedcheck_git_safety
    • First observedexport_report
    • First observedget_check_status
    • First observedrun_checks
    • First observedrun_lint
    • First observedrun_security_audit
    • First observedrun_staged_checks
    • First observedrun_tests
    • First observedrun_typecheck
    • First observedsuggest_fixes

TDQS

A3.8/5.0

Scored across 10 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    44 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    15
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    15
    MIT