Back to MCP directory
publicPublicdnsLocal runtime

cloaked

Cloaked 是一个基于 Solana 的信任最小化 AI 代理支付解决方案,通过链上强制执行消费限额(如单笔、每日、总额限制),防止代理越权或恶意消费,并提供标准模式和零知识证明隐私模式,支持 SOL 和 USDC 支付。

article

README

🚀 Cloaked

为Solana上的AI智能体提供无需信任的消费账户

npm License: MIT

cloakedagent.com

🚀 快速开始

针对AI智能体(MCP)

{
  "mcpServers": {
    "cloaked": {
      "command": "npx",
      "args": ["cloaked-mcp"],
      "env": {
        "CLOAKED_AGENT_KEY": "your-agent-key-here"
      }
    }
  }
}

智能体可以使用SOL或USDC进行支付 - 在调用 cloak_pay 时传入 token: "USDC"

针对开发者(SDK)

npm install @cloakedagent/sdk
import { CloakedAgent } from "@cloakedagent/sdk";

// 加载智能体(可进行消费)
const agent = new CloakedAgent(agentKey, rpcUrl);

// 在限额内消费
await agent.spend({
  destination: recipientPubkey,
  amount: 100_000_000  // 0.1 SOL
});

// 消费USDC(需要在智能体上启用该代币)
await agent.spendToken({
  destination: recipientPubkey,
  mint: USDC_MINT,
  amount: 5_000_000  // 5 USDC (6位小数)
});

✨ 主要特性

1. 链上约束

  • 每笔交易限额
  • 每日消费上限
  • 终身限额
  • 过期日期
  • 即时冻结

2. 隐私选项

  • 标准模式(简单)
  • 私密模式(零知识证明)
  • 匿名资助(Privacy Cash)

3. x402协议支持

  • 自动支付处理
  • 按使用付费的API
  • AI服务支付

4. 多智能体仪表盘

  • 创建/管理多个智能体
  • 实时消费可见性
  • 一键冻结

5. USDC代币支持

  • 带有每个代币消费约束的USDC
  • 与SOL相同的链上强制执行机制
  • 在仪表盘中可见代币余额

📦 安装指南

开发者可以使用以下命令安装SDK:

npm install @cloakedagent/sdk

💻 使用示例

基础用法

针对AI智能体(MCP)

{
  "mcpServers": {
    "cloaked": {
      "command": "npx",
      "args": ["cloaked-mcp"],
      "env": {
        "CLOAKED_AGENT_KEY": "your-agent-key-here"
      }
    }
  }
}

针对开发者(SDK)

import { CloakedAgent } from "@cloakedagent/sdk";

// 加载智能体(可进行消费)
const agent = new CloakedAgent(agentKey, rpcUrl);

// 在限额内消费
await agent.spend({
  destination: recipientPubkey,
  amount: 100_000_000  // 0.1 SOL
});

高级用法

消费USDC(需要在智能体上启用该代币)

await agent.spendToken({
  destination: recipientPubkey,
  mint: USDC_MINT,
  amount: 5_000_000  // 5 USDC (6位小数)
});

📚 详细文档

完整文档可在 cloakedagent.com/docs 查看。

🔧 技术细节

问题所在

AI智能体需要自主消费资金。但给予它们钱包访问权限是危险的:

  • 智能体被越狱? 会耗尽你的钱包资金
  • 智能体代码存在漏洞? 会陷入无限消费循环
  • 发生提示注入攻击? 攻击者会控制你的资金 智能体端的限制不起作用 - 因为智能体拥有密钥,可以绕过自身规则。

解决方案

通过链上强制执行约束,使智能体根本无法绕过。

┌─────────────────────────────────────────────────────────────────┐
│                      CLOAKED AGENT                              │
├─────────────────────────────────────────────────────────────────┤
│  所有者:人类钱包(完全控制)                                 │
│  委托方:AI智能体密钥(可在限额内消费)                       │
│                                                                 │
│  约束条件(由Solana程序强制执行):                            │
│  ├── 每笔交易最大限额:0.1 SOL                                 │
│  ├── 每日限额:1 SOL                                          │
│  ├── 总限额:10 SOL                                           │
│  ├── 过期日期:2026-02-15                                     │
│  └── 代币限额:                                                │
│       └── USDC:每笔交易5个,每日50个,总计500个              │
│                                                                 │
│  即使智能体被越狱,也无法超过这些限额。                      │
└─────────────────────────────────────────────────────────────────┘

隐私架构

Cloaked提供 双模式隐私保护

标准模式

  • 所有者钱包在链上与智能体关联
  • 设置简单,费用较低

私密模式(ZK)

  • 零知识证明 隐藏钱包与智能体的关联
  • 所有者在不暴露身份的情况下证明所有权
  • 通过 Privacy Cash 进行匿名资助
┌─────────────────────────────────────────────────────────────────┐
│                    PRIVACY STACK                                │
├─────────────────────────────────────────────────────────────────┤
│  ZK电路:         Noir (Aztec)                                 │
│  客户端证明器:    Barretenberg (通过WASM实现的UltraHonk)      │
│  链上验证器:      Sunspot (Solana上的Groth16)                 │
│  哈希函数:        Poseidon (对ZK友好)                         │
│  匿名资助:        Privacy Cash (privacycash.org)              │
└─────────────────────────────────────────────────────────────────┘

私密智能体创建流程:
  钱包签署消息 → 派生主密钥 → 生成承诺
  链上:所有者承诺(哈希值),而非钱包地址
  管理方式:通过ZK证明证明对原像的知晓

技术栈

| 组件 | 技术 | |------|------| | 区块链 | Solana | | RPC | Helius | | 智能合约 | Anchor框架 | | ZK证明 | Noir + Barretenberg + Sunspot | | 前端 | Next.js 16, React 19, TypeScript | | 后端 | Express.js(中继器) | | AI集成 | MCP(模型上下文协议) | | 代币支持 | USDC | | x402支付 | 原生支持 |

程序ID(开发网络)

Cloaked程序:3yMjzAeXXc5FZRUrJ1YqP4YMPhPd5bBxHQ6npNSPCUwB
ZK验证器:    G1fDdFA16d199sf6b8zFhRK1NPZiuhuQCwWWVmGBUG3F

项目结构

cloaked/
├── programs/cloaked/     # Anchor程序(约束条件、ZK验证)
├── circuits/             # Noir ZK电路(所有权证明)
├── app/                  # Next.js前端(仪表盘、文档)
├── backend/              # Express中继器(费用支付者、ZK操作)
└── sdk/                  # TypeScript SDK (@cloakedagent/sdk)
    └── src/mcp/          # MCP服务器(cloaked-mcp二进制文件)

为何选择Cloaked?

| 问题 | Cloaked解决方案 | |------|----------------| | AI可能耗尽钱包资金 | 链上限额无法被绕过 | | 没有消费可见性 | 实时仪表盘 | | 无法阻止失控的智能体 | 即时冻结 | | 钱包身份暴露 | 带有ZK证明的私密模式 | | 复杂的集成 | 原生x402支持 |

📄 许可证

本项目采用 MIT许可证

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client