Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Go code coverage analysis tool with MCP server for AI-powered coverage workflows
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。
ターミナルでこれを実行します
ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント klarlabs-studio で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.20.0)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにMCPBも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, sync. labs
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Agent-loop coverage governance for all sorts of languages — coverage your AI coding agent calls before commit, not a dashboard you read after CI.
Works with Python, TypeScript/JavaScript, Java, Rust, Go, C#, C/C++, PHP, Ruby, Swift, Dart, Scala, Elixir, and Shell — one .coverctl.yaml, one MCP surface. Not a Go cover tool.
Get started ↓ · Languages ↓ · What it looks like ↓ · MCP tools ↓ · CLI reference ↓ · Why this exists ↓ · Community ↓
*"Our AI agents ship code fast, but they're blind to coverage policy while editing. We only see breakage in CI, after context is gone, and the same agent then guesses its way to a fix."*
Same policy model on every language: auto-detect the runner, group paths into domains, enforce mins before commit. Mock-heavy or exotic layouts may need an explicit domains: block in .coverctl.yaml.
coverctl is not a Go cover CLI: it is policy + MCP over each language's native coverage runner (vs go test -cover / pytest --cov).
brew install klarlabs-studio/tap/coverctl
Wire into Claude Code (~/.config/claude-code/mcp.json):
{
"mcpServers": { "coverctl": { "command": "coverctl", "args": ["mcp", "serve"] } } }
Ask the agent: *"Run coverctl check and tell me which domains regressed."*
For Cursor / Cline / Claude Desktop / Aider / Continue / OpenCode and other MCP clients, see docs/src/content/docs/mcp.mdx. All MCP-capable clients work; coverctl mcp serve runs in agent mode by default (3 tools: check, suggest, debt). Use --mode=ci for the full nine-tool surface.
Validate the install end-to-end:
coverctl mcp doctor # PASS/FAIL per step with remediation
*Rendered for clarity — your client may format tool-calls differently.*
You: Add the email-validation feature to the api domain.
Claude: I'll add EmailValidator + tests under src/api/.
[edits: src/api/email.ts, src/api/email.test.ts]
Tool call → coverctl check Result → passed: false; failing: api (78.2%, required 80%) uncovered: src/api/email.ts:42-58 (error paths)
Tool call → coverctl suggest api Result → uncovered files: email.ts (16 lines), retry.ts (4 lines)
Two error branches in EmailValidator.validate are uncovered. I'll add cases for empty-input and malformed-domain so api meets the 80% threshold before we commit.
The regression that used to surface in CI 8 minutes later is fixed in the same agent turn.
The agent does well: reads check output verbatim, calls suggest to find uncovered files, calls debt to rank smallest fixes, re-runs check to confirm.
Watch for: agents lowering thresholds in .coverctl.yaml to "fix" a failure (it's not a fix). Agents claiming coverage rose without a new check call (hallucination). Agents ignoring rejection error_code and retrying with the same input.
coverctl returns deterministic structured signals; the agent's *fix* still needs a human reading. The full contract is in docs/src/content/docs/mcp.mdx.
AI coding agents write code blind to coverage. They edit, you commit, the regression surfaces in CI minutes or hours later — too late to course-correct in the same session. Dashboards (Codecov, Coveralls) and raw language runners (go test -cover, pytest --cov, nyc) target humans reading numbers after the fact — not agents enforcing policy mid-edit.
coverctl is built for the agent loop (and is not a replacement for Go's cover tooling):
.coverctl.yaml enforces per-domain thresholds across 15 languages. On Go repos it may *invoke* go test the way it invokes pytest elsewhere — then applies the same domain policy. Agents touch any language; coverage governance must too.The CLI and MCP server are Apache-2.0 licensed and stay free. A hosted layer for cross-repo coverage history is on the roadmap (see docs/strategy/monetization-decision.md) — additive, not a paywall.
Agent mode advertises three tools (check, suggest, debt) for reliable agent tool selection. CI mode (--mode=ci) adds the rest.
| Tool | Mode | Purpose |
|---|---|---|
check | agent + ci | Run tests with coverage and enforce policy. Returns per-domain pass/fail, files, warnings. |
suggest | agent + ci | Recommend thresholds (current / aggressive / conservative). |
debt | agent + ci | Coverage gap per domain — where to spend effort, ranked. |
init | ci | Auto-detect project structure and create .coverctl.yaml with domain policies. |
report | ci | Analyze an existing coverage profile without running tests. |
record | ci | Record current coverage to history for trend tracking. |
compare | ci | Diff two coverage profiles. Returns delta, improved/regressed files, domain changes. |
badge | ci | Generate SVG coverage badge. |
pr-comment | ci | Post coverage report to GitHub / GitLab / Bitbucket PR. |
| URI | Content |
|---|---|
coverctl://debt | Coverage debt as JSON. |
coverctl://trend | Trend over recorded history. |
coverctl://suggest | Threshold suggestions. |
coverctl://config | Detected project config. |
coverctl treats MCP traffic as untrusted in both directions, per the Lethal Trifecta threat model.
packages, tags, race, short, run, timeout) and rejects arbitrary runner testArgs so coverctl cannot be used as a generic command-execution MCP server. Dangerous flags (--rootdir, --cov-config, -D, -I, --require, --init-script, --node-options, ...) are also denied as defense in depth. Agent mode cannot select an alternate policy file, filter check to a subset of domains, narrow coverageScope (shrinking measurement can hide untested domains), skip the test run via fromProfile, or use incremental check (an empty diff auto-passes); repository .coverctl.yaml is authoritative and verification must execute tests against the full policy. Rejection responses use a stable schema with error_code and agent-actionable remediation. CLI invocations from a human terminal are not sanitized; the human is the trust boundary there.src/über.go does not collapse into another file). Control characters, backticks, and markdown metacharacters cannot render as instructions. Prevents return-trip prompt injection through a hostile PR or attacker-named test file.coverctl is local-first. The default install transmits nothing — no telemetry, no analytics, no source data. An opt-in --mcp-telemetry flag emits structured tool-call events to stderr for users who want to instrument their own pipelines (format documented in docs/design/mcp-metrics-spec.md). Adversarial + happy-path evals (85+ scenarios under internal/eval/scenarios/) gate every release on rejection-schema integrity and prompt-injection resistance.
Canonical intent: docs/strategy/system-intent.md. Full threat model + residual risk: docs/security/mcp-threat-model.md.
The CLI is the substrate behind the MCP server; humans can use it directly.
| Command | Purpose | ||
|---|---|---|---|
init / i | Interactive wizard, auto-detects language and domains. --no-interactive for CI. | ||
check / c | Run coverage and enforce policy. -o json for machine output, --fail-under N, --ratchet, --from-profile. | ||
run / r | Produce coverage artifacts without policy evaluation. | ||
watch / w | Re-run coverage on file change during development. | ||
report | Evaluate an existing profile. -o html, --uncovered, --diff , --merge . | ||
detect | Auto-detect domains and write config. --dry-run to preview. | ||
badge | SVG coverage badge. --style flat-square. | ||
compare | Diff two profiles. | ||
debt | Coverage debt report. | ||
trend | Coverage trend from recorded history. | ||
record | Append current coverage to history. --commit, --branch for CI. | ||
suggest | Threshold suggestions. --write-config to apply. | ||
pr-comment | Post coverage to GitHub/GitLab/Bitbucket PR. | ||
ignore | Show configured excludes and tracked domains. | ||
mcp serve | Start MCP server (stdio). `--mode=agent\ | ci\ | auto`. |
mcp doctor | First-run validation: PASS/FAIL per step with remediation. | ||
survey | Sean Ellis 40% PMF prompt; appends to ~/.coverctl/survey.jsonl. |
Global flags: -q/--quiet, --no-color, --ci (combines quiet + GitHub Actions annotations).
check, run, record accept toolchain flags forwarded to the underlying test runner:
| Flag | Example |
|---|---|
--tags | --tags integration,e2e |
--race | (Go race detector) |
--short | Skip long-running tests |
-v | Verbose test output |
--run | --run TestFoo |
--timeout | --timeout 30m |
--test-arg | Repeatable: --test-arg=-count=1 --test-arg=-parallel=4 |
--language / -l | Override autodetection: python, javascript, typescript, java, rust, go, csharp, cpp, php, ruby, swift, dart, scala, elixir, shell |
If you prefer running coverctl directly:
coverctl init # auto-detect language + domains, write .coverctl.yaml
coverctl check # enforce policy; exit 1 on violation coverctl suggest --strategy current coverctl record
If a step fails: coverctl detect --dry-run previews init output; coverctl check -o json surfaces structured failure detail; coverctl record --commit "$(git rev-parse HEAD)" --branch "$(git rev-parse --abbrev-ref HEAD)" provides metadata explicitly in CI.
.coverctl.yaml (schema: schemas/coverctl.schema.json):
Domains are named path groups, not language packages. match uses path globs for most languages (src/auth/**) or Go package paths when the project is Go (./internal/auth/...):
version: 1
policy: default: min: 75 domains:
冒頭だけを表示しています。続きはリポジトリで読めます