Token导航 LogoToken导航TokenDH.com
Tetrad (Samora Dc) logo
开发工具stdio官方级别未说明来源级核验

Tetrad (Samora Dc)

MCP Server

@samoradc/tetrad

Tetrad是一个高性能的MCP服务器,通过四重共识协议(Codex、Gemini CLI、Qwen和Claude Code)验证AI生成的代码,适用于代码质量控制和团队协作开发场景。

工具数

6

提示词数

0

GitHub Stars

1

资源数

0
开发工具RustClaudeClaude

安装说明

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

作者 / 组织

SamoraDC

提供方

SamoraDC

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

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

命令预览

npx @samoradc/tetrad init

详细介绍

四分体

![CI](https://github.com/SamoraDC/Tetrad/actions/workflows/ci.yml) ![MCP Registry](https://registry.modelcontextprotocol.io/) ](https://www.npmjs.com/package/@samoradc/tetrad) ![Crates.io](https://crates.io/crates/tetrad) ![Rust](https://www.rust-lang.org/) ![License: MIT](https://opensource.org/licenses/MIT)

Claude代码的四重共识MCP服务器

四分体 是一个用Rust编写的高性能MCP(模型上下文协议)服务器,它编排了三个AI驱动的CLI代码评估工具(Codex、Gemini CLI、Qwen)来验证Claude code生成的所有代码。

该系统实现了 四重共识协议 未经四个情报部门批准,不得接受任何代码或计划:三个外部评估人员+克劳德代码本身。

特性

  • 四方共识:4个AI模型必须同意批准代码
  • 合理化银行:带RETRIEVE的持续学习系统→JUDGE→蒸馏→合并周期
  • 高性能:用Rust编写,通过Tokio并行执行
  • MCP 服务器:JSON-RPC 2.0服务器通过stdio进行克劳德代码集成
  • 完整CLI:直观的命令(init, serve, status, doctor, config等等)
  • LRU缓存:具有可配置TTL的结果缓存
  • 钉钩系统:用于定制的评估前/评估后回调
  • 可扩展:自定义执行器插件系统
  • 交叉会议:SQLite模式和历史的持久性

快速开始

1.安装Tetrad

# Via npm (recommended - works seamlessly with Claude Code)
npm install -g @samoradc/tetrad

# Or via cargo (requires additional setup)
cargo install tetrad
sudo cp ~/.cargo/bin/tetrad /usr/local/bin/

1.1在项目中初始化(可选)

npx @samoradc/tetrad init

这将:

  • 创建 tetrad.toml 配置文件
  • 创建 .tetrad/ 数据库的目录
  • 添加 .tetrad/ 给你的 .gitignore

2.安装和配置外部CLI工具

Tetrad至少需要以下AI CLI工具之一。 好消息:如果您已有订阅,则不需要单独的API密钥!

Codex CLI(OpenAI)

npm install -g @openai/codex

身份验证选项:

方法要求是否需要API密钥?
ChatGPT登录ChatGPT Plus、Pro、Business、Edu或Enterprise订阅
API密钥有信用的OpenAI API帐户
# Option 1: Login with your ChatGPT subscription (recommended)
codex login
# Opens browser for OAuth - follow the prompts

# Option 2: Use API key
export OPENAI_API_KEY="your-openai-key"
注: 对于无头/远程服务器,请使用 codex login --device-auth 并遵循设备代码流。

📖 Codex CLI身份验证文档

______________________________________________________________________

Gemini CLI(谷歌)

npm install -g @google/gemini-cli

身份验证选项:

方法要求是否需要API密钥?免费等级
Google登录个人Google帐户60次/分钟,1000次/天
API密钥Google AI Studio帐户相同限制
# Option 1: Login with Google account (recommended)
gemini auth login
# Opens browser for OAuth - follow the prompts

# Option 2: Use API key from Google AI Studio
export GEMINI_API_KEY="your-gemini-key"
免费等级: 使用个人谷歌帐户,您可以免费访问Gemini 2.5 Pro的1M令牌上下文窗口!

📖 Gemini CLI身份验证文档

______________________________________________________________________

Qwen CLI(阿里巴巴)

npm install -g qwen-code

身份验证选项:

方法要求是否需要API密钥?免费等级
DashScope API阿里云帐户需要2000次/天
编码计划Qwen编码订阅是(不同格式)已包含
# Get your API key from DashScope console
export DASHSCOPE_API_KEY="your-dashscope-key"

# For international users (outside China)
export OPENAI_BASE_URL="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
区域终点: - 新加坡: dashscope-intl.aliyuncs.com - 弗吉尼亚州: dashscope-us.aliyuncs.com - 北京: dashscope.aliyuncs.com

📖 Qwen API文档

3.验证安装

# Check Tetrad version
tetrad version

# Check CLI availability
tetrad status

# Diagnose any issues
tetrad doctor

4.添加到克劳德代码CLI

# Add Tetrad as MCP server (all projects)
claude mcp add --scope user tetrad -- npx @samoradc/tetrad serve

# Verify it's configured
claude mcp list

Alternative installation methods

# Current project only
claude mcp add tetrad -- npx @samoradc/tetrad serve

# If installed via cargo
claude mcp add --scope user tetrad -- tetrad serve
注: Tetrad发表在 MCP注册表 用于可发现性和文档记录。

5.替代方案:手动配置

创建或编辑 .mcp.json 在项目根目录中:

{
  "mcpServers": {
    "tetrad": {
      "type": "stdio",
      "command": "npx",
      "args": ["@samoradc/tetrad", "serve"],
      "env": {
        "OPENAI_API_KEY": "${OPENAI_API_KEY}",
        "GOOGLE_API_KEY": "${GOOGLE_API_KEY}",
        "DASHSCOPE_API_KEY": "${DASHSCOPE_API_KEY}"
      }
    }
  }
}

或者用于全局用户配置 ~/.claude.json (mcpServers部分):

{
  "mcpServers": {
    "tetrad": {
      "type": "stdio",
      "command": "npx",
      "args": ["@samoradc/tetrad", "serve"]
    }
  }
}

运作原理

当你要求Claude Code编写代码时,Tetrad会自动验证它:

You: "Create a function in Rust that calculates the average of a vector"

Claude Code:
1. Writes the code
2. Calls tetrad_review_code automatically
3. Tetrad sends to Codex, Gemini and Qwen for evaluation
4. Returns consolidated consensus from all 3 evaluators

Tetrad Response:
┌─────────────────────────────────────────────┐
│ DECISION: PASS ✓                            │
│ Score: 92/100                               │
│ Consensus: Yes (3/3 approved)               │
│                                             │
│ Votes:                                      │
│   • Codex:  Pass (95)                       │
│   • Gemini: Pass (90)                       │
│   • Qwen:   Pass (92)                       │
│                                             │
│ Suggestions:                                │
│   - Consider handling empty vector case     │
└─────────────────────────────────────────────┘

Claude Code: Saves the approved code

发现问题时:

Tetrad Response:
┌─────────────────────────────────────────────┐
│ DECISION: BLOCK ✗                           │
│ Score: 26/100                               │
│ Consensus: Yes (3/3 rejected)               │
│                                             │
│ Votes:                                      │
│   • Codex:  Fail (30) - division by zero    │
│   • Gemini: Fail (25) - no error handling   │
│   • Qwen:   Fail (25) - unsafe operation    │
│                                             │
│ Issues:                                     │
│   - Division by zero not handled            │
│   - Missing input validation                │
│   - No Result/Option return type            │
└─────────────────────────────────────────────┘

Claude Code: Fixes the code and resubmits

CLI命令

tetrad - Quadruple Consensus CLI for Claude Code

COMMANDS:
    init              Initialize configuration in current directory
    serve             Start the MCP server (used by Claude Code)
    status            Show CLI status (codex, gemini, qwen)
    config            Configure options interactively
    doctor            Diagnose configuration issues
    version           Show version
    evaluate          Evaluate code manually (without MCP)
    history           Show evaluation history from ReasoningBank
    export            Export patterns from ReasoningBank
    import            Import patterns into ReasoningBank

OPTIONS:
    -c, --config     Configuration file (default: tetrad.toml)
    -v, --verbose          Verbose mode
    -q, --quiet            Quiet mode
    -h, --help             Show help

MCP工具

当作为MCP服务器运行时,Tetrad公开了6个工具:

工具说明
tetrad_review_plan编码前审查实施计划
tetrad_review_code保存前检查代码
tetrad_review_tests在最终确定之前审查测试
tetrad_confirm确认与收到的反馈一致
tetrad_final_check提交前的最终验证
tetrad_status检查评估人员的健康状况

工作流示例

1. Claude Code generates plan → tetrad_review_plan → Feedback
2. Claude Code implements   → tetrad_review_code → Feedback
3. Claude Code adjusts      → tetrad_confirm     → Confirmation
4. Claude Code finalizes    → tetrad_final_check → Certificate

建筑

Claude Code → MCP Protocol (stdio) → Tetrad Server (Rust)
                                          │
                    ┌─────────────────────┼─────────────────────┐
                    ▼                     ▼                     ▼
              Codex CLI            Gemini CLI              Qwen CLI
              (syntax)            (architecture)           (logic)
                    │                     │                     │
                    └─────────────────────┼─────────────────────┘
                                          ▼
                                  Consensus Engine
                                          │
                            ┌─────────────┴─────────────┐
                            ▼                           ▼
                      LRU Cache                  ReasoningBank
                      (results)                    (SQLite)
                                    RETRIEVE→JUDGE→DISTILL→CONSOLIDATE

执行者专业化

执行器命令行界面专业化
法典codex exec --json语法和代码约定
双子座gemini -o json建筑与设计
通义qwen逻辑错误和正确性

协商一致规则

规则要求用例
一致性(3/3)关键代码,安全性
强壮的高置信度的3/3或2/3默认值
虚弱简单多数(2/3)快速原型制作

合理化银行

ReasoningBank是一个持续学习系统,用于存储和整合代码模式:

学习周期

RETRIEVE → JUDGE → DISTILL → CONSOLIDATE
    │         │        │           │
    │         │        │           └─ Merge similar patterns
    │         │        └─ Extract new patterns
    │         └─ Evaluate code with context
    └─ Search for relevant patterns

图案类型

  • 反模式:要避免的模式(bug、漏洞、代码异味)
  • 好图案:要遵循的模式(最佳实践、惯用模式)
  • 模糊的:分类不确定的模式(需要更多数据)

合理化银行指令

# View evaluation history
tetrad history --limit 50

# Export patterns to share
tetrad export -o team-patterns.json

# Import patterns from another ReasoningBank
tetrad import team-patterns.json

配置

tetrad.toml 文件是通过以下方式自动创建的 tetrad init:

[general]
log_level = "info"
timeout_secs = 60

[executors.codex]
enabled = true
command = "codex"
args = ["exec", "--json"]
timeout_secs = 30

[executors.gemini]
enabled = true
command = "gemini"
args = ["-o", "json"]
timeout_secs = 30

[executors.qwen]
enabled = true
command = "qwen"
args = []
timeout_secs = 30

[consensus]
default_rule = "strong"
min_score = 70
max_loops = 3

[reasoning]
enabled = true
db_path = ".tetrad/tetrad.db"
max_patterns_per_query = 10
consolidation_interval = 100

[cache]
enabled = true
capacity = 1000
ttl_secs = 300

交互式配置

使用 tetrad config 对于交互式配置:

🔧 Tetrad Interactive Configuration

What would you like to configure?
❯ General Settings
  Executors (Codex, Gemini, Qwen)
  Consensus
  ReasoningBank
  Save and Exit
  Exit without Saving

LRU缓存

该系统包括一个LRU缓存,以避免不必要的重新评估:

  • 容量:可配置(默认值:1000条)
  • 生存时间:可配置生存时间(默认值:5分钟)
  • 钥匙:代码哈希+语言+求值类型
  • 失效:TTL自动或手动

钉钩系统

钩子允许在特定点自定义行为:

挂钩何时使用
pre_evaluate评估前修改请求,跳过评估
post_evaluate评估后记录、指标、通知
on_consensus达成共识时批准后的自动操作
on_block代码被阻止时警报,自动回滚

内置挂钩

  • 记录挂钩:记录所有评估
  • Metrics挂钩:收集使用统计数据

项目结构

tetrad/
├── Cargo.toml              # Crate manifest
├── CLAUDE.md               # Documentation for Claude Code
├── README.md               # This file
├── Tetrad.md               # Complete specification
├── src/
│   ├── main.rs             # Entry point (CLI)
│   ├── lib.rs              # Exportable library
│   ├── cli/
│   │   ├── mod.rs          # CLI definition with clap
│   │   ├── commands.rs     # Command implementations
│   │   └── interactive.rs  # Interactive configuration (dialoguer)
│   ├── executors/
│   │   ├── mod.rs
│   │   ├── base.rs         # CliExecutor trait
│   │   ├── codex.rs        # Codex executor
│   │   ├── gemini.rs       # Gemini executor
│   │   └── qwen.rs         # Qwen executor
│   ├── types/
│   │   ├── mod.rs
│   │   ├── config.rs       # TOML configuration
│   │   ├── errors.rs       # TetradError/TetradResult
│   │   ├── requests.rs     # EvaluationRequest
│   │   └── responses.rs    # EvaluationResult, ModelVote
│   ├── consensus/
│   │   ├── mod.rs          # Exports
│   │   ├── engine.rs       # ConsensusEngine
│   │   ├── aggregator.rs   # Vote aggregation
│   │   └── rules.rs        # Voting rules
│   ├── reasoning/
│   │   ├── mod.rs          # Exports
│   │   ├── bank.rs         # ReasoningBank
│   │   ├── patterns.rs     # Pattern types
│   │   ├── sqlite.rs       # SQLite storage
│   │   └── export.rs       # Import/Export
│   ├── mcp/
│   │   ├── mod.rs          # Exports
│   │   ├── server.rs       # MCP server
│   │   ├── protocol.rs     # JSON-RPC types
│   │   ├── tools.rs        # Tool handlers
│   │   └── transport.rs    # Stdio transport
│   ├── cache/
│   │   ├── mod.rs          # Exports
│   │   └── lru.rs          # LRU cache
│   └── hooks/
│       ├── mod.rs          # Hook trait and HookSystem
│       └── builtin.rs      # Default hooks
└── tests/
    ├── cli_integration.rs
    ├── consensus_integration.rs
    ├── mcp_integration.rs
    └── reasoning_integration.rs

发展

# Build
cargo build
cargo build --release

# Tests
cargo test                          # All tests
cargo test --lib                    # Unit tests only
cargo test --tests                  # Integration tests only

# Lint
cargo clippy --all-targets --all-features -- -D warnings

# Format
cargo fmt
cargo fmt --check

# Documentation
cargo doc --open

# Run CLI
cargo run -- status
cargo run -- doctor
cargo run -- version
cargo run -- config

故障排除

“未找到CLI”

# Check if CLIs are in PATH
which codex
which gemini
which qwen

# Check configuration
tetrad doctor

“stdin不是终端”(Codex)

确保你的配置使用 exec --json:

[executors.codex]
args = ["exec", "--json"]

“响应不包含有效的JSON”(Gemini)

确保你的配置使用 -o json:

[executors.gemini]
args = ["-o", "json"]

检查克劳德代码中的MCP状态

在Claude Code内部,运行:

/mcp

先决条件

要使用Tetrad,您需要安装并验证至少一个AI CLI:

CLI安装在没有API密钥的情况下进行身份验证?免费等级
Codex CLInpm i -g @openai/codex✅ ChatGPT Plus/Pro/Business通过订阅
Gemini CLInpm i -g @google/gemini-cli✅ 谷歌账号每天1000个请求
Qwen CLInpm i -g qwen-code❌ 需要DashScope密钥每天需要2000个

通过以下方式查看可用性:

tetrad status
tetrad doctor

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

麻省理工学院

作者

SamoraDC

______________________________________________________________________

链接:

-

目录标签

目录标签

开发工具RustClaude代码验证本地部署AI协作质量保证Rust高性能

支持客户端

Claude

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@samoradc/tetrad

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP