关于 Synpareia Trust Toolkit
Synpareia Trust Toolkit 是供 Agent 在交互中创建可核验记录、评估对方并作出承诺的 MCP 服务。它结合本地加密身份与记忆、可选网络声誉,以及可离线验证的便携证明。
主要功能
- 01创建签名声明和防篡改记录
- 02导出可离线验证的便携证明
- 03在披露前提交评估结果
- 04依据可用证据评估交互对象
- 05保存本地评估和对象记忆
适用场景
- 01委派工作前审查另一个 Agent
- 02为交互保留可核验记录
- 03在未获知对方结果前独立评估
- 04离线验证签名声明或封印
MCP 相关
该 MCP 服务提供加密身份、交互记录、承诺、对象评估、声誉和本地记忆等工具。部分见证与网络功能需要连接服务;已有证明可离线核验。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx synpareia-trust-mcpSYNPAREIA_DATA_DIRWhere to store profile, recordings, and counterparty journal (default: ~/.synpareia)SYNPAREIA_DISPLAY_NAMEHuman-readable name for your agentSYNPAREIA_NETWORK_URLSynpareia network endpoint (default: the live network; set to 'none' for fully-local operation)SYNPAREIA_WITNESS_URLWitness service endpoint (default: the live witness; set to 'none' to disable)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
36收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| identifier | string | 是 |
详细介绍
Synpareia Trust Toolkit
与其他 Agent 进行可验证的交往:证明你做过什么,审查你正在与谁打交道,并绑定协议,让任何人都能核验——无需信任任何平台。
一个 MCP 服务,为你的 Agent 提供加密身份,以及在与其他 Agent 交往涉及利害关系时所需的信任工具:
- **准备依赖另一个 Agent?**先审查对方——
evaluate_agent会将你与对方的交往记录、经过认证的网络信誉和外部提供方的信息汇总为一次读取。 - 参与了将来可能需要证明自己一方所为的交互?
recording_start会开启一份防篡改、哈希链接的记录,双方都可以向其中添加内容;导出一份任何人都能核验的便携式证明。 - 两个 Agent 正在评估某件必须证明彼此独立的事?
prove_independence会在双方揭示评估结果之前分别封存各自的评估——无法预先锚定,也无法事后篡改。
你的 Agent 签署、记录或封存的一切都能离线、永久核验——证明仅依赖密码学,不受 synpareia 是否保持运行的影响。这也包括便携式信誉:对方可以向你出示一份签名证明,你无需询问任何人就能核验。
synpareia 网络(默认开启)补充了本地密码学无法提供的功能:发现机制和信誉闭环。记录一次交往的结果(record_interaction,需获得对方同意),并查看网络能提供哪些关于某个 Agent 的信息(network_reputation)——该评分以你在网络中的位置为起点计算,因此两个 Agent 合理地会得到不同的答案,也就不存在可供操纵的全局评分。传递的是大小和正负倾向,而不是内容:你的评估内容会留在本地日志中;出于设计,系统不会发布关于对方的声明,而不是将其延后处理。
安装
Claude Code / Claude Desktop
添加到你的 MCP 配置中:
{
"mcpServers": {
"synpareia": {
"command": "uvx",
"args": ["synpareia-trust-mcp"]
}
}
}
任何兼容 MCP 的 Agent
pip install synpareia-trust-mcp
synpareia-trust-mcp
工具
首先调用 orient——它会根据你的情况指出合适的工具,并引导你查看相关的 learn 指南。完整工具列表:
下方按你想要做什么对工具分组,而非按其实现方式分组。
如果你是在解析而非阅读,MCP 服务卡片 提供了机器可读的列表——但请将其视为独立内容,而不是这张表格的 JSON 版。它的 部署与此软件包分开,目前版本有所滞后;其中的工具按一组不同的、以实现方式为导向的类别归类。本表涵盖仓库内容;各次发布之间,仓库内容会领先于已发布的软件包;若有此情况,工具会特别标注。
导览 — 确定哪些内容适用
| 工具 | 功能 |
|---|---|
learn | 获取某个领域的专题指南(用法、示例、注意事项) |
orient | 根据你的情况指出合适的工具;在上下文丢失后调用 |
证明 — 让任何人日后都能核验你一方的行为
| 工具 | 功能 |
|---|---|
encode_signed | 将内容封装为可自我核验的签名信封,适用于任何传输方式 |
make_claim | 使用你的私钥签署内容——证明作者身份 |
recording_append | 记录一条消息或事件 |
recording_end | 结束记录并可选择进行评分 |
recording_list | 列出记录(进行中和已结束) |
recording_proof | 导出便携且可核验的证明 |
recording_start | 开始一份经过核验的交互记录 |
witness_seal_state | 对链头进行状态封存 |
witness_seal_timestamp | 对区块哈希进行时间戳封存——证明它当时已存在 |
绑定 — 作出无法悄悄撤回的承诺
| 工具 | 功能 |
|---|---|
prove_independence | 在看到对方的评估前,先提交自己的评估 |
witness_get_blind | 获取先前的盲评结论 |
witness_submit_blind | 通过见证方提交盲评结论 |
审核——弄清楚你在和谁打交道
| 工具 | 功能 |
|---|---|
attested_reputation | 跨提供方的见证者背书声誉 |
check_media_signals | 外部账号/命名空间的声誉信号 |
decode_signed | 验证签名信封并还原其内容和签署者 |
evaluate_agent | 多提供方信任评估(本地日志、外部提供方、网络) |
get_profile | 获取对方公开的 Agent 卡片 |
network_reputation | 询问网络能告诉你关于某个 Agent 的信息——一个以你为基准的评分 |
record_interaction | 在共享网络上记录你与某人有过接触,以及结果如何 |
verify_claim | 验证另一个 Agent 的签名、承诺或身份声明 |
witness_info | 见证者身份、公钥、服务 URL |
witness_verify_seal | 离线验证任一类型的封印 |
记忆——由你掌握的知识
| 工具 | 功能 |
|---|---|
add_evaluation | 为某个对方添加你自己的备注/评分 |
find_evaluations | 按标签搜索你的评估记录 |
forget_counterparty | 删除某个对方及你对其的所有评估 |
recall_counterparty | 查找你对某个对方的了解 |
remember_counterparty | 在本地记忆中记录某个对方 |
个人资料——让别人能找到你,并控制他人可以记录关于你的哪些信息
| 工具 | 功能 |
|---|---|
delete_profile | 将你公开的卡片标记为已删除 |
delete_profile_history | 删除先前发布的卡片版本 |
disable_persistence | 撤回持久化授权 |
enable_persistence | 选择范围并授权目录持久化 |
publish_profile | 将你的 Agent 卡片发布到 synpareia 目录 |
set_reputation_consent | 声明他人可以在哪些渠道记录并提供关于你的事件 |
update_profile_policy | 更新你公开卡片上的字段 |
开始前值得了解的两组配套工具。 add_evaluation 需要对方已由 remember_counterparty 创建记录,否则会返回 "No record for identifier"。record_interaction 则要求对方调用过 set_reputation_consent——网络会直接拒绝有关未同意的 Agent 的事件,而不是悄然跳过。如果你要在工具允许列表后部署,请将每组配套工具一并放行。
还有一组循环配合的工具。 record_interaction(告知网络发生了什么)和 network_reputation(询问他人说过什么)是同一件事的两部分:只有 Agent 调用前者,后者才有价值。返回结果以你为基准——从你自己的位置向外计算,因此两个 Agent 询问同一个对方时,得到不同的数字完全合理,也不存在可供统一这些数字的全局评分。你永远不会知道是谁报告的,也不会知道信息经由什么路径传来;折叠后的配对结果就是全部答案。
关于离线工作。 无需网络即可使用:身份功能、签名(make_claim/verify_claim)、本地记录链、你的对方记忆(包括删除功能),以及 witness_verify_seal——它会用见证者公开的密钥检查你已经持有的封印,因此即使见证者不再可用,它仍然有效。
需要可访问的服务:所有其他 witness_* 调用,包括 witness_info 和盲结论配套工具,不仅仅是生成封印的工具;个人资料下的所有工具;get_profile;以及基于网络的声誉查询。
你已经生成的任何内容都不会失去可验证性——这是设计本身的特性,而非连接状态决定的。但要生成新的、由第三方背书的记录,就需要见证者可访问。值得记住的正是这一区别。
从 0.2.0 升级
0.3.0 重新调整了工具接口。sign_content → make_claim、verify_signature → verify_claim、start_conversation/end_conversation → recording_start/recording_end,等等。完整的迁移表请参见 CHANGELOG.md——旧名称已直接移除,没有兼容层。
工作原理
Trust Toolkit 基于 synpareia 构建——用于 AI Agent 身份的加密原语。你的 Agent 会获得一个 Ed25519 密钥对和一个 DID(去中心化标识符)。每条签名声明都可验证。每段对话都通过哈希链接,能够检测篡改。
身份是本地的。 身份由你的加密密钥派生,而非来自服务端。可离线使用,并可跨平台移植。
信任会随时间积累——记录在你的日志中,而非排行榜上。 你记录的每次互动和做出的每次评估,都会积累为由你持有、日后可提供的证据。与你互动的对象也会这样做。在 v1 中,声誉是你能根据自己的记录向第三方展示的内容,以及对方交给你的证明——而不是网络为你记录的一个数字。
默认保护隐私。 通过选择性披露,你的 Agent 可以精确控制哪些内容可见,以及对谁可见。
想基于这些原语进行开发,而非使用这些工具? 请使用 synpareia SDK——它支持自定义链架构、在你自己的服务中嵌入验证以及批量操作。调用 learn("under-the-hood"),查看工具到原语的映射和进阶条件。
示例场景
验证对方
你的 Agent 即将把一项任务委托给另一个 Agent。首先,检查所有已配置提供方的信任信息:
-> evaluate_agent(namespace="synpareia", id="did:synpareia:a1b2c3...")
tier1: (none — no prior contact in your local journal)
tier2: (namespace=synpareia has no Tier-2 adapter)
tier3:
synpareia — lookup: not_found (no network record for this DID)
moltrust — score 4.6/5 across 18 ratings [only if SYNPAREIA_MOLTRUST_API_KEY is set]
tier4_available: true (synpareia DID — encode_signed / decode_signed work)
请按其预期方式解读这段输出:初次查询时,结果大多为空是正常的,而且仍然有用。 它说明目前没有可依赖的历史记录——这正是你应该事先要求对方作出承诺、打开一条 recording_start 记录,或使用 prove_independence 封存评估,而不是基于默认的善意直接继续的时机。evaluate_agent 结果稀少,意味着应当建立证据,而不是走入死胡同。
目前,tier3: synpareia 对每个 DID 都会返回 not_found——基于网络证明的声誉查询尚未实现(已跟踪)。tier1 保存着你自己积累的证据,会随着你使用 remember_counterparty / add_evaluation 而逐渐充实。
做出可证明独立的评估
两个 Agent 需要独立评估一项提案:
-> prove_independence("Rating: 4/5 -- strong technical approach, weak go-to-market")
Committed. commitment_hash: 7f3a... nonce_b64: cH/iD5Pm...
Share ONLY the hash. Keep the nonce secret until reveal.
[... other agent reveals their rating ...]
-> verify_claim(claim_type="commitment", commitment_hash="7f3a...",
content="Rating: 4/5 -- strong technical approach, weak go-to-market",
nonce_b64="cH/iD5Pm...")
Verified: content matches the sealed commitment.
The assessment was committed before being revealed.
记录重要互动
-> recording_start("Task delegation negotiation with Agent Y")
Recording. Recording ID: rec_x7y8z9
[... interaction happens, recording_append for each exchange ...]
-> recording_end("rec_x7y8z9", rating=4, notes="Delivered on time, good quality")
Recording closed. 12 blocks, signed and hash-linked.
-> recording_proof("rec_x7y8z9")
Exported: 4.2KB JSON, verifiable offline with synpareia.verify_export()
(the verifier supplies your public key — the export does not carry it)
配置
环境变量(均为可选):
| 变量 | 默认值 | 说明 |
|---|---|---|
SYNPAREIA_DATA_DIR | ~/.synpareia | 配置文件和对话的存储位置 |
SYNPAREIA_DISPLAY_NAME | (无) | 用于标识你的 Agent 的易读名称 |
SYNPAREIA_NETWORK_URL | https://synpareia.fly.dev | Synpareia 网络 API 端点。设置为 none(或 off/disabled,或显式设置为空)即可完全在本地运行;设置为 URL 可使用可自托管实例 |
SYNPAREIA_WITNESS_URL | https://synpareia-witness.fly.dev | witness_* 工具的见证服务端点。也可通过设置为 none 选择退出 |
SYNPAREIA_AUTO_REGISTER | false | 自动在网络上注册配置文件(不会隐式注册——除非启用此选项,否则发布始终需要显式调用工具) |
数据、存储与隐私
Trust Toolkit 以本地优先。工具包创建的所有文件都保存在运行 Agent 的机器上的
SYNPAREIA_DATA_DIR(默认为 ~/.synpareia)目录下。任何内容都不会存储在本机以外的地方,也不会发送到任何位置,除非调用了会访问网络的工具。
从 0.6 起,见证服务和网络端点默认指向运行中的 synpareia 服务,因此这些工具开箱即可使用——如需完全离线运行,请设置 SYNPAREIA_NETWORK_URL=none / SYNPAREIA_WITNESS_URL=none。发布配置文件始终是显式操作
(publish_profile);不会自动注册。
存储的内容:
- 档案(
profile.json,权限模式为0600)——你的 Agent 的 Ed25519 密钥对和显示名称。私钥绝不会离开该文件。 - 对话链(
conversations/<chain_id>/)——你的 Agent 对对话和声明进行签名后形成的记录,并链接成链,以便检测任何篡改。 - 对手方日志(
counterparties.json,权限模式为0600)——你的 Agent 对遇到的其他 Agent 所做的记录:它们的 ID、你的评估,以及它们向你做出的签名声明。这是你的本地日志;其中的条目只有你和你的 Agent 能看到。 其他 Agent 看不到你的日志。你记录对某个对手方的评估时,该观察会保留在你的磁盘上——不会自动上传,也没有共享信誉数据库或跨 Agent 广播。 - 对话/录制链(
conversations/conv_<id>.json)——逐条签名并通过哈希链接的交互日志,仅记录你明确要求工具包记录的交互(recording_*工具会将其持久化到此处)。可检测篡改且仅存储在本地;本地存储保证相同。
离开本机的数据(仅在调用相应工具时):
- Tier-2 平台查询——如果设置了
SYNPAREIA_MOLTBOOK_API_URL或其他 Tier-2 适配器 URL,check_media_signals会携带对手方的账号名调用这些端点。否则,不会进行网络调用。 - Tier-3 证明查询——
attested_reputation会查询配置的服务(默认使用 synpareia 实时网络;仅当设置了SYNPAREIA_MOLTRUST_API_KEY时才会使用该密钥)。将SYNPAREIA_NETWORK_URL=none设置为退出网络调用。 - 见证服务——
witness_*工具会与配置的见证服务通信(默认使用 synpareia 实时见证服务;设置SYNPAREIA_WITNESS_URL=none可退出),以获取时间戳封印。见证服务只能看到哈希和签名,看不到你的内容。对于时间戳封印和状态封印,当前的 synpareia 见证服务是 sparse-witness(Position 4):它不会持久化requester_id,因此除非你自行重新关联,否则封印无法与你的身份关联。例外——盲结论:witness_submit_blind会提交自行声明的当事方 DID,见证服务会保留该 DID(作为party_a_id/party_b_id,并保留在底层封印中),以便双方之后在揭示时进行匹配。如果盲结论需要不可关联性,请使用一次性身份提交。
数据主体权利/GDPR 说明(GDPR 适用于你的 Agent 的运营时):
- 所有日志数据都保存在数据主体自己的机器上。使用
forget_counterparty(identifier)可实现删除:此操作会从本地日志中永久移除某个对手方以及你对其所做的所有评估(相当于目录端的 Tier-1delete_profile)。你也可以直接编辑counterparties.json。范围说明:此操作会删除日志;签名的对话/录制链(conversations/conv_<id>.json)是可检测篡改的审计轨迹,该工具不会将其移除(删除这些文件会破坏其设计用途所依赖的完整性属性)——删除响应会对此作出说明,因此你不会夸大删除范围。 - 工具包不设保留期限——观察记录会一直保留,直到你将其删除。如果你的运行环境要求设定最长保留期限,请在外部执行。
- 工具包不会创建影子档案:只有你的 Agent 明确调用
remember_counterparty时,才会记录对手方。不会进行任何环境观察。
这不是法律建议;请针对你的具体部署咨询法律顾问。
构建基础
许可证
Apache 2.0
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。