
Code Sentinel
io.github.salrad22由 GitHub 账号 salrad22 发布v0.2.6更新于 Oct 24, 2026
Code quality analysis MCP server - detects security issues, deceptive patterns, and placeholders
概览
分析源代码中的安全缺陷、隐藏错误的欺骗性模式、占位代码和代码异味,并返回结构化 JSON 或 HTML 报告。
- 可以做什么
- CodeSentinel 对你传入的代码进行基于模式的静态分析,覆盖安全、欺骗性模式、占位代码、错误和优点共 93 种模式。工具包括 analyze_code 返回完整 JSON 结果、generate_report 生成可视化 HTML 报告,以及 check_security、check_deceptive_patterns、check_placeholders、analyze_patterns 和 analyze_design_patterns。它能发现硬编码密钥、空 catch 块、掩盖错误的回退写法、TODO 占位和 linter 抑制等,也会标记良好实践。语言由文件名推断,支持 TypeScript、JavaScript、Python、Go、Rust、Java 等。
- 适用场景
- 适合在审查 AI 生成或人工编写的代码时使用,作为质量关卡,在代码进入生产前发现隐藏的失败、未完成的实现或硬编码凭据。它补充而非替代 linter 和类型检查器,因为它针对的是语义意图而非语法或风格。
- 运行要求
- 以 npm 包 code-sentinel-mcp 通过 stdio 在本地运行,通常使用 npx 或全局安装,因此需要 Node.js。未声明任何环境变量、请求头或身份验证。README 还记录了可选的 Cloudflare Workers 远程端点和自托管方式,那将需要 Cloudflare 账户和 Wrangler CLI。
安装
在 SourceWeft 中
- 打开 控制台中的 Code Sentinel,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
CodeSentinel MCP Server
A comprehensive code quality analysis server for the Model Context Protocol (MCP). CodeSentinel integrates with Claude Code and other MCP-compatible clients to detect security vulnerabilities, deceptive patterns, incomplete code, and highlight good practices.
Why CodeSentinel?
AI coding assistants can inadvertently introduce subtle issues: hardcoded secrets, empty catch blocks, TODO placeholders left behind, or patterns that hide errors. CodeSentinel acts as a quality gate, analyzing code for 93 distinct patterns across 5 categories before issues reach production.
Key differentiators:
- Verification-aware detection: Many patterns include verification steps to reduce false positives
- LLM-optimized output: Structured JSON output designed for AI consumption and action
- Balanced analysis: Detects both issues AND strengths for fair code assessment
- Multi-language support: Works with TypeScript, JavaScript, Python, Go, Rust, Java, and more
Why Not Tree-sitter or AST-Based Tools?
CodeSentinel intentionally uses a pattern-based approach rather than AST parsing. Here's why:
The Problem We Solve Is Different
Traditional linters (ESLint, tree-sitter) detect syntax errors and style violations. CodeSentinel detects semantically deceptive patterns - code that is:
- Syntactically valid (passes all linters)
- Structurally correct (valid AST)
- But hides serious issues that AI agents commonly produce
Examples AST Tools Miss
What Each Approach Detects
The Real Issue: Agent Behavior
AI coding agents produce code that looks correct but contains subtle deceptions:
- "Making the error go away" - Empty catches, silent returns, swallowed exceptions
- Placeholder implementations -
return true,return [], TODO comments - False confidence patterns -
|| []fallbacks that mask fetch failures - Suppression abuse -
@ts-ignore,eslint-disableto hide type errors
These patterns pass every linter and compile successfully. AST tools see valid structure. Only pattern-based detection catches the semantic intent behind the code.
When to Use What
CodeSentinel complements these tools - it catches what they structurally cannot.
Features
- Security Analysis (16 patterns): Hardcoded secrets, SQL injection, XSS, command injection, insecure crypto, disabled SSL, and more
- Deceptive Pattern Detection (17 patterns): Empty catch blocks, silent failures, error-hiding fallbacks, linter suppression
- Placeholder Detection (19 patterns): TODO/FIXME/HACK comments, lorem ipsum, test data, incomplete implementations
- Error & Code Smell Detection (18 patterns): Type coercion issues, null references, async anti-patterns, floating point comparison
- Strength Recognition (23 patterns): Highlights good practices like proper typing, error handling, testing patterns, documentation
- HTML Reports: Visual reports with quality scores and actionable suggestions
Installation
From npm
From source
Usage with Claude Code
Quick setup
Or if installed globally
Manual configuration
Add to your Claude Code MCP configuration file (~/.claude/claude_desktop_config.json):
Remote Server (Cloudflare Workers)
CodeSentinel is also available as a remote MCP server on Cloudflare Workers. No local installation required!
Quick connect (Claude Code)
Or use the Streamable HTTP endpoint (recommended for newer clients):
Endpoints
Self-hosting on Cloudflare
Deploy your own instance:
Requirements:
- Cloudflare account (free tier works)
- Wrangler CLI (
npm install -g wrangler) wrangler loginto authenticate
The server uses Durable Objects for persistent MCP connections. No database required.
Available Tools
analyze_code
Full analysis returning structured JSON with all issues and strengths. Best for programmatic processing.
Parameters:
code(string, required): The source code to analyzefilename(string, required): Filename for language detection (e.g., "app.ts")
Returns: JSON object with issues, strengths, and summary statistics.
generate_report
Full analysis with a visual HTML report. Best for human review.
Parameters:
code(string, required): The source code to analyzefilename(string, required): Filename for language detection
Returns: Markdown summary plus complete HTML report.
check_security
Security-focused analysis only. Use when you specifically want to audit for vulnerabilities.
Parameters:
code(string, required): The source code to checkfilename(string, required): Filename
Returns: List of security issues or confirmation of none found.
check_deceptive_patterns
Check for code patterns that hide errors or create false confidence.
Parameters:
code(string, required): The source code to checkfilename(string, required): Filename
Returns: List of deceptive patterns found.
check_placeholders
Find TODOs, dummy data, and incomplete implementations.
Parameters:
code(string, required): The source code to checkfilename(string, required): Filename
Returns: List of placeholder code found.
analyze_patterns
Analyze code for architectural, design, and implementation patterns. Detects pattern usage, inconsistencies, and provides actionable suggestions.
Parameters:
code(string, required): The source code to analyzefilename(string, required): Filename for language detectionlevel(string, optional): Pattern level to analyze:architectural: System structure patterns (layering, modules)design: Gang of Four patterns (Singleton, Factory, Observer)code: Implementation idioms (error handling, async patterns)all: All levels (default)
query(string, optional): Natural language query to focus analysis (e.g., "how is error handling done?")
Returns: LLM-optimized JSON with detected patterns, inconsistencies, suggestions, and ready-to-execute action items.
analyze_design_patterns
Focused analysis of Gang of Four (GoF) design patterns. Best for understanding OOP structure.
Parameters:
code(string, required): The source code to analyzefilename(string, required): Filename for language detection
Returns: Detected design patterns with confidence levels, locations, and implementation details.
Example Usage
Ask Claude to analyze code:
CodeSentinel will detect:
- Critical (CS-SEC003): OpenAI API key hardcoded in source
- High (CS-DEC001): Empty catch block silently swallowing errors
- Low (CS-PH001): TODO comment indicating incomplete implementation
Detection Categories
Security Issues (CS-SEC)
Deceptive Patterns (CS-DEC)
Placeholders (CS-PH)
Errors & Code Smells (CS-ERR)
Strengths (CS-STR)
Scoring Algorithm
Quality score (0-100) calculated as:
Supported Languages
CodeSentinel detects language from file extensions:
Extending CodeSentinel
CodeSentinel uses a data-driven pattern system that separates pattern definitions from regex generation. This makes adding new patterns easier and more maintainable.
Project Structure
Adding a New Pattern
Instead of writing regex manually, you define what to detect and the system generates the regex:
Available Match Types
Step-by-Step: Adding a Pattern
- Choose the category - security, deceptive, placeholder, or error
- Open the definition file -
src/patterns/definitions/<category>.ts - Add a new pattern definition using the appropriate match type
- Build -
npm run build - Test - Use the MCP inspector to verify detection
Pattern Definition Structure
Development
Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add patterns following the existing format
- Submit a pull request
License
MIT
Links
来源:README.md,提交 6fac834
工具
0版本历史
1- v0.2.6最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。