
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 分
請在儲存庫或註冊中心條目中宣告授權條款。