Kaspa MCP服务器

用于在Kaspa blockDAG上发送KAS的MCP服务器,提供钱包管理和交易功能。

  • by kasanova-io
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 kasanova-io/kaspa-mcp

使用说明

卡斯帕MCP

MCP服务器,用于在Kaspa blockDAG上发送KAS。

关于卡斯帕

卡斯帕 是一种基于工作量证明(PoW)的快速、可扩展的第1层加密货币,由GHOSTDAG协议提供支持,这是一种扩展中本聪原始设计的新型共识机制。与丢弃竞争块的传统区块链不同,GHOSTDAG允许并行块共存,并在有向无环图(blockDAG)中对其进行排序,从而在保持去中心化和安全性的同时实现高吞吐量。

主要特点:

  • 每秒10个区块 具有亚秒级的最终性(Crescendo升级,2025年5月)
  • 工作量证明 使用kHeavyHash算法
  • 公平启动 -没有premine,没有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桌面配置(~/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 (默认:主网)

退货:

{
  mnemonic: string,    // The generated BIP39 mnemonic phrase
  address: string,     // Derived Kaspa address (account 0)
  network: string,     // Network used
  warning: string      // Security reminder
}

重要提示: 助记符是使用加密安全的随机性生成的。安全地保存它——丢失后无法恢复。

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 (可选):索皮优先费

退货: { 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将:

  1. 验证收件人地址是否与您的网络匹配
  2. 检查您的余额是否足够
  3. 使用符合KIP-9标准的费用建立交易
  4. 使用您的私钥签名
  5. 通过公共节点向网络广播
  6. 返回交易ID

技术细节

  • 用途 kaspa wasm 用于加密操作
  • 通过解析器连接到公共节点以进行自动节点发现
  • 实现BIP44派生路径 m/44'/111111'/account' 用于记忆钱包
  • 交易大楼使用Generator进行KIP-9兼容的UTXO管理

安全

  • 私钥和助记符仅在本地用于签名
  • 密钥从不发送到任何外部服务
  • 对错误消息进行净化,以防止秘密泄露
  • 所有交易都需要通过MCP工具进行明确的用户操作

测试

npm test

该测试套件包括基于 Kaspium钱包 用于交叉实施验证。测试向量存储在 src/kaspa/test-vectors.json 包括:

  • 标准BIP39测试助记符(12和24个单词)
  • 已知私钥→ 地址派生
  • 输入验证无效

这些向量确保密钥推导在使用BIP44路径的Kaspa钱包实现中保持一致 m/44'/111111'/account'/0/0.

注: 硬币类型 111111 是Kaspa事实上的标准,由生锈的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