Solana钱包CLI

Solblade是一款运行在终端中的Solana钱包,提供MCP服务器接口,允许AI代理在用户设定的权限范围内管理钱包。

  • by nullxnothing
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 nullxnothing/solblade

使用说明

AI-native Solana wallet CLI with scoped MCP server
Your keys. Their hands. Your rules.

Install • Connect to your AI • MCP Tools • Security • CLI Commands • Architecture



Solblade是一个在您的终端中运行的Solana钱包,它暴露了一个 模型上下文协议 (MCP)服务器,这样AI代理就可以管理你的钱包——你可以控制每个钱包的细粒度权限范围。

没有浏览器扩展。没有托管API。只需一个带有加密本地密钥库和MCP接口的CLI,即可为AI提供您选择的访问权限:只读投资组合视图、有限的转账或护栏内的完全自主。

为什么选择Solblade

人工智能代理需要钱包访问才能在链上使用,但将私钥交给人工智能是疯狂的——只读访问对实际工作毫无用处。

Solblade位于您的密钥和AI之间。您可以设置每个钱包的访问级别、支出限制、费率限制和目的地分配列表。人工智能在这些范围内运行。每个操作都记录在防篡改审计链中。只需一个命令即可撤销访问。

  • CLI原生MCP服务器 --没有web应用程序,没有浏览器扩展程序,只是 solblade mcp serve
  • 每个钱包的AI权限 --每个钱包都有自己的访问级别和支出限制
  • 确认门 --转账需要人工批准,或在限制范围内自动执行
  • 租金回收引擎 --AI扫描死令牌帐户并批量回收锁定的SOL
  • 篡改明显审计日志 --每个AI操作的SHA-256链式事件日志
  • 加密的本地密钥库 --AES-256-GCM与PBKDF2密钥派生,密钥永远不会离开您的机器

安装

# requires Bun (https://bun.sh)
bun install -g solblade

# initialize keystore, first wallet, and RPC config
solblade init

连接到您的AI

Solblade适用于任何兼容MCP的客户端。在下面选择你的编辑。

提示: 替换 "*" 使用特定的工具组来限制访问-- "read" 对于只读, "read,scan,cleanup" 阅读+租金回收。

Claude Code
claude mcp add solblade -- bunx solblade mcp serve --allow "*"

就是这样,一个命令。

Claude Desktop

添加到您的配置文件中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "solblade": {
      "command": "bunx",
      "args": ["solblade", "mcp", "serve", "--allow", "*"]
    }
  }
}

保存后重新启动Claude Desktop。

Cursor

添加 .cursor/mcp.json 在项目根目录中,或转到 设置>MCP服务器>添加服务器:

{
  "mcpServers": {
    "solblade": {
      "command": "bunx",
      "args": ["solblade", "mcp", "serve", "--allow", "*"]
    }
  }
}
VS Code / GitHub Copilot

添加 .vscode/mcp.json 在您的工作空间中:

{
  "servers": {
    "solblade": {
      "command": "bunx",
      "args": ["solblade", "mcp", "serve", "--allow", "*"]
    }
  }
}

或打开命令面板(Ctrl+Shift+P)然后跑 MCP:添加服务器.

Windsurf

添加 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "solblade": {
      "command": "bunx",
      "args": ["solblade", "mcp", "serve", "--allow", "*"]
    }
  }
}
Zed

添加到Zed设置(settings.json):

{
  "context_servers": {
    "solblade": {
      "command": {
        "path": "bunx",
        "args": ["solblade", "mcp", "serve", "--allow", "*"]
      }
    }
  }
}
Any MCP Client (stdio)

Solblade通过stdio与MCP通话。将任何兼容的客户端指向:

bunx solblade mcp serve --allow "*"

MCP工具

连接后,您的AI代理可以访问这些工具组:

组 工具 它的作用
平衡 get_balance get_all_balances get_token_balances SOL和代币余额查询
钱包 list_wallets get_wallet_permissions 钱包元数据和AI访问级别
价格 get_token_price 美元价格通过Jupiter/Birdeye
交换 get_swap_quote execute_swap Jupiter DEX报价和执行
转移 send_sol send_token SOL和SPL代币转移
扫描 scan_empty_accounts scan_all_wallets estimate_portfolio_value 租金回收扫描、投资组合估值
清理 close_token_account close_token_accounts_bulk 关闭死去的代币账户,收回租金
历史 get_transaction_history get_account_info 链上交易和账户数据
日志 get_audit_log get_spend_summary 人工智能行动历史和支出跟踪
管理员 get_session_status 会话和权限自省

权限范围界定

每个钱包都有独立的AI访问控制:

# Read-only access
solblade wallet ai-access treasury --level read

# Transfer access with spend limits (SOL)
solblade wallet ai-access trading --level transfer --per-tx 1 --per-session 5

# Require human confirmation for each transfer
solblade wallet set-confirm trading --on

# Restrict destinations to trusted addresses
solblade wallet set-allowlist trading --add <trusted-pubkey>

确认流程

当 require_confirmation 如果启用,写入工具将返回挂起的操作,而不是执行:

AI:  "I'd like to send 0.5 SOL from 'trading' to 9xQe...4kPm ($75.00).
      This is within your 1 SOL per-transaction limit. Approve?"
You: "Yes"
AI:  "Done — tx confirmed: 5Uj8... (explorer link)"

安全模型

┌─ Tool Allowlist ────────── which tools are exposed at all
├─ Wallet AI Access ──────── none / read / transfer per wallet
├─ Session Gate ──────────── password-derived key, configurable TTL
├─ Spend Limits ──────────── per-tx and per-session caps in SOL
├─ Rate Limits ───────────── max transactions per minute
├─ Destination Allowlist ─── restrict where funds can go
├─ Confirmation Gate ─────── human approval before execution
├─ Transaction Simulation ── Solana RPC simulation before signing
└─ Tamper-Evident Audit ──── SHA-256 chained event log

从未通过MCP暴露: 私钥导出、种子短语、密钥库文件、密码/会话材料、权限升级、钱包创建/删除、RPC配置更改。


CLI命令

钱包管理

solblade create [--label name] [--group name]     # Create new wallet
solblade import --key <base58>                     # Import existing key
solblade list [--group name] [--tag name]          # List wallets
solblade label <wallet> --set <name>               # Rename wallet
solblade default <wallet>                          # Set default wallet
solblade remove <wallet>                           # Archive wallet

交易

solblade balance [wallet]                          # SOL balance
solblade balance --all                             # All wallet balances
solblade balance --tokens [wallet]                 # SPL token balances
solblade send <amount> SOL --to <address>          # Send SOL
solblade send <amount> <token> --to <address>      # Send SPL token
solblade swap <amount> <token> --to <token>        # Jupiter swap

会话和安全

solblade unlock                                    # Start session
solblade lock                                      # End session
solblade unlock --status                           # Check session

MCP服务器

solblade mcp serve [--allow <tools>]               # Start MCP stdio server

审计

solblade log [--limit N]                           # View audit log

建筑

组件 堆栈
运行时间 包子 使用原生SQLite
加密 AES-256-GCM,PBKDF2-SHA256(600k迭代)
数据库 带WAL模式的SQLite
MCP @modelcontextprotocol/sdk 超过stdio
索拉纳 @solana/web3.js v1.x+ @solana/spl-token v0.4
DEX Jupiter V6 API
Keystore ~/.solblade/keys/*.enc (每个钱包一个加密文件)

看 docs/MCP_ARCHITECTURE.md 用于完整的MCP服务器设计。


发展

git clone https://github.com/nullxnothing/solblade.git
cd solblade
bun install
bun run dev

许可证

麻省理工学院