Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
The static analyzer your AI agent reads — fix-ready, machine-readable scan reports over MCP.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"codemore": {
"command": "npx",
"args": [
"-y",
"codemore",
"serve-mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add codemore -- npx -y codemore serve-mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"codemore": {
"command": "npx",
"args": [
"-y",
"codemore",
"serve-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"codemore": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codemore",
"serve-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント abhinavteja123 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.8)がレジストリに届いたのは4 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Zoo MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
An MCP server that provides access to the Zoo API for various CAD operations and tools.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
AI agents ship code fast — and ship bugs fast. CodeMore scans the code, then hands the agent that wrote it a machine-readable report with the exact fix and the criteria to verify it. The agent closes its own findings.
Website · Docs · Rule Catalog · Report Schema · Changelog
npx codemore@latest scan .
64 native rules · 8 external adapters · CLI · MCP server · VS Code extension · GitHub Action — one report, byte-identical on every surface.
AI-assisted coding ships vulnerabilities at a measured, growing rate:
| Finding | Source |
|---|---|
| 45% of AI-generated code carries an OWASP Top-10 vulnerability | Veracode 2025/26 |
| 98% of 1,072 scanned vibe-coded sites had ≥ 1 security flaw | Symbiotic |
| 70% of audited Lovable apps shipped with Supabase RLS disabled | DEV |
| 2× baseline secret-leak rate on AI-tool-assisted commits | GitGuardian SOSS 2026 |
| 35 CVEs/month attributed to AI-generated code (was 6/month in January) | March 2026 |
Existing scanners (SonarQube, DeepSource, Snyk) target human reviewers sitting at dashboards. But this code wasn't written by a human — and the LLM that wrote it is fully capable of fixing its own bug, *if the report is shaped for a machine reader*.
That's the wedge. CodeMore is not another SAST dashboard. It's the report contract between a scanner and a coding agent: every finding carries a suggestedFix with a patch template and explicit verificationCriteria — not just "here's a problem," but "here's exactly how to know you fixed it."
The agent that wrote the bug can also write the fix — if it can read the report.
npx codemore@latest scan .
Prints a summary to the terminal. Add --json for the full report on stdout, or --out codemore-report.json to write it to disk: every finding pinned to file:line:column with rule citation, fix template, and verification criteria. Pipe it to your agent and watch findings close.
npm install -g codemore # once — or prefix each command below with `npx codemore@latest`
codemore update # global install pinned an old version? this pulls latest codemore scan . --fail-on BLOCKER # CI gate: non-zero exit on any BLOCKER codemore scan . --external-tools ruff,biome # opt in to external tools codemore scan . --external-tools all # ruff · golangci-lint · clippy · biome · bandit · gitleaks · npm-audit · pip-audit codemore scan . --format sarif --out codemore.sarif # GitHub code scanning (upload-sarif) codemore fix . --rule --write # agentic fix loop from the CLI (needs an LLM API key) codemore baseline create # adopt on an existing repo without drowning in legacy findings
npx codemore mcp # print config snippet + every client's config path
npx codemore mcp install --client cursor # merge into existing config (backs up first, --dry-run supported)
Manual config snippet
{
"mcpServers": { "codemore": { "command": "npx", "args": ["-y", "codemore@latest", "serve-mcp"] } } }
Six tools exposed: scan_project · scan_file · explain_issue · suggest_fix · apply_fix · validate_fix.
Per-client setup, exact config paths, and verified handshake evidence (Claude Code, Cursor, Claude Desktop, Codex CLI): docs/ide-matrix.md.
Install CodeMore from the VS Code Marketplace (Extensions → search "CodeMore" → Install), or build the VSIX yourself:
npm run vsce:package # builds codemore-<version>.vsix
code --install-extension codemore- .vsix
Inline diagnostics; code-action quick-fix invokes the agentic loop (plan → generate → validate → retry, max 3 attempts).
# .github/workflows/codemore.yml
on: pull_request: branches: [main] jobs: scan: runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps:
PR-comment bot; only fails the build on findings new since the committed .codemore-baseline.json. A full copy-paste security gate chaining CodeMore + Ruff + Biome + Bandit + Gitleaks + npm-audit + pip-audit + Checkov lives at templates/.github/workflows/codemore-security-gate.yml (walkthrough).
Sign in at codemore.tech, paste a public GitHub URL or upload a ZIP — same report, same fingerprint, zero install.
64 native rules across 6 packs, every rule mapped to a *cited real-world incident class* — not a hypothetical:
| Pack | Rules | Highlights |
|---|---|---|
core-security | 22 | SQL injection (concat), path traversal, weak crypto, insecure deserialization, eval, shell injection, TLS-off, hardcoded secret patterns, hardcoded passwords (B105-class), SSRF, secret-in-log, LLM-output → eval/exec/SQL sinks, prompt-injection sinks, DB write-without-WHERE, hallucinated imports |
core-quality | 21 | Unused vars/imports/exports, cyclomatic complexity, dead conditionals, leftover console/prints, async-without-await, unreachable code, loose equality, as any, non-null-assertion abuse |
vibe-frontend | 9 | XSS (dangerouslySetInnerHTML), CORS-with-credentials, missing rate limit, missing cookie flags, file-upload validation, missing input validation — CORS, cookie flags and input validation each in TS + Python (Flask/FastAPI) form |
vibe-secrets | 4 | Public env leaks (NEXT_PUBLIC_* / VITE_* / REACT_APP_*), hardcoded JWTs, MCP config secrets, CI/CD YAML secrets |
vibe-auth | 5 | BOLA (TS + Python), missing session/auth checks (TS + Python), inverted auth |
vibe-supabase | 3 | RLS-off, RLS-permissive (USING (true)), anon-key bundled to client |
8 external adapters (off by default, opt in via --external-tools): ruff · golangci-lint · clippy · biome · bandit · gitleaks · npm-audit · pip-audit. Findings are namespaced ext: : — no collision with native rules; a missing binary skips silently instead of crashing.
The walker catches what `.gitignore` hides. When a developer "hides" a leaked secret file by gitignoring it, most scanners stop seeing it — but it's still on disk, in tarballs, in Docker images. CodeMore always scans secret-shaped filenames (.env*, *.pem, *.key, firebase-adminsdk*.json, credentials.json, .npmrc, .pypirc, …) even when gitignored. This is exactly how the audits found real production OpenAI keys, Google API keys, and Firebase admin SDK creds that other tools silently missed. Opt out with --respect-gitignore-fully.
Per-rule documentation: docs/rules — 64 pages, one per rule.
Every surface emits the same schema-stable codemore-report.json — verified byte-identical (modulo timestamps and instance IDs) on every release by test/parity.test.ts:
CLI : issues=224 BLOCKER=5 fingerprint=sha256:7f95f2c62e0d3ecea6f23…
MCP : issues=224 BLOCKER=5 fingerprint=sha256:7f95f2c62e0d3ecea6f23… Daemon : issues=224 BLOCKER=5 fingerprint=sha256:7f95f2c62e0d3ecea6f23…
One brain, four skins. The schema is the API; surfaces are interchangeable.
Full report example — codemore-report.json v1.0.0
{
"schemaVersion": "1.0.0", "tool": { "name": "codemore", "version": "0.3.0" }, "project": { "root": ".", "framework": "next.js", "language": "typescript", "fingerprint": "sha256:7f95f2c62e0d3ecea6f23…" }, "summary": { "issuesTotal": 42, "bySeverity": { "BLOCKER": 2, "CRITICAL": 5, "MAJOR": 15, "MINOR": 18, "INFO": 2 }, "byCategory": { "security": 12, "bug": 7, "…": "…" }, "filesAnalyzed": 87, "linesOfCode": 12450, "technicalDebtMinutes": 1840 }, "issues": [ { "id": "vibe-supabase-rls-disabled", "ruleVersion": "1.2.0", "instanceId": "01HZ…", "severity": "BLOCKER", "confidence": 0.95, "category": "security", "title": "Supabase table has no RLS policy", "evidence": { "file": "supabase/migrations/001_init.sql", "line": 14, "column": 1, "endLine": 14, "endColumn": 60, "snippet": "create table profiles (id uuid primary key, …);", "matchedPattern": "create-table-without-rls" }, "whyItMatters": "Public Supabase client can read/write all rows. 70 % of Lovable apps leak data through this.", "citation": "https://codemore.tech/rules/vibe-supabase-rls-disabled", "suggestedFix": { "type": "code-patch", "instructions": "Add ALTER TABLE profiles ENABLE ROW LEVEL SECURITY; plus at least one policy scoped to authenticated users.", "patchTemplate": "…", "verificationCriteria": [ "Migration contains ALTER TABLE … ENABLE ROW LEVEL SECURITY", "At least one CREATE POLICY exists for the table", "Re-scan no longer reports vibe-supabase-rls-disabled for this file" ] }, "suppression": { "available": true, "directive": "// codemore-ignore: vibe-supabase-rls-disabled", "scope": "same-line | next-line | file" } } ], "agentInstructions": { "preamble": "You are fixing issues found by CodeMore. Apply patches one issue at a time. After each, request re-scan via validate_fix.", "orderingHint": "blockers → criticals → majors", "doNotTouch": ["node_modules/**", "*.lock", ".env*"], "stopOn": "first-validator-failure" }, "meta": { "rulesEnabled": 64, "packsLoaded":
冒頭だけを表示しています。続きはリポジトリで読めます