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-10rpcUrl(可选):自定义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:17110Testnet-10:✅公共端点
wss://photon-10.kaspa.red/kaspa/testnet-10/wrpc/borshDevnet:(需要本地节点)
ws://127.0.0.1:16610Simnet:(需要本地节点)
ws://127.0.0.1:16510
按网络划分的地址格式
主网地址:以(例如,
kaspa:kaspa:qz...)测试网地址:以(例如,
kaspatest:kaspatest:qr...)Devnet 地址:以(例如,
kaspadev:kaspadev:qp...)Simnet地址:以(例如,
kaspasim:kaspasim:qq...)
⚠️重要:地址是网络特定的。你不能从主网钱包向测试网地址发送,反之亦然。
错误处理
所有工具都会返回结构化错误信息,包含:
错误代码(遵循MCP标准)
描述性错误信息
关于失败的背景
例子
基本工作流程
连接测试网:
{"name": "kaspa_connect", "arguments": {"network": "testnet-10"}}创建钱包:
{"name": "kaspa_create_wallet", "arguments": {}}检查余额:
{"name": "kaspa_get_balance", "arguments": {"address": "kaspatest:qq..."}}发送交易:
{ "name": "kaspa_send_transaction", "arguments": { "from": "kaspatest:qq...", "to": "kaspatest:qr...", "amount": "0.1", "payload": "Test transaction from MCP"
}
}安全工作流程(预配置钱包)
使用预配置的钱包配置(在MCP客户端配置中设置环境变量):
预设钱包:
{"name": "kaspa_setup_preconfigured_wallet", "arguments": {}}获取钱包信息:
{"name": "kaspa_get_wallet_info", "arguments": {}}发送交易(不向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
| 感动 | 同情 | 无聊 | 愤怒 | 搞笑 | 难过 | 高兴 | 路过 |
- 上一篇:四种路径的未来金融结构:从主权货币到 K…
- 下一篇:没有了!
相关文章
-
没有相关内容

会员登录