您现在的位置:kastop>> Kas信息 Kaspa应用>>正文内容

Kaspa MCP Server开源项目


https://github.com/pichukov/kaspa-mcp-server


使用 WASM SDK 的 Kaspa作建模上下文协议服务器。使LLM能够通过标准化的MCP工具与Kaspa网络交互。

特征

  • 🔗 连接到不同的Kaspa网络(主网、testnet-10、devnet、simnet)

  • 👛 钱包管理——创建、导入和管理高清钱包

  • 💰 余额检查——获取余额和UTXO信息

  • 📤 发送事务——发送带有可选有效载荷/消息的KAS

  • 📊 费用估算——计算交易费用

  • 🔐 地址验证 - 验证 Kaspa 地址

  • 🎲 助记词生成——生成安全钱包助记法

设置

npm run install-all
npm run build

环境变量

MCP 服务器支持若干环境变量进行配置:

网络配置

  • KASPA_DEFAULT_NETWORK: 默认使用的网络 (, , ,mainnettestnet-10devnetsimnet)

  • KASPA_MAINNET_RPC_URL: 自定义主网RPC端点

  • KASPA_TESTNET_RPC_URL: 自定义测试网 RPC 端点

  • KASPA_LOG_LEVEL:日志水平 (, , , , ,offerrorwarninfodebugtrace)

钱包配置(安全)

  • KASPA_WALLET_MNEMONIC:预配置钱包助记短语(12-24个单词)

  • KASPA_WALLET_PRIVATE_KEY: 预配置钱包私钥(十六进制格式)

安全提示:利用环境变量将敏感的钱包凭证远离AI代理和对话记录。

示例 .env 文件

KASPA_DEFAULT_NETWORK=testnet-10
KASPA_TESTNET_RPC_URL=wss://photon-10.kaspa.red/kaspa/testnet-10/wrpc/borsh
KASPA_WALLET_MNEMONIC="your twelve word mnemonic phrase here for testnet use only"KASPA_LOG_LEVEL=info

用法

作为MCP服务器

在你的MCP客户端配置中添加:

基本配置

{  "mcpServers": {    "kaspa": {      "command": "node",      "args": ["/path/to/kaspa-mcp-server/dist/index.js"]
    }
  }
}

注意:配置字段名称因MCP客户端而异:

  • Claude Desktop:使用"mcpServers"

  • 其他MCP客户端:可能使用或"servers""mcp_servers"

  • 自定义实现:请查看客户文档中的字段名称是否正确

使用预配置钱包配置(推荐)

为了安全作环境变量:

{  "mcpServers": {    "kaspa": {      "command": "node",      "args": ["/path/to/kaspa-mcp-server/dist/index.js"],      "env": {        "KASPA_WALLET_MNEMONIC": "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",        "KASPA_DEFAULT_NETWORK": "testnet-10",        "KASPA_LOG_LEVEL": "info"
      }
    }
  }
}

安全提示:用你钱包的助记词替换示例助记词。这样可以保护你的钱包凭证,避免AI对话记录。

发展

npm run dev

可用工具

1. 🔌 (步骤1)kaspa_connect

连接到Kaspa网络。在使用任何钱包或交易工具之前,必须先调用这个功能

参数:

  • network(必备):网络类型(, , , ) - 用于测试mainnettestnet-10devnetsimnettestnet-10

  • rpcUrl(可选):自定义RPC端点

  • sessionId(可选):会话标识符(默认:default)

例:

{  "name": "kaspa_connect",  "arguments": {    "network": "testnet-10",    "sessionId": "my-session"
  }
}

2.kaspa_create_wallet

创建或导入Kaspa钱包。

参数:

  • sessionId(可选):会话标识符

  • mnemonic(可选):从助记词导入

  • privateKey(可选):从私钥导入

例:

{  "name": "kaspa_create_wallet",  "arguments": {    "sessionId": "my-session"
  }
}

3.kaspa_get_balance

获取Kaspa地址余额。

参数:

  • address(必查):Kaspa地址

  • sessionId(可选):会话标识符

例:

{  "name": "kaspa_get_balance",  "arguments": {    "address": "kaspa:qq..."
  }
}

4.kaspa_send_transaction

发送Kaspa交易。

参数:

  • from(必需):发件人地址

  • to(必填):收件人地址

  • amount(要求):KAS金额(例如,“1.5”)

  • priorityFee(可选):KAS 优先费用

  • payload(可选):需附加的消息/数据

  • sessionId(可选):会话标识符

例:

{  "name": "kaspa_send_transaction",  "arguments": {    "from": "kaspa:qq...",    "to": "kaspa:qr...",    "amount": "1.5",    "payload": "Payment for services"
  }
}

5.kaspa_estimate_fee

估算交易费用。

参数:

  • from(必需):发件人地址

  • to(必填):收件人地址

  • amount(必需):KAS 金额

  • sessionId(可选):会话标识符

6.kaspa_generate_mnemonic

生成一个新的助记词。

参数:

  • wordCount(可选):单词数(12、15、18、21、24)

7.kaspa_validate_address

验证Kaspa地址。

参数:

  • address(必填):地址以验证

  • network(可选):用于验证的网络

8.kaspa_setup_preconfigured_wallet

用环境变量预配置的凭证设置钱包。

参数:

  • sessionId(可选):会话标识符

所需环境变量:

  • KASPA_WALLET_MNEMONIC:12-24 单词助记短语

  • KASPA_WALLET_PRIVATE_KEY: 私钥以十六进制格式

例:

{  "name": "kaspa_setup_preconfigured_wallet",  "arguments": {}
}

9.kaspa_get_wallet_info

获取钱包信息。

参数:

  • sessionId(可选):会话标识符

会话管理

服务器支持使用参数的多个并发会话。每个会议都维护自己的:sessionId

  • 网络连接

  • 钱包实例

  • 配置

安全说明

  • 🔒 切勿记录或暴露私钥或助记符

  • 🌐 使用测试网进行开发和测试

  • 💾 钱包凭据仅存储在内存中(不持久保存)

  • 🧹 服务器关闭时资源会自动清理

  • 🔐 预配置钱包:利用环境变量将敏感凭证远离AI代理

  • ⚠️ 环境安全:确保你的 .env 文件没有提交到版本控制

网络端点

默认端点:

  • 主网:✅公共端点ws://seeder2.kaspad.net:17110

  • Testnet-10:✅公共端点wss://photon-10.kaspa.red/kaspa/testnet-10/wrpc/borsh

  • Devnet:(需要本地节点)ws://127.0.0.1:16610

  • Simnet:(需要本地节点)ws://127.0.0.1:16510

按网络划分的地址格式

  • 主网地址:以(例如,kaspa:kaspa:qz...)

  • 测试网地址:以(例如,kaspatest:kaspatest:qr...)

  • Devnet 地址:以(例如,kaspadev:kaspadev:qp...)

  • Simnet地址:以(例如,kaspasim:kaspasim:qq...)

⚠️重要:地址是网络特定的。你不能从主网钱包向测试网地址发送,反之亦然。

错误处理

所有工具都会返回结构化错误信息,包含:

  • 错误代码(遵循MCP标准)

  • 描述性错误信息

  • 关于失败的背景

例子

基本工作流程

  1. 连接测试网:

{"name": "kaspa_connect", "arguments": {"network": "testnet-10"}}
  1. 创建钱包:

{"name": "kaspa_create_wallet", "arguments": {}}
  1. 检查余额:

{"name": "kaspa_get_balance", "arguments": {"address": "kaspatest:qq..."}}
  1. 发送交易:

{  "name": "kaspa_send_transaction",  "arguments": {    "from": "kaspatest:qq...",    "to": "kaspatest:qr...",    "amount": "0.1",    "payload": "Test transaction from MCP"
  }
}

安全工作流程(预配置钱包)

使用预配置的钱包配置(在MCP客户端配置中设置环境变量):

  1. 预设钱包:

{"name": "kaspa_setup_preconfigured_wallet", "arguments": {}}
  1. 获取钱包信息:

{"name": "kaspa_get_wallet_info", "arguments": {}}
  1. 发送交易(不向AI暴露私钥):

{  "name": "kaspa_send_from_wallet",  "arguments": {    "to": "kaspatest:qr...",    "amount": "0.1",    "feePriority": "normal",    "payload": "Optional message"
  }
}

好处:

  • 🔒 安全:私密凭据从不出现在AI对话日志中

  • ⚡ 快速:每次都无需手动连接或创建钱包

  • 🔄 一致性:同一钱包在多个会话中使用

  • 🛡️ 安全:环境变量将敏感数据远离人工智能代理

安装

# Install all dependencies (workspace + nested packages)
npm run install-all

# Build everything (SDK first, then MCP server)
npm run build

# Development mode
npm run dev

# Run production server
npm start

# Clean build artifacts
npm run clean



感动 同情 无聊 愤怒 搞笑 难过 高兴 路过
【字体: 】【收藏】【打印文章】 【 打赏 】 【查看评论

相关文章

    没有相关内容