Continuous Code Guardian
The Continuous Code Guardian server is an AI-powered code quality assistant that provides context packs and structured guidance for improving code quality, test coverage, documentation, and CI/CD readiness via MCP, without writing files or running tools itself. It offers a suite of tools for various IDEs:
/ca-checkit— Evidence-ranked recommendations with routing cues to other improvement tools./ca-smellit— Code smell analysis (smell scorecard) covering quality, architecture, and clean-code issues, with fix prompts./ca-testit— Unit test gap analysis (test gap scorecard) and guidance for writing/improving tests, especially for Dart/Flutter./ca-commentit— In-source comment guidance via a comment scorecard for targeted additions./ca-docit— Structured companion Markdown documentation (outline, API extract, doc drift scorecard) underdocs/./ca-coverit— Coverage readiness guidance using local coverage reports, aiming for high coverage with an 80% minimum floor./ca-sonarit— SonarQube/CI gate prep using SARIF, Sonar, GitLab, or ESLint reports for report-driven improvements./ca-aurait— Design quality assessment for Cognite Flows, with rubric scoring and design fix suggestions.
All tools support an optional focus parameter and operate in analyzer modes: none (fast, heuristic), lint (quick), or all (full suite). Polyglot support includes Go, Java, C#, Dart, C++, Scala, and others via heuristics. Integrates with Cursor IDE, VS Code, Antigravity, and Claude Code, with automatic command installation. The server only returns structured context packs; it never writes files, executes tools, or calls LLMs.
Supports C++ with light heuristics for code analysis.
Supports Dart language with named heuristics for code analysis, testing, and coverage.
Provides Flutter-specific test and coverage guidance, including detection and Flutter test/coverage advice.
Supports Scala with light heuristics for code analysis.
Provides a Sonar/CI gate-prep helper that uses local Sonar reports to analyze code quality and guide improvements.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Continuous Code Guardian run /ca-checkit on src/index.js"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Continuous Code Guardian
AI-powered continuous code assistant for Cursor IDE, VS Code, Antigravity, and Claude Code via MCP.
Overview













Focused public surface:
/ca-checkit— evidence-ranked advisor (routing_cues+ urgent|optional recommendations) → confirm subset (default prefers urgent) → run selected children (ca-auraitis never recommended; run it separately)/ca-smellit— quality-depth + architecture/clean-code prompt (rankedsmell_scorecard, severity order) → proceed → apply → post-apply ran/skipped gate (for Sonar/CI gate prep use/ca-sonarit)/ca-testit— gap scorecard → merge/append into related non-empty tests when appropriate → ran/skipped verify (≤1 fix) → conditional coverit handoff for coverage focus or local misses/ca-commentit,/ca-docit,/ca-smellit— lightweight JS/TS export, JSDoc, surface, and smell heuristics (not full AST analysis)/ca-docit— structured companion markdown (canonical outline + API extract + drift scorecard) underdocs/→ reconcile or report in sync (no comment edits)/ca-coverit— coverage readiness → local Cobertura/JSON/LCOV/Clover/Istanbul evidence when present → source-first proceed → source then tests → agent measure→iterate toward goal/ca-sonarit— Sonar/CI gate-prep helper → local SARIF/Sonar/GitLab/ESLint report evidence → source-first prompt → proceed → source then tests → optional report-driven improve→recheck (≤3 rounds; not a gate pass)/ca-aurait— Cognite Flows design-quality helper → scored prompt → confirm → apply design fixes
Related MCP server: CodeHealth MCP
Polyglot support
All context packs accept UTF-8 text source files through an open suffix matrix. Go, Java, C#, and Dart have named heuristics; C++ and Scala have light heuristics; unknown but source-like files use the other generic profile. Flutter is detected as Dart and receives Flutter test/coverage guidance. These are advisory heuristics, not compiler or language-server analysis; see the Feature 026 quickstart.
Install
For end users installing this MCP into Cursor, VS Code, Antigravity, or Claude Code (Git, PyPI/uvx, local, or binary), see INSTALLATION.md.
Contributor / local editable install:
python -m pip install -e ".[dev]"
cp guardian.config.example.yaml guardian.config.yamlRequires Python 3.12+. Optional analyzer CLIs (Ruff, ESLint, Semgrep, …) are only used when tools run with analyzer_mode=lint or all.
MCP tools
Tool (slash) | Purpose |
| Advisor: evidence-ranked plan from file cues → ask which to run (default prefers urgent) → invoke selected children; never recommends |
| Quality-depth + architecture/clean-code prompt ( |
| Gap scorecard → focused-complete unit tests → ran/skipped verify (≤1 fix); coverit handoff for coverage goals |
| Ranked |
| Structured companion markdown ( |
| Coverage readiness → aspire-high + 80% floor → proceed → source then tests → agent measure→iterate (bounded rounds; MCP does not run coverage) |
| Sonar/CI gate-prep helper (not Sonar / not gate-pass) → source-first prompt → proceed → source then tests → optional report-driven iterate (≤3 rounds; MCP does not run Sonar) |
| Flows design-quality helper → scored prompt (Q1–Q10 / 3.8+) → ask proceed → apply listed design fixes |
How to use them in Cursor, VS Code, Antigravity, or Claude Code: HOW_TO_USE_TOOLS.md.
Slash autocomplete (/ca…) is installed automatically into the workspace —
.cursor/commands/ in Cursor, .github/prompts/ in VS Code, .agent/workflows/ in
Antigravity, .claude/commands/ in Claude Code — when the MCP server starts (requires
"cwd": "${workspaceFolder}" in mcp.json, where supported). Obsolete older /ca-*
shortcut files are removed on install, independently per editor.
Configuration
See guardian.config.example.yaml. Local guardian.config.yaml and .code-guardian/
are gitignored.
smellit_max_excerpt_bytes/testit_max_excerpt_bytes/commentit_max_excerpt_bytes/docit_max_excerpt_bytes/coverit_max_excerpt_bytes/sonarit_max_excerpt_bytes/aurait_max_excerpt_bytes(default65536)coverit_max_report_bytes/sonarit_max_report_bytes(default65536);sonarit_max_related_files(default4)smellit_analyzer_mode/testit_analyzer_mode/commentit_analyzer_mode/docit_analyzer_mode/coverit_analyzer_mode/sonarit_analyzer_mode/aurait_analyzer_mode(defaultnone= fast)Optional
analyzers:toggles for whenanalyzer_modeislintorallInvalid config returns
CONFIG_INVALIDwithout leaking secrets
Validation
Commentit scorecard & proceed gate:
specs/021-commentit-scorecard-gate/quickstart.mdSonarit report-driven iterate:
specs/020-sonarit-report-iterate/quickstart.mdSmellit:
specs/016-smellit-quality-depth/quickstart.md(alsospecs/013-smellit-architecture-refactor/quickstart.md)Testit:
specs/017-testit-verify-loop/quickstart.md(alsospecs/004-testit-unit-tests/quickstart.md)Commentit / Docit split:
specs/010-commentit-docit-split/quickstart.mdCoverit iterate coverage:
specs/015-coverit-iterate-coverage/quickstart.mdCoverit max coverage:
specs/014-coverit-max-coverage/quickstart.mdCoverit / Sonarit source prep:
specs/012-coverit-sonarit-source-prep/quickstart.mdAurait:
specs/008-aurait-design-quality/quickstart.md
pytest -qSpec Kit docs
Feature 021:
specs/021-commentit-scorecard-gate/Feature 020:
specs/020-sonarit-report-iterate/Feature 017:
specs/017-testit-verify-loop/Feature 016:
specs/016-smellit-quality-depth/Feature 015:
specs/015-coverit-iterate-coverage/Feature 014:
specs/014-coverit-max-coverage/Feature 013:
specs/013-smellit-architecture-refactor/Feature 012:
specs/012-coverit-sonarit-source-prep/Feature 008:
specs/008-aurait-design-quality/Feature 007:
specs/007-coverit-coverage-prep/Feature 004:
specs/004-testit-unit-tests/Feature 003:
specs/003-smellit-cleanup-prompt/
Available Tools
8 toolsca-auraitA
Workspace design/UI context pack for Cognite Flows design-quality assessment.
Scans the workspace for design/UI-relevant files under caps — not only the open file.
Optional path prioritizes an entrypoint. Soft Flows gate: weak signals need force;
clearly non-Flows returns not_applicable.
Returns multi-file design_files, condensed rubric Q1–Q10 + 3.8+ target, guidelines_url.
Agent authors scores + fix prompt, asks proceed, applies all listed design fixes on yes.
MCP does not write files, call an LLM, or call Cognite certification APIs.
analyzer_mode: none (default, instant) | lint (quick) | all (full suite, slow).
Inputs: path, focus, force, analyzer_mode, +1 more.
ca-checkitA
Fast single-file context pack for evidence-ranked condition-check advising. Default skips heavy analyzers.
focus: optional free-form guidance (prefer/exclude tool categories; filters
primary ranked list; other strong cues → deferred_notes).
Trailing text after /ca-checkit becomes focus.
Returns recommendable_tools (never ca-aurait), related_cues, condition_hints,
routing_cues, ranked_recommendations (urgency + rationale + expected_outcome),
and deferred_notes. invented_metrics is always false.
Agent presents an evidence-ranked plan (not fixed catalog order); default subset
prefers urgent; asks proceed + subset, then may invoke selected child tools.
MCP does not write files, call an LLM, or invoke children.
analyzer_mode: none (default, instant) | lint (quick) | all (full suite, slow).
Inputs: path, focus, analyzer_mode, workspace_root.
ca-commentitA
Fast single-file context pack for scorecard-guided in-source comment authoring. Default skips heavy analyzers.
focus: optional free-form additional requests (scope, comment style, what to skip).
Echoed (redacted) in the pack for the Cursor agent. Trailing text after /ca-commentit
becomes focus.
Returns comment_scorecard (ranked gaps; invented_metrics always false) and
apply_policy (comments-only, max_actions=10, no blanket refresh). Agent plans
targeted comment edits, asks Proceed when the list is non-empty, and applies
in-source comments only — does not write companion markdown or rewrite logic.
MCP does not write files or call an LLM.
analyzer_mode: none (default, instant) | lint (quick) | all (full suite, slow).
Inputs: path, focus, analyzer_mode, workspace_root.
ca-coveritA
Fast single-file context pack for coverage-compliance / source readiness preparation.
focus: optional free-form guidance (target %, branch focus, rewrite tests).
Trailing text after /ca-coverit becomes focus. Named mid-range % = hard stop;
no focus → aspire to maximum practical line/statement coverage (100% when
achievable) with 80% minimum floor.
Returns suggested_test_path, optional coverage_report_summary and coverage_miss_cues
(Cobertura/coverage JSON/LCOV/Clover/Istanbul when locally available), measure_hints,
measure_prerequisites (with install_examples when tools/packages are missing),
target_coverage_frame, iterate_policy (bounded measure→improve after proceed;
mcp_runs_coverage is always false), apply_policy, and source_change_hints.
Coverit MCP is NOT a coverage runner — agent authors a source-first readiness
prompt, asks all-or-nothing proceed, applies listed source then tests, then the
IDE agent may run how-to-measure and iterate improve→remeasure toward the goal
(see iterate_policy). MCP does not write files, call an LLM, install packages,
or execute coverage tools. UTF-8 text source is accepted across the open language
matrix, with Go/Java/C#/Dart/Flutter measurement examples when applicable.
analyzer_mode: none (default, instant) | lint (quick) | all (full suite, slow).
Inputs: path, focus, analyzer_mode, workspace_root.
ca-docitA
Fast single-file context pack for structured companion markdown (outline + API extract + drift scorecard). Default skips heavy analyzers.
focus: optional free-form additional requests (markdown emphasis within
canonical H2s, scope, what to skip). Echoed (redacted) in the pack.
Trailing text after /ca-docit becomes focus.
Returns suggested_markdown_path (docs/ + CAPITAL basename), markdown_exists,
existing_markdown_excerpt, outline_contract (exact H2s), api_surface_extract
(public/exported only), doc_drift_scorecard (ranked staleness), invented_metrics
always false. Agent writes/reconciles companion .md or reports in sync and
skips churny rewrite; does not edit source comments. MCP does not write files
or call an LLM.
analyzer_mode: none (default, instant) | lint (quick) | all (full suite, slow).
Inputs: path, focus, analyzer_mode, workspace_root.
ca-smellitA
Current-file context pack for quality-depth + architecture-aware improvement prompts.
Packages redacted excerpt, optional findings, ranked smell_scorecard (severity + theme;
invented_metrics always false), apply_policy, and architecture_hints. Agent authors an
improvement prompt honoring scorecard ranks and severity order (correctness/safety →
clean-code/cohesion → architecture/performance); asks all-or-nothing proceed; may apply
listed splits first then primary/call-sites (soft cap: primary + ≤5 additional); after
apply should run a bounded post-apply gate (related tests + lint/typecheck when
discoverable) with explicit ran/skipped reporting and at most one fix round. For
Sonar/CI gate prep and optional report-driven iterate, use ca-sonarit instead. MCP does
not write files, call an LLM, or run the post-apply gate.
analyzer_mode: none (default, fast heuristic scorecard) | lint (quick) | all (full suite).
Inputs: path, focus, analyzer_mode, workspace_root.
ca-sonaritA
Fast primary-file context pack for SonarQube-style quality-gate preparation.
focus: optional free-form guidance (theme focus, rewrite tests, skips).
Trailing text after /ca-sonarit becomes focus.
Returns related_files, suggested_test_path, optional quality_report_summary and
quality_gap_cues (including local GitLab Code Quality/ESLint formats),
change_hints, verify_hints, prep_themes, iterate_policy, apply_policy, and
source_change_hints. Sonarit is NOT SonarQube and does NOT prove gate pass —
agent authors a source-first prep prompt, asks all-or-nothing proceed (source
edits then tests), then may run evidence-gated report-driven improve→recheck
(default max 3 rounds; pause/resume on missing tools; MCP never runs Sonar).
Not a smellit quality-depth campaign — use ca-smellit for that. MCP does not
write files, call an LLM, or run SonarQube.
analyzer_mode: none (default, instant) | lint (quick) | all (full suite, slow).
Inputs: path, focus, analyzer_mode, workspace_root.
ca-testitA
Fast single-file context pack for unit-test authoring + gap scorecard.
Packages redacted excerpt, tests_root / suggested_test_path, run_hints, and ranked
test_gap_scorecard (severity + theme; invented_metrics always false). Agent writes
tests under tests/ (merge/append an existing non-empty related suite unless focus
requests rewrite), then verifies with explicit ran/skipped reporting and at most one
fix round on listed test paths only — never edits production. Missing runner → skipped
+ hints (no pause-resume). Coverage focus or local uncovered evidence can recommend
ca-coverit. MCP does not write
files, call an LLM, or run tests. Accepts UTF-8 text source via the open language
matrix; Dart projects receive Flutter-aware guidance.
analyzer_mode: none (default, fast heuristic scorecard) | lint (quick) | all (full suite).
Inputs: path, focus, analyzer_mode, workspace_root.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Most tools have distinct purposes (design, testing, commenting, documentation, coverage, Sonar preparation), but ca-checkit's meta-tool role may be confused with analysis tools like ca-smellit or ca-sonarit. Descriptions help clarify its routing function.
All tools follow the pattern ca-[word]it (e.g., ca-checkit, ca-smellit). The naming is consistent with lowercase and hyphens, and ca-aurait is the only slight outlier but still fits the pattern.
Eight tools cover a comprehensive set of code quality activities without being excessive. Each tool serves a specific subdomain (design, smell, test, comment, doc, coverage, Sonar), and the count is well-scoped for the server's purpose.
The tool set covers design, quality, testing, commenting, documentation, coverage, and SonarQube preparation. Minor gaps like security or dependency analysis exist but are implicitly covered by ca-smellit and ca-sonarit, ensuring most workflows are supported.
Maintenance
Related MCP Connectors
AI code review for GitHub PRs with an MCP autofix loop for Claude Code and Cursor
GitHub Copilot MCP: code, repo, PR, workflow tools for AI assistants.
Multi-brand AI code review for Claude: up to 12 reviewers and a judge, no install.
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceIntegrates AI into software development workflows by providing three MCP tools: code review checklists, conventional commit message generation, and API documentation formatting from docstrings. Connects to Claude Desktop and any MCP-compatible client.-
- AlicenseAqualityAmaintenanceAI-powered codebase health analysis — detects dead code, circular dependencies, coupling issues, and architectural drift. 6 MCP tools for Claude Desktop, Cursor, Windsurf, and Slack.665 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables LLM-powered code analysis, generation, debugging, and context management through MCP integration with IDEs like Cursor and Claude Desktop.MIT
- AlicenseNot gradedqualityCmaintenanceAI code analysis tools that plug into Claude Code, Cursor, VS Code, and any MCP client, providing six specialized tools for explaining code, debugging, code review, security audit, automation script generation, and MCP blueprint design.MIT