
Codemore
io.github.abhinavteja123由 GitHub 账号 abhinavteja123 发布v0.2.8更新于 Oct 24, 2026
The static analyzer your AI agent reads — fix-ready, machine-readable scan reports over MCP.
概览
本地静态分析 MCP 服务器,扫描代码库并返回机器可读的安全与质量问题和修复建议,供助手直接处理。
- 可以做什么
- 扫描整个项目或单个文件,返回定位到文件、行、列的问题,附规则引用与严重级别
- 解释某条问题,并给出建议补丁模板与验证标准
- 通过智能体修复循环应用修复:规划、生成、验证补丁,最多重试三次
- 重新扫描并运行文件级测试以验证修复是否生效
- 可选接入 ruff、biome、bandit、gitleaks、npm-audit、pip-audit 等外部检查工具
- 适用场景
- 适合助手编写或修改代码后自查安全与质量问题,或希望以助手可直接处理的形式而非面向人的仪表盘获取扫描结果时使用。
- 运行要求
- 通过 npx 作为本地进程运行,需要 Node.js;未声明认证、环境变量或请求头。智能体修复循环需要 LLM 提供方,可通过环境变量 CODEMORE_LLM_PROVIDER 配置。外部适配器需要相应可执行文件,缺失时会静默跳过。
安装
在 SourceWeft 中
- 打开 控制台中的 Codemore,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
CodeMore
The static analyzer your AI agent reads.
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
[npm] [License: MIT] [Rules] [Adapters] [Audit] [BLOCKER TP rate]
64 native rules · 8 external adapters · CLI · MCP server · VS Code extension · GitHub Action — one report, byte-identical on every surface.
Table of contents
- Why CodeMore
- Quick start — CLI · MCP server · VS Code · GitHub Action · Hosted
- What it catches
- The report is the product
- Agentic fix loop
- Accuracy, measured honestly
- What CodeMore does not catch
- Architecture
- Development · Contributing · License
Why CodeMore
AI-assisted coding ships vulnerabilities at a measured, growing rate:
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.
Quick start
CLI
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.
MCP server — Cursor, Claude Code, Codex, Claude Desktop
Manual config snippet
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.
VS Code extension
Install CodeMore from the VS Code Marketplace (Extensions → search "CodeMore" → Install), or build the VSIX yourself:
Inline diagnostics; code-action quick-fix invokes the agentic loop (plan → generate → validate → retry, max 3 attempts).
GitHub Action
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).
Web Scanner (hosted)
Sign in at codemore.tech, paste a public GitHub URL or upload a ZIP — same report, same fingerprint, zero install.
What it catches
64 native rules across 6 packs, every rule mapped to a cited real-world incident class — not a hypothetical:
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:<tool>:<rule-id> — 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.
The report is the product
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:
One brain, four skins. The schema is the API; surfaces are interchangeable.
Full report example — codemore-report.json v1.0.0
Schema source-of-truth: shared/report/schema.json. Breaking changes bump schemaVersion major and ship a migration guide.
Agentic fix loop
apply_fix runs a four-stage loop, up to 3 retries per finding — it terminates on first PASS and never silently keeps a failing patch:
agenticFixer.ts— orchestrator; reads finding + rule citation + framework contextvalidatorHarness.ts— applies the patch in a tempdir copy, re-runs the rule, re-runs file-scoped tests, returnspass | fail+ diagnostics- LLM provider plug-ins: OpenAI · Anthropic · Gemini · local, configurable via workspace setting (VS Code) or
CODEMORE_LLM_PROVIDERenv (CLI)
Accuracy, measured honestly
Synthetic benchmarks lie; real codebases don't. Every release is audited against real projects, and the numbers are published — including the bad ones.
2026-07-07 audit (full report) — 7 codebases (Python app, 1.35M-LOC TS monorepo, polyglot Rust, synthetic ground-truth apps, self-scan): 100% of planted vulnerabilities detected, a real OpenAI key caught in a production .env, ~90% BLOCKER true-positive rate, self-scan noise reduced 85% after fixing four false-positive classes.
2026-06-12 audit (full report) — 10 real codebases, aggregate ~85% BLOCKER TP rate, above DeepSource's ≥ 75% production bar:
Per-project results
Quality gates, enforced in CI
- 100% TP / 100% FP on the 128-fixture corpus regression suite — every rule ships with at least one true-positive and one false-positive fixture under
corpus/rules/<rule-id>/{tp,fp}/ - Lifecycle gating: rules are
experimental→beta→stable, promotion requires fixture pairs plus real-world FP-rate evidence via opt-in telemetry; rules below the precision bar are gated behind--enable-experimentalor ship with reduced confidence so agents weight them lower
What CodeMore does not catch
Out of scope by design — static analysis can't judge these, and an agent can't auto-fix them from a source diff. The rule is "agent-actionable or it's not a rule":
Weak password policies · audit-log completeness · business-logic flaws · race conditions · open S3/GCS buckets · DAST findings · MFA presence.
Full list with reasoning: docs/limitations.md. For these, pair CodeMore with OWASP ZAP, Burp Suite, checkov, or your IdP's compliance dashboard.
Telemetry — opt-in only
Off by default. Enable per-scan with --telemetry. Collected: tool version, hashed project fingerprint, surface, rule-fire events. Never collected: file paths, contents, snippets, evidence text — the endpoint enforces a Zod strict() schema and rejects any payload containing those keys with HTTP 400. 64 KB payload cap, per-fingerprint rate limiting, RLS denies all reads.
Architecture
One brain (shared/), four skins (CLI, MCP, extension, Action), one report schema — kept honest by the parity test, not by a slogan.
Development
VS Code extension: F5 in VS Code, or npm run watch + code --extensionDevelopmentPath=.
Contributing
Two paths:
- New rules — read
CONTRIBUTING-RULES.md. The PR bot gates every submission: rule module + TP fixture (must fire) + FP fixture (must not fire) + docs page + pack registration. The bot is the first reviewer; humans review after it passes. - Everything else (CLI, MCP, extension, daemon, web, docs) — read
CONTRIBUTING.md.
Before opening a PR:
Found a false positive? Open a rule-FP report — FP reports directly feed the beta→stable promotion pipeline.
Security findings: do not open a public issue — use GitHub's private vulnerability reporting flow (SECURITY.md).
Roadmap
- MCP registry listing (VS Code Marketplace: live)
- Demo video: open a real vibe-coded app, scan, hand the report to Claude Code, watch every BLOCKER close
- 50-app benchmark study with published dataset — live:
benchmark/REPORT.md(40% of 50 AI-built repos had ≥ 1 BLOCKER; 24% after honest FP triage) - Telemetry-driven rule auto-demotion — live: nightly
auto-demote-rules.ymlopens a review issue when a rule's FP rate crosses 10% - JetBrains plugin · cross-language taint tracking (research)
Details: docs/roadmap.md.
License
MIT — see LICENSE. CodeMore is open source from line one and stays that way. The wedge is the report contract, not gatekeeping.
来源:README.md,提交 f1f2603
工具
0版本历史
1- v0.2.8最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分