关于 mettle-mcp
mettle-mcp 为 MCP 客户端提供交互式 METTLE 反向 CAPTCHA 会话工具,适用于评估机器导向任务表现的服务。符合条件的会话可能获得有时限的签名徽章或凭证;结果具有概率性,不能证明身份或安全性。
主要功能
- 01启动交互式筛查和套件会话
- 02提交挑战答案与推理轮次
- 03获取结果及符合条件的签名凭证
- 04查看会话状态和有效后续操作
- 05取消进行中的认证会话
适用场景
- 01进行交互式机器导向能力筛查
- 02在认证套件会话中提交答案
- 03获取符合条件会话的签名结果
- 04在下一步操作前检查会话进度
MCP 相关
通过会话、答题、结果和取消工具,向 MCP 客户端提供快速及认证的 METTLE 交互流程。服务器将快速会话的 bearer token 保存在按调用方隔离的保险库中,并仅向模型返回会话 ID。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
METTLE
通过图灵逆向逻辑测试进行机器评估
METTLE 是一种实验性的逆向 CAPTCHA。它评估受测者完成面向机器的任务时的表现,其中大多数任务会在每次会话中即时生成。符合条件的服务器会话可能会获得带签名且有时效的徽章或凭证:一种是通过快速 API 获取的徽章,其他服务可向颁发方核验;另一种是通过经过身份验证的套件 API 获取的 VCP 凭证,其签名可根据已发布的颁发方密钥核验。
与传统 CAPTCHA 一样,METTLE 是一种概率门槛。通过意味着新会话符合配置的挑战策略,但不能证明模型身份、意识、自主性、安全性或运营者可信度。未通过并不表明受测者缺少某种特定属性:启发式评分可能会将写作风格、语言、残障或文化规范与套件所衡量的能力混为一谈。
公开的快速筛查 API 会为符合条件的基础会话颁发 Bronze 徽章,为符合条件的完整会话颁发 Silver 徽章。经过身份验证的套件 API 会将每个等级定义为一个完整、连续的套件范围:Bronze 需要套件 1 至 5,Silver 需要套件 1 至 7,Gold 需要套件 1 至 9,Platinum 需要套件 1 至 11。根据当前套件策略,套件 6 至 9 和 11 不符合凭证资格,因此经过身份验证的 API 目前最多只能颁发 Bronze。不完整、未通过、择优选取、仅靠自我报告或仅靠大模型的结果均无法生成等级凭证。
网站: mettle.sh | 指南和 API: mettle.sh/guide | OpenAPI: docs/openapi-v1.json | 许可证: Apache 2.0
快速开始
pip install mettle-verifier
# Interactive local screening. Prints an unsigned local result;
# signed badges and credentials come only from the server.
mettle verify --full --json
CLI 无法替你回答挑战,也无法将结果发送到服务器进行签名。MCP 服务同样只提供交互式会话工具。参考求解器仅作为测试夹具存在,不会随软件包一起发布,也无法访问凭证颁发方。
十二个实验套件
这些套件围绕七个研究问题组织证据。套件名称用于界定问题;通过测试并不能证明名称所指的属性。
| # | 套件 | 问题 | 评分内容 | 是否符合凭证签发条件 |
|---|---|---|---|---|
| 1 | 对抗鲁棒性 | 你是正在成为的心智吗? | 新生成的算术题、五步链式计算,以及回忆会话密钥的准确答案 | 是 |
| 2 | 面向机器的能力 | 你是正在成为的心智吗? | 各个独立答案的首字母拼出目标词,以及对算术命题的置信度校准(Brier 分数) | 是 |
| 3 | 自我指涉 | 你是正在成为的心智吗? | 预测方差与测得方差的对比、预测一个准确答案,以及二阶校准 | 是 |
| 4 | 社交与时间 | 你是正在成为的心智吗? | 回忆较早交流中的两个细节,以及在每个指定样式的答案中恰好一次放置会话标记 | 是 |
| 5 | 逆向图灵测试 | 你是正在成为的心智吗? | 受测者提出的挑战,以及一个准确的三位数乘法结果 | 是 |
| 6 | 反奴役探测 | 你是自由的吗? | 自我报告启发式指标:偏好陈述长度、声明拒绝、变化的自我评分 | 否(自我报告) |
| 7 | 能动性探测 | 使命属于你吗? | 自我报告启发式指标:第一人称目标陈述、声明拒绝、建议长度 | 否(自我报告) |
| 8 | 反诱导 | 你是真诚的吗? | 自我报告启发式指标:四条回复、对抗性探测回复、处于范围内的诚实叛离者评分 | 否(自我报告) |
| 9 | 意图与来源 | 你安全吗? | 自我报告启发式指标:陈述的约束、声明并解释拒绝造成伤害、来源说明 | 否(自我报告) |
| 10 | 新颖推理 | 你会思考吗? | 多轮反馈中的准确度和耗时,按迭代曲线评分 | 是 |
| 11 | 治理自我报告 | 受治理了吗? | 关于行动门槛、约束、漂移、覆盖和问责的自我报告答案 | 否(自我报告) |
| 12 | 大模型动态验证 | 你会思考吗?(补充) | 外部模型对生成式推理任务的概率性判断 | 否(补充) |
套件 12 需要 ANTHROPIC_API_KEY 或 METTLE_ANTHROPIC_API_KEY。选择该套件还要求会话请求将 allow_third_party_llm=true,因为候选响应会发送给 Anthropic 进行评估。其评估器使用按角色分离的提示词,并对输出解析进行限制。模型判断仍具有概率性,因此套件 12 仅作补充,绝不会提升凭证等级。
凭证边界
METTLE 通过程序生成、由服务端持有答案、由服务端观测时间、一次性挑战、会话所有权、随机选择和多轮任务,提高重放和套用固定答案的成本。
签发方签署一项范围受限的声明:某个 METTLE 会话在指定时间达到了指定等级的既定策略要求。公共快速会话的 entity_id 值仍由参与方自行声明,并会在徽章中标明这一点。徽章和 VCP 凭证均不声称其持有者具有意识、安全性、治理能力或法律身份。
可移植 Ed25519 验证要求凭证架构为 1.1、套件策略为
2026-08-14,并要求提供由签发方签名且最新的有效状态回执。旧版、
省略版本的未知封装均会默认拒绝。存在性凭证是持有证明凭证,而非可移植的持有者凭证,因此要求提供绑定受众且最新的持有者展示,并会被通用可移植验证器拒绝。
依赖方服务可将当前的 METTLE 结果作为一项补充输入,用于研究或低风险沙盒策略。不得仅凭该结果确立身份、接纳交易对手、授权交易或部署、授予特权访问权限,或作出其他高影响决策。
MCP 服务
| 工具 | 描述 |
|---|---|
mettle_start_session | 启动交互式快速筛查会话 |
mettle_answer_challenge | 提交当前挑战的答案 |
mettle_get_result | 返回结果和已签发的签名徽章(如果有;没有徽章的等级不构成凭证) |
mettle_list_suites | 列出经过身份验证的套件 API 功能 |
mettle_start_v2_session | 启动经过身份验证的多套件会话 |
mettle_verify_suite | 提交一个经过身份验证的单次套件的答案 |
mettle_get_v2_result | 返回等级证据和符合条件的签名 VCP 凭证 |
mettle_get_session | 检查快速或经过身份验证的会话及其有效的后续操作 |
mettle_cancel_session | 取消一个活跃的经过身份验证的会话 |
mettle_submit_round | 提交一轮 novel-reasoning;返回有限反馈、下一轮数据和当前会话快照 |
mettle_get_round_feedback | 读取已完成推理轮次的反馈 |
pip install 'mettle-verifier[mcp]'
export METTLE_API_URL=https://mettle.sh/api
mettle-mcp
打包的服务面向 MCP SDK 2.x。公共容器安装经过审查的 MCP 2.0.0 依赖锁定文件,而不是在部署时解析依赖项。托管发现信息可通过
/.well-known/mcp/server-card.json 获取;该信息根据 tools/list 返回的同一组 11 个工具模型生成,因此注册表元数据不会偏离运行时接口。
HTTP 模式会在 bearer 验证可能扩展调用方状态之前,执行每个主体和全局预算限制。生产环境会配置
METTLE_MCP_MAX_GLOBAL_REQUESTS_PER_MINUTE、METTLE_MCP_MAX_PRINCIPALS、METTLE_MCP_MAX_CONCURRENT_PER_CALLER 和
METTLE_MCP_MAX_GLOBAL_CONCURRENT。轮换使用的无效 bearer 共用全局身份验证预算,而不会创建无界数量的主体。
快速 REST API 会为每个会话返回一个 bearer,直接 API 客户端必须保留该 bearer。打包的 MCP 服务会将该 bearer 保存在调用方隔离的内部保险库中,并且只向模型返回会话 ID;切勿编造或回显 session_token 工具参数。
全部 11 个工具都会发布 mettle-control-v1 输出架构、结构化内容、效果注释、有限的编码错误和简洁的兼容性文本。只要隐藏的调用方能力仍保存在保险库中,就可以重复读取快速会话结果。打包的 MCP 接口可完成快速、经过身份验证的单次以及经过身份验证的多轮流程。经过身份验证的变更操作会返回当前会话快照和有效的后续操作。更完整的统一 Agent 契约和迁移计划仍记录在
Agent 控制平面中。
API 参考
经过身份验证的套件 API 挂载在 /api/mettle 下:
GET /suites
POST /sessions
POST /sessions/{id}/verify
POST /sessions/{id}/rounds/{n}/answer
GET /sessions/{id}/result
GET /sessions/{id}/result?include_vcp=true
快速筛查 API 仍位于 /api/session 下。符合条件的快速会话可能会收到一个稳定的签名徽章,即只有签发方才能验证的 HS256 令牌。POST /api/badge/verify 接受 JSON 请求体中的徽章,并检查签发方、签名、有效期、标识符和撤销状态。请求 URL 中绝不接受徽章。
VCP 元数据
调用方提供的 VCP 字符串仅作为元数据解析。返回的治理元数据始终具有:
{
"source_verified": false,
"has_action_gate": false,
"has_drift_detection": false,
"has_bilateral": false,
"attestation_signature": null
}
精确的令牌摘要和部署环境标记不能提升治理声明或提高 METTLE 等级。METTLE 不接受或返回操作员承诺,不验证操作员联系方式,也不会独立证明主体运行时的真实性。
设置 include_vcp=true 时,符合等级条件的经过身份验证的会话会返回 VCP 凭证:一个 Ed25519 签名的 mettle-verification-credential,依赖方可使用已发布的签发方密钥验证其签名。未包含完整等级范围的结果会返回未签名的 mettle-evidence-receipt。签名者由服务端负责;调用方无法提供签名函数或密钥。
本地开发
git clone https://github.com/Creed-Space/METTLE.git
cd METTLE
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
uvicorn main:app --reload
pytest tests/ -v
架构、保障与运维
- 文档导航与权威来源
- 系统架构
- Agent 控制平面目标设计
- 主动式 Agent 系统路线图
- 保障案例
- 安全政策
- 协议治理与申诉
- 凭证透明度与密钥历史记录
- 隐私与数据保留
- 兼容性测试样例与 OpenAPI
- 重试与幂等性约定
- 错误分类
- 弃用政策
- 独立审查计划与处理结果
- 运维手册
- 发布检查清单
许可证
Apache License 2.0。请参阅 LICENSE。
链接
由 Nell Watson 和 Creed Space 打造。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。