Token导航 LogoToken导航TokenDH.com
Elenchus MCP Server logo
安全风控stdio官方级别未说明来源级核验

Elenchus MCP Server

MCP Server

@modelcontextprotocol/inspector

Elenchus是一个基于模型上下文协议(MCP)的服务器,通过验证者与批评者的辩论循环实现对抗性代码验证,适用于多语言代码的安全性和正确性检查。

工具数

36

提示词数

0

GitHub Stars

4

资源数

0
安全审计TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jhlee0409

提供方

jhlee0409

最后核验

2026/5/17 20:46

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector node dist/index.js

详细介绍

Elenchus MCP服务器

英语 | 韩语

使用验证器的对抗码验证系统↔批评辩论循环

Elenchus (ἔλεγχος):苏格拉底通过系统提问进行反驳的方法——揭露矛盾以达到真理。

目录

______________________________________________________________________

概述

Elenchus是一个 模型上下文协议(MCP)服务器 实现对抗性代码验证。与简单的linting或静态分析不同,Elenchus编排了一个 验证者和批判者之间的争论 通过辩证推理系统地揭示问题。

为什么要进行对抗性验证?

传统方法Elenchus方法
单次通过分析多轮辩论
基于检查表基于意图的语义分析
固定规则自适应收敛
对干净代码保持沉默显式否定断言

验证者↔批评循环

┌──────────────────────────────────────────────────────────────┐
│                    VERIFICATION LOOP                          │
├──────────────────────────────────────────────────────────────┤
│  Round 1: Verifier → Examines code, RAISES issues            │
│  Round 2: Critic   → Challenges issues (VALID/INVALID/PARTIAL)│
│  Round 3: Verifier → Defends, resolves, or finds new issues  │
│  Round 4: Critic   → Re-evaluates, checks coverage           │
│  ...continues until convergence...                            │
│  Final: Verdict (PASS / FAIL / CONDITIONAL)                  │
└──────────────────────────────────────────────────────────────┘

______________________________________________________________________

主要特点

🔄 对抗性辩论制度

  • 验证器:查找证据问题
  • 批评家:质疑调查结果,验证索赔
  • 角色执行:与合规评分严格交替

📊 基于意图的融合

  • 语义理解而不是关键字匹配
  • 5类覆盖范围(安全性、正确性、可靠性、可维护性、性能)
  • 边缘案例文件要求
  • 对干净代码的否定断言

🧠 基于LLM的评估(可选)

  • 收敛性评估:LLM判断验证质量(与严格的布尔检查相比)
  • 严重性分类:情境感知影响分析
  • 边缘案例验证:验证实际分析,而不仅仅是关键字的存在
  • 假阳性检测:基于证据的问题验证

🔍 自动影响分析

  • 多语言依赖关系图 (通过树保姆提供15种语言)
  • 涟漪效应预测
  • 梯级深度计算
  • 风险等级评估

🌐 多语言支持

依赖性分析由树型AST解析提供支持:

类别语言
WebTypeScript、TSX、JavaScript、CSS
系统Rust、Go、C、C++
企业版Java、C#
脚本Python、Ruby、PHP、Bash、PowerShell

💾 会话管理

  • 检查点/回滚支持
  • 全局会话存储
  • 审计跟踪保存

⚡ 令牌优化(可选)

  • 差分分析(仅验证更改的代码)
  • 响应缓存
  • 选择性组块
  • 分层验证管道

______________________________________________________________________

快速开始

添加到MCP客户端配置中:

{
  "mcpServers": {
    "elenchus": {
      "command": "npx",
      "args": ["-y", "@jhlee0409/elenchus-mcp"]
    }
  }
}

然后自然地使用你的AI助手:

"Please verify src/auth for security issues"
安装 有关特定于客户端的设置说明。

______________________________________________________________________

安装

支持的客户

客户状态备注
克劳德桌面✅ 支持macOS、Windows
克劳德代码✅ 支持CLI工具
VS代码(副本)✅ 支持需要v1.102+
光标✅ 支持40刀具限制
其他MCP客户端✅ 兼容任何基于stdio的客户端

克劳德桌面版

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "elenchus": {
      "command": "npx",
      "args": ["-y", "@jhlee0409/elenchus-mcp"]
    }
  }
}

克劳德代码

添加到您的克劳德代码设置(.mcp.json~/.claude/settings.json):

{
  "mcpServers": {
    "elenchus": {
      "command": "npx",
      "args": ["-y", "@jhlee0409/elenchus-mcp"]
    }
  }
}

VS代码(GitHub副本)

增添 .vscode/mcp.json:

{
  "mcp": {
    "servers": {
      "elenchus": {
        "command": "npx",
        "args": ["-y", "@jhlee0409/elenchus-mcp"]
      }
    }
  }
}

光标

首选 设置>MCP>添加新的全局MCP服务器:

{
  "mcpServers": {
    "elenchus": {
      "command": "npx",
      "args": ["-y", "@jhlee0409/elenchus-mcp"]
    }
  }
}

______________________________________________________________________

用法

只需描述您要验证的内容:

"Verify src/auth for security vulnerabilities"
"Check the payment module for edge cases"
"Review src/api for correctness and reliability issues"

您的AI助手将自动使用Elenchus工具。

有关结构化工作流,请参见 MCP提示.

______________________________________________________________________

MCP工具参考

会话生命周期

elenchus_start_session

初始化新的验证会话。

输入:

  • target (字符串,必填):要验证的目标路径(文件或目录)
  • requirements (字符串,必填):验证要求/重点领域
  • workingDir (string,必填):相对路径的工作目录
  • maxRounds (数字,可选):停止前的最大轮次数(默认值:10)
  • verificationMode (对象,可选):模式配置

- mode: "standard" | "fast-track" | "single-pass" - skipCriticForCleanCode:boolean

  • differentialConfig (对象,可选):仅验证更改的文件
  • cacheConfig (object,可选):缓存以前的验证
  • chunkingConfig (object,可选):将大文件分割成块
  • pipelineConfig (对象,可选):分层验证
  • llmEvalConfig (对象,可选):基于LLM的评估设置

- enabled:boolean-启用LLM计算 - convergenceEval:boolean-使用LLM获得收敛质量 - severityEval:boolean-使用LLM进行严重性分类 - edgeCaseEval:boolean-使用LLM进行边缘案例验证 - falsePositiveEval:boolean-使用LLM进行误报检测

退货: 会话ID和初始上下文,包括收集的文件、依赖关系图统计数据和角色配置。

例子:

elenchus_start_session({
  target: "src/auth",
  requirements: "Security audit for authentication",
  workingDir: "/path/to/project",
  verificationMode: { mode: "fast-track" }
})

elenchus_get_context

获取当前会话上下文,包括文件、问题和主动指导。

输入:

  • sessionId (字符串,必填):会话ID

退货: 文件、问题摘要、重点领域、未审查的文件、建议。

elenchus_submit_round

提交一轮验证或批评。

输入:

  • sessionId (字符串,必填):会话ID
  • role ("verifier" | "critic",必填):本轮角色
  • output (字符串,必填):完整的代理分析输出
  • issuesRaised (Issue\[\],可选):新问题(验证人角色)
  • issuesResolved (string\[\],可选):已解决的问题ID(评论家角色)

问题架构:

{
  id: string,
  category: "SECURITY" | "CORRECTNESS" | "RELIABILITY" | "MAINTAINABILITY" | "PERFORMANCE",
  severity: "CRITICAL" | "HIGH" | "MEDIUM" | "LOW",
  summary: string,
  location: string,        // "file:line" format
  description: string,
  evidence: string         // Code snippet or proof
}

退货: 轮数、收敛状态、调解员干预、角色合规评分。

elenchus_end_session

以最终裁决结束会议。

输入:

  • sessionId (字符串,必填):会话ID
  • verdict ("PASS" | "FAIL" | "CONDITIONAL",必填):最终裁决

退货: 会议总结,包括总轮次、按类别和严重程度列出的问题。

elenchus_get_issues

查询可选筛选的问题。

输入:

  • sessionId (字符串,必填):会话ID
  • status ("all" | "unresolved" | "critical",可选):按状态筛选

退货: 与筛选器匹配的问题数组。

其他工具(31个)

除了上述核心工具外,Elenchus还为高级工作流提供了31个附加工具:

类别工具
法学硕士评估elenchus_evaluate_convergence, elenchus_evaluate_severity, elenchus_evaluate_edge_cases, elenchus_submit_llm_evaluation
国家管理elenchus_checkpoint, elenchus_rollback, elenchus_apply_fix
分析elenchus_ripple_effect, elenchus_mediator_summary
角色执行elenchus_get_role_prompt, elenchus_role_summary, elenchus_update_role_config
重新验证elenchus_start_reverification
差速器elenchus_save_baseline, elenchus_get_diff_summary, elenchus_get_project_history
缓存elenchus_get_cache_stats, elenchus_clear_cache
管道elenchus_get_pipeline_status, elenchus_escalate_tier, elenchus_complete_tier
保障措施elenchus_get_safeguards_status, elenchus_update_confidence, elenchus_record_sampling_result, elenchus_check_convergence_allowed
优化elenchus_set_compression_mode, elenchus_get_optimization_stats, elenchus_configure_optimization, elenchus_estimate_savings
动态角色elenchus_generate_roles, elenchus_set_dynamic_roles
所有工具都由MCP客户端自动发现。使用MCP检查器(npm run inspector)了解详细的模式。

______________________________________________________________________

MCP资源

通过基于URI的资源访问会话数据:

URI模式描述
elenchus://sessions/列出所有活动会话
elenchus://sessions/{sessionId}获取特定会话详细信息

用途:

Read elenchus://sessions/
Read elenchus://sessions/2026-01-17_src-auth_abc123

______________________________________________________________________

MCP提示(Slash命令)

提示名称描述
verify运行完整验证器↔批评循环
consolidate创建优先级修复计划
apply应用带有验证的修复程序
complete完整的管道,直到零问题
cross-verify对抗性交叉验证
调用格式因客户端而异。检查MCP客户的文档。

______________________________________________________________________

验证模式

针对不同用例的三种模式:

模式最小轮次需要评论最适合
standard3彻底验证
fast-track1可选快速验证
single-pass1最快,仅限验证器

例子:

elenchus_start_session({
  target: "src/",
  requirements: "Security audit",
  workingDir: "/project",
  verificationMode: {
    mode: "fast-track",
    skipCriticForCleanCode: true
  }
})

______________________________________________________________________

Issue Lifecycle

通过国家过渡的问题:

RAISED → CHALLENGED → RESOLVED
           ↓
        DISMISSED (false positive)
           ↓
        MERGED (combined)
           ↓
        SPLIT (divided)

问题国家

状态描述
RAISED最初由Verifier发现
CHALLENGED验证者和评论家之间的争论
RESOLVED已修复并验证
DISMISSED无效为假阳性
MERGED结合另一个问题
SPLIT分为多个问题

批评判决

判决含义
VALID问题是合法的
INVALID假阳性
PARTIAL部分有效,需要改进

Convergence Detection

当满足所有条件时,会话会收敛:

  • 无关键或高度严重的未解决问题
  • 稳定2轮以上(无新问题)
  • 完成的最少轮次(因模式而异)
  • 所有5个类别均已检查
  • 最近没有问题状态转换
  • 记录边缘案例
  • 明确规定的清洁区域(否定断言)
  • 审查了受影响的高风险文件

类别覆盖范围

必须检查所有5个类别:

  1. 安全 -身份验证、授权、注入
  2. 正确性 -逻辑错误、类型不匹配
  3. 可靠性 -错误处理、资源管理
  4. 可维护性 -代码结构、文档
  5. 表现 -效率、资源使用

______________________________________________________________________

令牌优化

Differential Analysis

仅验证已更改的文件:

{
  differentialConfig: {
    enabled: true,
    baseRef: "main"  // Compare against main branch
  }
}

Response Caching

缓存以前的验证结果:

{
  cacheConfig: {
    enabled: true,
    ttlSeconds: 3600  // Cache for 1 hour
  }
}

Selective Chunking

将大文件拆分为集中的块:

{
  chunkingConfig: {
    enabled: true,
    maxChunkSize: 500  // Lines per chunk
  }
}

Tiered Pipeline

从快速分析开始,必要时升级:

{
  pipelineConfig: {
    enabled: true,
    startTier: "screen"  // screen → focused → exhaustive
  }
}

______________________________________________________________________

配置

环境变量

变量描述默认值
ELENCHUS_DATA_DIR自定义存储目录~/.elenchus
XDG_DATA_HOMEXDG基本目录(Linux/macOS)-
LOCALAPPDATAWindows应用程序数据位置-

存储位置

会话和数据存储在与客户端无关的位置:

~/.elenchus/
├── sessions/          # Verification sessions
├── baselines/         # Differential analysis baselines
├── cache/             # Response cache
└── safeguards/        # Quality safeguards data

优先级顺序:

  1. $ELENCHUS_DATA_DIR -显式覆盖
  2. $XDG_DATA_HOME/elenchus -XDG规范
  3. %LOCALAPPDATA%\elenchus -窗户
  4. ~/.elenchus -默认回退

自定义存储

# Set custom location
export ELENCHUS_DATA_DIR=/path/to/custom/storage

# Or use XDG spec
export XDG_DATA_HOME=~/.local/share

会话清理

会话作为审计记录保存。手动清理:

rm -rf ~/.elenchus/sessions/*
# Or for specific sessions
rm -rf ~/.elenchus/sessions/2026-01-17_*

______________________________________________________________________

建筑

System Diagram

┌─────────────────────────────────────────────────────────────────────┐
│                       ELENCHUS MCP SERVER                            │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ┌──────────────────────────────────────────────────────────────┐  │
│  │                     MCP PROTOCOL LAYER                        │  │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────────┐ │  │
│  │  │  Tools   │  │Resources │  │ Prompts  │  │ Notifications│ │  │
│  │  │  (36)    │  │  (URI)   │  │   (5)    │  │  (optional)  │ │  │
│  │  └────┬─────┘  └────┬─────┘  └────┬─────┘  └──────────────┘ │  │
│  └───────┼─────────────┼─────────────┼──────────────────────────┘  │
│          │             │             │                              │
│  ┌───────┴─────────────┴─────────────┴──────────────────────────┐  │
│  │                       CORE MODULES                            │  │
│  │  Session Manager │ Context Manager │ Mediator System          │  │
│  │  Role Enforcement │ Issue Lifecycle │ Pipeline (Tiered)       │  │
│  └───────────────────────────────────────────────────────────────┘  │
│                              │                                       │
│                              ▼                                       │
│                    ┌──────────────────┐                             │
│                    │     STORAGE      │                             │
│                    │ ~/.elenchus/     │                             │
│                    └──────────────────┘                             │
└─────────────────────────────────────────────────────────────────────┘

模块职责

模块目的
会话管理器创建、持久化和管理验证会话
上下文管理器收集和组织目标文件和依赖关系
调解员制度多语言依赖图(树状图)、问题检测、干预
角色执行确保验证者↔批评变更,验证合规性
问题生命周期跟踪从已提出到已解决的问题状态
管道分层验证(屏幕→ 专注的→ 详尽无遗)

______________________________________________________________________

安全

安全模型

Elenchus的操作考虑了以下安全因素:

  • 无代码执行:Elenchus不会执行它验证的代码。它仅执行静态分析。
  • 本地存储:所有会话数据都存储在本地 ~/.elenchus/。没有数据发送到外部服务器。
  • 路径验证:所有文件路径都经过验证,以防止路径遍历攻击。
  • 输出中没有秘密:工具输出经过消毒,以避免暴露敏感数据。

权限

Elenchus要求:

  • 读取权限 以目标文件进行验证
  • 写入权限~/.elenchus/ 用于会话存储

报告安全问题

请通过以下方式报告安全漏洞 .

______________________________________________________________________

故障排除

常见问题

Server not found / Tools not available

症状: 您的MCP客户端无法识别Elenchus命令或工具。

解决:

  1. 在客户端的MCP设置中验证安装
  2. 添加服务器后重新启动MCP客户端
  3. 检查配置语法(JSON必须有效)
  4. 确保安装了Node.js≥18:
   node --version

Session not found

症状: 错误“找不到会话:xxx”

解决:

  1. 列出活动会话:
   Read elenchus://sessions/
  1. 会话可能已清理完毕-启动新会话
  2. 验证会话ID是否正确(检查拼写错误)

Permission denied errors

症状: 无法读取文件或写入会话。

解决:

  1. 检查目标目录上的文件权限
  2. 验证对的写入权限 ~/.elenchus/:
   ls -la ~/.elenchus/
  1. 尝试自定义存储位置:
   export ELENCHUS_DATA_DIR=/tmp/elenchus

Role compliance rejection

症状: 由于合规得分,轮次被拒绝。

解决:

  1. 检查当前角色要求:
   elenchus_get_role_prompt({ role: "verifier" })
  1. 较低的最低合规分数:
   elenchus_update_role_config({
     sessionId: "...",
     minComplianceScore: 50,
     strictMode: false
   })
  1. 确保角色交替(验证人→ 批评家→ 验证人)

调试

使用MCP检查器进行调试:

npm run inspector
# or
npx @modelcontextprotocol/inspector node dist/index.js

获取帮助

  • 问题:
  • 讨论:

______________________________________________________________________

发展

构建命令

npm run build      # Compile TypeScript to dist/
npm run dev        # Watch mode with auto-rebuild
npm run start      # Run the compiled server
npm run inspector  # Launch MCP Inspector for debugging

项目结构

elenchus-mcp/
├── src/
│   ├── index.ts           # Entry point, MCP server setup
│   ├── tools/             # Tool definitions and handlers
│   ├── resources/         # Resource definitions
│   ├── prompts/           # Prompt templates
│   ├── types/             # TypeScript interfaces
│   ├── state/             # Session and context management
│   ├── mediator/          # Multi-language dependency analysis (tree-sitter)
│   ├── roles/             # Role enforcement
│   ├── config/            # Configuration constants
│   ├── cache/             # Response caching
│   ├── chunking/          # Code chunking
│   ├── diff/              # Differential analysis
│   ├── pipeline/          # Tiered verification
│   └── safeguards/        # Quality safeguards
├── dist/                  # Compiled output
├── package.json
├── tsconfig.json
└── README.md

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 提交拉取请求

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

安全审计TypeScriptClaude代码验证本地部署对抗性分析多语言支持静态分析

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

36

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotokenlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP