mcpField
T
T1/T2 Protocol

T1/T2 Protocol

本地服务
registry.modelcontextprotocol.ioAI 与智能体019 周前更新

关于 T1/T2 Protocol

T1/T2 Protocol 是仅依赖 Python 标准库的参考 MCP 服务,用于结构化推理和异质验证,面向需要问题拆解、跨模型评估与确定性检查的 MCP 主机。项目明确说明它不是生产级安全产品。

主要功能

  1. 01将问题拆分为四个层级
  2. 02生成跨模型评估提示词
  3. 03确定性检查答案结构
  4. 04设置评估语言和权重
  5. 05限制 T2 递归评估

适用场景

  1. 01梳理含糊的决策问题
  2. 02用另一模型审阅答案草稿
  3. 03复用前检查结构化输出

MCP 相关

通过 stdio 上的 JSON-RPC 暴露 t1_protocol、t2_protocol 和 checksum 工具。前两者向主机 LLM 返回提示词模板;checksum 返回确定性的校验结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"fauxetine-t1-t2-protocol": {
"command": "uvx",
"args": [
"t1-t2-protocol"
]
}
}
}
启动命令uvx t1-t2-protocol

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypit1-t2-protocol0.1.1

工具

3

收录的工具列表 · 更新于 3 周前

参数类型必填说明
localestring否输出语言:'en'(默认)或 'zh'
questionstring是要翻译的原始问题
weight_hintstring否可选的评估权重提示。英语:fact-first、efficiency-first、cost-first、robustness-first、general-first。中文:事实优先、效率优先、成本优先、鲁棒性优先、通用优先。

详细介绍

Python 3.10+ PyPI CI License: Apache 2.0 MCP MCP Registry

T1/T2 Protocol — 面向 MCP 的异构验证

中文文档 · MCP Registry 条目 (io.github.Fauxetine/t1-t2-protocol)

参考实现。 这是一个用于结构化推理规范的仅依赖标准库的 MCP 参考服务,并非生产级安全产品。在敏感环境中部署前,请评估你自己的威胁模型。与官方 Python MCP 服务不同,它不使用 mcp SDK;而是直接通过 stdio 进行 JSON-RPC 通信。

T1/T2 是一个 MCP 服务,可让 AI 推理变得可验证、可审计且可信——它先将模糊问题拆解为结构化层级(T1),再通过跨模型评估验证答案(T2),并配备不依赖任何大模型的确定性校验和层。

为什么?

当大模型检查自己的答案时,它使用的是相同的训练数据、相同的推理偏好和相同的系统性偏见。自我反思无法发现自身的盲点。

T1/T2 引入了异构验证:生成答案的模型与评估答案的模型应该不同。它们不同的训练分布可以互相弥补各自的盲点。

工具

工具功能重要性
t1_protocol将模糊问题拆解为 L1(事实)/L2(假设)/L3(假说)/L4(未知项)在回答前强制进行结构化推理
t2_protocol从另一个模型的视角评估答案质量(定性五级置信度)发现自我反思无法察觉的盲点
checksum确定性结构验证——纯正则表达式,不依赖大模型安全性不随智能水平而变化

工具如何返回数据: t1_protocol 和 t2_protocol 会返回结构化提示词模板,供 MCP 宿主的大模型执行。只有 checksum 会返回确定性 JSON(checksum_passed、errors)。

工具输入(MCP 架构)
t1_protocol
输入类型必填描述
questionstring是要拆解的模糊问题
localestring否en(默认)或 zh
weight_hintstring否fact-first、efficiency-first、cost-first、robustness-first、general-first(或对应的中文选项)
t2_protocol
输入类型必填描述
answerstring是要评估的文本(通常是宿主大模型的答案草稿)
localestring否en(默认)或 zh
weight_hintstring否与 t1_protocol 相同的选项
checksum
输入类型必填描述
textstring是要验证的结构化答案文本

返回 JSON:{"checksum_passed": bool, "errors": [...]}。

快速开始

要求
安装

从 PyPI 安装(推荐):

pip install "t1-t2-protocol>=0.1.0"

从源码安装(开发用途):

git clone https://github.com/Fauxetine/t1-t2-protocol.git
cd t1-t2-protocol
pip install -e ".[dev]"
T1T2_DISABLE_COUNTERS=1 python -m pytest tests/ -v

或者无需安装,直接运行:

python src/t1_t2_mcp_server.py   # Windows
python3 src/t1_t2_mcp_server.py  # macOS / Linux
配置

pip install 后,在 MCP 配置中使用控制台脚本(推荐):

{
  "mcpServers": {
    "t1-t2-protocol": {
      "type": "stdio",
      "command": "t1-t2-protocol"
    }
  }
}

Cursor — .cursor/mcp.json(与上文相同)。

Claude Desktop — claude_desktop_config.json:

{
  "mcpServers": {
    "t1-t2-protocol": {
      "command": "t1-t2-protocol"
    }
  }
}

从源代码运行(无需 pip install) — 指向脚本:

{
  "mcpServers": {
    "t1-t2-protocol": {
      "type": "stdio",
      "command": "python",
      "args": ["C:/path/to/t1-t2-protocol/src/t1_t2_mcp_server.py"]
    }
  }
}

在 macOS/Linux 上,请使用 "command": "python3" 替代 "python"。

验证是否正常运行
  1. 编辑配置后,重启或重新加载 MCP 宿主。
  2. 确认出现三个工具:t1_protocol、t2_protocol、checksum。
  3. 使用 {"question": "Should we adopt microservices?", "locale": "en"} 调用 t1_protocol — 你应该会收到结构化的 T1 提示词模板。
  4. 使用示例 [L1 Facts] … --- 文本调用 checksum — 你应该会收到包含 checksum_passed 的 JSON。

用法

T1:梳理模糊问题

使用你的问题调用 t1_protocol。宿主 LLM 会收到包含四个层级的结构化提示词模板:

Input:  {"question": "Should we migrate our monolith to microservices?"}

Output: Prompt template instructing the host to produce:
  [L1 Facts]      Team size, codebase size, current stack
  [L2 Assumptions] Expected benefits that need verification
  [L3 Hypotheses] Testable claims about migration risk
  [L4 Unknown]    Future growth trajectory
  [Core Question] The precise feasibility question
T2:交叉验证决策

使用决策或答案文本调用 t2_protocol。它会返回供宿主 LLM 使用的评估提示词:

Input:  {"answer": "Decision text for approach A..."}

Output: Prompt template requesting:
  Confidence: high | medium-high | medium | medium-low | low
  Adoption table with:
    ✅ Adopt     — verified conclusions (L1)
    ⚠️ Reserved — needs more evidence (L2)
    ❌ N/A      — blind spots to address
checksum:验证输出结构

使用结构化文本调用 checksum。它会根据确定性规则返回通过/失败结果:

Input: "[L1 Facts]\n1. ...\n[L2 Assumptions]\n1. ...\n---"
Output: {"checksum_passed": true, "errors": []}
完整工作流
Vague question → T1 structured decomposition → Decision based on structure → checksum (optional) → T2 validation → Refined decision

对于有时效性的事实主张,请在调用方一侧先进行搜索,再执行 T2 — 参见调用方侧网页验证(v2.6)。

配置

语言

t1_protocol 和 t2_protocol 都接受可选的 locale 参数:

值输出
en(默认)英文模板
zh中文模板

示例:{"question": "...", "locale": "zh"}

权重提示

t1_protocol 和 t2_protocol 都接受可选的 weight_hint 参数,用于调整评估标准的权重:

权重效果
事实优先 / fact-first优先考虑事实准确性
效率优先 / efficiency-first优先考虑效率
成本优先 / cost-first优先考虑成本
鲁棒性优先 / robustness-first优先考虑鲁棒性
通用优先 / general-first不设置特定偏向
递归保护

T2 会自动检测递归深度,并在深度 >= 3 时终止,因为此时边际信息增益会降至 5% 以下。

设计理念

完整的设计原理请参阅 docs/philosophy.md。

核心原则:

  1. 将智能与信任分离 — AI 能力和 AI 安全应由不同系统保障
  2. 异构优于自我指涉 — 跨模型验证比自我反思更可靠
  3. 确定性优于概率性 — 能通过代码检查的内容,不应交由模型判断

示例

分步演示请参阅 examples/:

定位

项目层级功能与 T1/T2 的关系
Sequential Thinking(官方 MCP)调用方侧思维链一个模型记录迭代步骤互补——T1 增加 L1–L4 层级,T2 进行跨模型审查
ThoughtProof / verdict APIs服务端验证返回带置信度的 APPROVE/DENY/UNCERTAIN互补——T1/T2 在 verdict APIs 执行操作前构建推理结构
自我反思 / 提示词链同一模型重新读取或重新提示自身输出已被取代——异构验证可以发现共同盲点
工具完整性(例如 Phionyx)传输 / 工具架构检测工具投毒、架构漂移正交——T1/T2 不会保护工具定义

T1/T2 是面向 MCP Discussion #2574 式推理规范的标准库参考实现:先构建结构(T1),再交叉验证(T2),并为代码可验证的内容计算校验和。它不是签名 verdict API,也不是安全扫描器。

版本控制

有两个版本号,请勿混淆:

示例含义
包(PyPI)0.1.0分发版本生命周期。0.x = 实验性(SemVer,FastAPI 政策)。
协议(规范)v2.5服务端输出页脚中的 T1/T2 工具语义。调用方侧 Web 验证文档使用 v2.6。

推荐安装方式:pip install "t1-t2-protocol>=0.1.0"。错误发布到 PyPI 的版本 2.5.2–2.5.4 已撤回。

许可证

Apache License 2.0——参见 LICENSE。


为 MCP 生态系统打造。属于通过确定性架构探索 AI 安全这一更广泛项目的一部分。


链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。