使用说明
无人认领的SOL MCP
第一个Vibe Claiming MCP服务器——让你的AI代理扫描并回收Solana上的休眠SOL。
无人认领的SOL MCP——第一台声称拥有Vibe MCP服务器。一台服务器,六个回收类别:休眠令牌帐户(包括token-2022)、垃圾邮件NFT、程序缓冲区、停用的赌注、DeFi奖励和多余的灯口。零配置只读扫描;使用模拟运行预览、60秒一次性执行令牌和本地签名进行声明。你的键盘永远不会离开你的机器。从来没有种子短语。
MCP服务器 无人认领的索尔 --与人工智能代理和助手(Claude、Cursor、Windsurf、Codex CLI和任何 模型上下文协议 客户)。
另请参见:
为什么代理商使用这个
- 赚钱,不要只花钱 --Solana代理支付网络费用,但钱包也可以在旧账户、缓冲区、赌注和奖励中持有可回收的SOL。
- 默认安全 --只读扫描模式适用于零配置;索赔需要一个模拟运行和60秒的一次性执行令牌。
- 本地签名 --在交易签名之前,没有种子短语、程序分配验证和费用上限。
- 代理就绪 --适用于Claude Desktop/Code、Cursor、Windsurf、Codex CLI和其他MCP客户端。
覆盖
截至2026年7月的覆盖范围:
| 能力 | 典型的代币账户清理工具 | 无人认领的SOL MCP |
|---|---|---|
| 休眠令牌帐户 | 是 | 是,包括token-2022 |
| 垃圾邮件NFT | 有时 | 是 |
| 程序缓冲区 | 罕见 | 是 |
| 停用股份 | 罕见 | 是 |
| DeFi奖励 | 罕见 | 是 |
| 多余的灯孔 | 罕见 | 是 |
| 只读扫描模式零配置 | 有时 | 是 |
| 密钥对文件选项 | 有时 | 是的,通过 SOLANA_KEYPAIR_PATH |
它做什么
Solana钱包在休眠的代币账户(包括token-2022)、垃圾NFT、程序缓冲账户、停用的赌注、DeFi奖励和多余的灯口中积累租金锁定的SOL。此MCP服务器允许AI代理和助手:
- 扫描 任何钱包,用于检查休眠令牌账户和程序缓冲区中的可回收SOL。
- 索赔 (Vibe索赔)-烧毁毫无价值的代币余额,关闭休眠账户,并收回租金SOL。通过UnclaimedSOL链上程序在本地签署和广播交易。令牌清理允许用户为每个关闭的帐户保留高达0.002 SOL;缓冲区使用5%的费用。
- 领取奖励 --申请未收到的DeFi奖励(现金返还、创作者费用等)。Pump/PumpSwap的上限为3%,即1索尔或100美元;其他奖励为15%。
- 索赔权益 --从已停用的权益账户中提取SOL。3%的费用。
费用
| 类别 | 费用 |
|---|---|
| 扫描 | 免费 |
| 令牌清理 | 用户每个关闭的帐户最多可保留0.002 SOL |
| 程序缓冲区 | 5% |
| DeFi奖励 | 一般15% |
| Pump/PumpSwap奖励 | 3%,上限为1索尔/100美元 |
| 停用股份 | 3% |
没有资金通过MCP服务器。
工具
scan_claimable_sol
注释标题: 扫描钱包以获取可申请的SOL
扫描钱包中锁定在休眠令牌帐户(包括token-2022)和程序缓冲区帐户中的SOL。只读——无需交易,无需密钥对。DeFi奖励和停用的赌注是通过以下方式发现的 claim_rewards 和 claim_stakes 干跑。
输入: wallet_address (base58公钥;在声明启用模式下可选,默认为配置的密钥对钱包)
claim_sol
注释标题: 索赔休眠SOL(Vibe索赔)
索赔可收回的SOL。需要一个已配置的键盘对。采用两步流程:
- 试运行 (默认)--显示可回收账户、估计SOL、费用和交易计数的明细。一次性退货
execution_token有效期为60秒。 - 执行 --再次致电
dry_run: false和那个execution_token签署和广播。
输入: wallet_address (在索赔启用模式下可选,默认为配置的密钥对钱包), dry_run (默认为真), execution_token, max_transactions (默认值10), exclude (执行时跳过的可选令牌符号/名称)
此操作是不可逆的,已关闭的帐户无法恢复。
claim_rewards
注释标题: 领取DeFi奖励
领取未领取的DeFi奖励(现金返还、创作者费用等)。需要一个已配置的键盘对。使用与以下相同的两步模拟运行/执行流程 claim_solPump/PumpSwap的上限为3%,即1索尔或100美元;其他奖励为15%。
输入: wallet_address (在索赔启用模式下可选,默认为配置的密钥对钱包), dry_run (默认为真), execution_token
claim_stakes
注释标题: 索赔已停用权益
从已停用的权益账户中提取SOL。需要一个已配置的键盘对。使用相同的两步模拟运行/执行流程。可选地传递特定的权益账户地址以进行索赔。
输入: wallet_address (在索赔启用模式下可选,默认为配置的密钥对钱包), dry_run (默认为真), execution_token, stake_accounts (可选数组)
示例提示
- “扫描我的钱包寻找可回收的SOL”
- “我可以收回多少SOL?”
- “试运行一下,看看我能索赔什么”
- “认领我的休眠令牌帐户”
- “为我的钱包领取奖励”
- “领取我已停用的股份”
- “我可以从中收回多少SOL
<wallet_address>?" - “扫描
<wallet_address>可回收SOL” - “每天早上,扫描我的钱包,告诉我是否有超过0.05 SOL需要回收”
- “在执行之前,模拟完整的索赔并向我展示费用明细”
- “索赔除我的BONK帐户外的所有内容”
设置
先决条件
- Node.js 18+
- npm
快速安装(推荐)
如果您的MCP客户端支持包命令,则不需要克隆/构建:
npx -y @unclaimed-sol/mcp
安装和构建(替代方案)
git clone https://github.com/unclaimed-sol/unclaimed-sol-mcp.git && cd unclaimed-sol-mcp
npm install
npm run build
配置
Vibe索赔模式(推荐)
所有工具均已暴露(scan_claimable_sol, claim_sol, claim_rewards, claim_stakes).交易在本地使用您的密钥对进行签名,并广播到Solana网络。
适用于克劳德桌面/光标/Windsurf
使用npm包(推荐):
{
"mcpServers": {
"unclaimed-sol": {
"command": "npx",
"args": ["-y", "@unclaimed-sol/mcp"],
"env": {
"SOLANA_KEYPAIR_PATH": "~/.config/solana/id.json",
"SOLANA_RPC_URL": "https://your-rpc-provider.com"
}
}
}
}
使用本地构建:
{
"mcpServers": {
"unclaimed-sol": {
"command": "node",
"args": ["/absolute/path/to/unclaimed-sol-mcp/dist/index.js"],
"env": {
"SOLANA_KEYPAIR_PATH": "~/.config/solana/id.json",
"SOLANA_RPC_URL": "https://your-rpc-provider.com"
}
}
}
}
给Claude代码
使用npm包(推荐):
claude mcp add unclaimed-sol \
-e SOLANA_KEYPAIR_PATH=~/.config/solana/id.json \
-e SOLANA_RPC_URL=https://your-rpc-provider.com \
-- npx -y @unclaimed-sol/mcp
使用本地构建:
claude mcp add unclaimed-sol \
-e SOLANA_KEYPAIR_PATH=~/.config/solana/id.json \
-e SOLANA_RPC_URL=https://your-rpc-provider.com \
-- node /absolute/path/to/unclaimed-sol-mcp/dist/index.js
用于Codex CLI
使用npm包(推荐):
codex mcp add unclaimed-sol \
--env SOLANA_KEYPAIR_PATH=~/.config/solana/id.json \
--env SOLANA_RPC_URL=https://your-rpc-provider.com \
-- npx -y @unclaimed-sol/mcp
使用本地构建:
codex mcp add unclaimed-sol \
--env SOLANA_KEYPAIR_PATH=~/.config/solana/id.json \
--env SOLANA_RPC_URL=https://your-rpc-provider.com \
-- node /absolute/path/to/unclaimed-sol-mcp/dist/index.js
可选的仅扫描模式(无按键对)
只有 scan_claimable_sol 工具已暴露。没有交易被签署或发送。
使用npm包:
{
"mcpServers": {
"unclaimed-sol": {
"command": "npx",
"args": ["-y", "@unclaimed-sol/mcp"]
}
}
}
使用本地构建:
{
"mcpServers": {
"unclaimed-sol": {
"command": "node",
"args": ["/absolute/path/to/unclaimed-sol-mcp/dist/index.js"]
}
}
}
验证安装
- 克劳德代码:
claude mcp list并确认unclaimed-sol存在。 - Codex CLI:
codex mcp list并确认unclaimed-sol存在。 - 烟雾测试:让你的助手运行
scan wallet <your_wallet>并确认scan_claimable_sol执行。
故障排除
- 如果工具没有出现,请在配置更改后重新启动MCP客户端。
- 如果使用本地构建,请确保
dist/index.js存在(npm run build)路径是绝对的。 - 如果索赔工具丢失,请确认
SOLANA_KEYPAIR_PATH(或SOLANA_PRIVATE_KEY)已设置。
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
UNCLAIMED_SOL_API_URL |
无 | 后端API URL。默认为 https://unclaimedsol.com. |
UNCLAIMED_SOL_API_KEY |
没有 | API密钥作为发送 Authorization: Bearer 头球 |
SOLANA_KEYPAIR_PATH |
否 | Solana密钥对JSON文件的路径。启用Vibe索赔。 |
SOLANA_PRIVATE_KEY |
否 | 私钥为base58字符串或JSON字节数组。使用 SOLANA_KEYPAIR_PATH 如果可能的话。 |
SOLANA_RPC_URL |
否 | Solana RPC终结点。默认为 https://api.mainnet-beta.solana.com建议使用专用RPC进行索赔。 |
SOLANA_PRIORITY_FEE |
无 | 每个计算单元的微端口优先费。默认值:1000。最大值:200000。 |
安全
- 强制HTTPS -声明模式要求API URL使用HTTPS(仅允许本地主机使用HTTP)。
- API URL允许列表 --索赔模式仅连接到
unclaimedsol.com,localhost,或127.0.0.1. - 预签名验证 --每笔交易在签名前都经过验证:程序分配列表、固定到本地衍生PDA的精确指令帐户布局、费用上限执行和每笔交易索赔要求。对于股份,费用上限来自经过验证的链上提款金额。对于奖励,费用上限会与独立扫描进行交叉检查(见下面的信任模型)。
- 执行令牌 --索赔要求先进行试运行。代币是一次性使用的,单钱包,60秒后到期。
- 钥匙扣留在当地 --你的私钥永远不会离开你的机器。交易在本地签署。
- 安全过滤 --令牌帐户在服务器端进行过滤(
maxClaimMode: false)排除有价值的代币和NFT。冻结的帐户将被跳过。 - 请求超时 -所有API调用都有15秒的超时。
索赔是如何运作的
令牌/缓冲区声明(claim_sol)
- MCP服务器调用UnclaimedSOL后端以获取可回收令牌和缓冲区帐户。
- 指令是使用
@unclaimedsol/spl-burn-close-sdk--代币余额被销毁,账户通过UnclaimedSOL链上程序关闭。 - 交易在本地使用您的密钥对进行签名,并广播到Solana网络。
- 链上计划收集每个成功关闭的账户0.002 SOL以上的恢复代币账户租金,外加5%的缓冲区。没有资金通过MCP服务器。
奖励索赔(claim_rewards)
- 后端构建包含DeFi奖励索赔指令和费用转账的未签名交易。
- MCP验证每一条指令:精确的帐户布局、鉴别器和本地派生的PDA。费用上限为独立扫描奖励总额的15%,而Pump/PumpSwap的定价预计会更低。
- 交易在本地签名并广播。
权益索赔(claim_stakes)
- 后端构建包含权益提取指令和费用转账的未签名交易。
- MCP验证每一条指令:仅提取,准确的账户计数,费用上限为从指令数据中提取的已验证提取金额的3%。
- 交易在本地签名并广播。
验证器信任模型
预签名验证器(validateTransactionPrograms)根据索赔类型提供不同级别的保护:
claim_sol--指令是使用SDK在本地构建的。验证器检查程序ID和费用库是否存在。claim_stakes— 全价值水平安全。 提款金额由权益指令数据证明。费用上限是本地得出的,不依赖于任何后端报告的值。claim_rewards— 结构安全。 DeFi奖励索赔金额在执行时在链上确定,不编码在指令数据中。费用上限与独立机构进行交叉检查/scan调用,它可以防止后端端点之间的意外漂移,但不能防止完全受损的后端。
在所有情况下:指令形状都是精确固定的(每个帐户位置都根据本地导出的PDA、精确的帐户计数、已知的鉴别器进行验证)。
项目结构
src/
index.ts MCP server entry point (stdio transport)
constants.ts Program IDs, fee vault, fee caps, batching limits
config.ts Environment variable loading and validation
validation.ts Wallet address validation
formatter.ts SOL display formatting
cache.ts In-memory scan cache (60s TTL)
execution-token-store.ts Generic two-step dry-run/execute token management
tools/
scan.ts scan_claimable_sol tool handler
claim.ts claim_sol tool handler (tokens + buffers)
claim-rewards.ts claim_rewards tool handler (DeFi rewards)
claim-stakes.ts claim_stakes tool handler (deactivated stakes)
services/
scanner.ts Backend API client (scan, tokens, buffers, rewards, stakes)
transaction.ts Transaction building + pre-sign validation
signer.ts Batch sign, send, confirm with retry
许可证
麻省理工学院