README
🚀 Kaspa MCP
Kaspa MCP 是一个用于在 Kaspa 有向无环图(blockDAG)上发送 KAS 代币的服务器。它借助先进的技术架构,为用户提供了便捷、高效且安全的 KAS 代币发送服务,极大地提升了用户在 Kaspa 网络中的操作体验。
🚀 快速开始
Kaspa MCP 是一个用于在 Kaspa 有向无环图(blockDAG)上发送 KAS 的 MCP 服务器。
✨ 主要特性
Kaspa 是一种快速、可扩展的第一层加密货币,基于工作量证明(PoW)构建,并由 GHOSTDAG 协议提供支持。GHOSTDAG 是一种新颖的共识机制,它扩展了中本聪的原始设计。与传统区块链丢弃竞争块不同,GHOSTDAG 允许并行块共存,并在有向无环图(blockDAG)中对它们进行排序,从而在保持去中心化和安全性的同时实现高吞吐量。
- 每秒 10 个区块,具有亚秒级确定性(2025 年 5 月 Crescendo 升级)
- 工作量证明,使用 kHeavyHash 算法
- 公平启动 - 无预挖、无 ICO、无代币分配
- 去中心化 - 在标准硬件上运行
📦 安装指南
npm install
npm run build
📚 详细文档
配置
设置以下环境变量:
| 变量 | 是否必需 | 描述 |
|------|----------|-------------|
| KASPA_MNEMONIC | 是* | BIP39 助记词(24 个单词) |
| KASPA_PRIVATE_KEY | 是* | 十六进制编码的私钥(助记词的替代方案) |
| KASPA_NETWORK | 否 | 网络:mainnet、testnet-10、testnet-11。默认为 mainnet |
| KASPA_ACCOUNT_INDEX | 否 | 使用助记词时的 BIP44 账户索引。默认为 0 |
*必须设置 KASPA_MNEMONIC 或 KASPA_PRIVATE_KEY。
与 Claude Desktop 一起使用
添加到你的 Claude Desktop 配置文件(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kaspa": {
"command": "npx",
"args": ["kaspa-mcp"],
"env": {
"KASPA_MNEMONIC": "your twenty four word mnemonic phrase here ...",
"KASPA_NETWORK": "mainnet"
}
}
}
}
工具
generate_mnemonic
生成一个新的 BIP39 助记词,并派生相应的 Kaspa 钱包地址。
参数:
wordCount(可选):单词数量 - 12 或 24(默认:12)network(可选):地址派生的网络 -mainnet、testnet-10或testnet-11(默认:mainnet)
返回值:
{
mnemonic: string, // 生成的 BIP39 助记词
address: string, // 派生的 Kaspa 地址(账户 0)
network: string, // 使用的网络
warning: string // 安全提醒
}
重要提示: 助记词是使用加密安全的随机数生成的。请安全保存 - 如果丢失将无法恢复。
get_my_address
获取从你配置的私钥或助记词派生的 Kaspa 地址。
返回值: { address: string }
get_balance
获取 Kaspa 地址的余额。
参数:
address(可选):要检查的地址。默认为你的钱包地址。
返回值: { address: string, balance: string, utxoCount: number }
get_fee_estimate
从网络获取当前的费用估算。
返回值: { priorityFee: string, normalFee: string, lowFee: string }
send_kaspa
向接收方发送 KAS 代币。
参数:
to:接收方的 Kaspa 地址(必须与钱包网络匹配)amount:KAS 数量,以字符串形式表示(例如,"10.5",最多 8 位小数)priorityFee(可选):优先费用,以 sompi 为单位
返回值: { txId: string, fee: string }
验证:
- 地址格式和网络前缀验证
- 金额必须是有效的正十进制数
- 最多 8 位小数(1 sompi = 0.00000001 KAS)
- 广播前检查余额是否充足
get_transaction
获取交易详情,包括输入和输出。
参数:
txId:交易 ID
返回值:
{
txId: string,
accepted: boolean,
blockHash?: string,
blockTime?: number,
inputs: Array<{ transactionId: string, index: number }>,
outputs: Array<{ index: number, amount: string, address: string }>
}
示例

测试提示
尝试以下提示以验证你的 MCP 是否正常工作:
"Generate a new Kaspa wallet for me"
"What is my Kaspa address?"
"How much KAS do I have?"
"What are the current network fees?"
"Send 5 KAS to kaspa:qz..."
MCP 将执行以下操作:
- 验证接收方地址是否与你的网络匹配
- 检查你的余额是否充足
- 使用符合 KIP-9 的费用构建交易
- 使用你的私钥签名
- 通过公共节点广播到网络
- 返回交易 ID
🔧 技术细节
- 使用 kaspa-wasm 进行加密操作
- 通过解析器连接到公共节点以实现自动节点发现
- 为助记词钱包实现 BIP44 派生路径
m/44'/111111'/account' - 交易构建使用生成器进行符合 KIP-9 的 UTXO 管理
🔒 安全保障
- 私钥和助记词仅在本地用于签名
- 密钥从不发送到任何外部服务
- 错误消息经过清理,以防止机密信息泄露
- 所有交易都需要用户通过 MCP 工具进行明确操作
💻 使用示例
测试命令
npm test
测试套件包括基于 Kaspium 钱包 的确定性测试向量,用于跨实现验证。测试向量存储在 src/kaspa/test-vectors.json 中,包括:
- 标准 BIP39 测试助记词(12 和 24 个单词)
- 已知私钥 → 地址派生
- 无效输入验证
这些向量确保使用 BIP44 路径 m/44'/111111'/account'/0/0 的 Kaspa 钱包实现之间的密钥派生一致。
注意: 币种类型 111111 是 Kaspa 的事实上的标准,被 rusty-kaspa(官方节点)、Kaspium 和 kaspa-wasm 使用。虽然未在 SLIP-0044 中正式注册,但它是既定的生态系统约定。
网络信息
| 网络 | 地址前缀 | API 端点 |
|---------|---------------|--------------|
| mainnet | kaspa: | api.kaspa.org |
| testnet-10 | kaspatest: | api-tn10.kaspa.org |
| testnet-11 | kaspatest: | api-tn11.kaspa.org |
📄 许可证
ISC
微信扫一扫