Hedera MCP服务器
用于与Hedera网络交互的模型上下文协议(MCP)服务器。该服务器提供创建Hedera钱包、检查账户余额、构建交易和发送签名交易的工具。
⚠️ 安全警告
这是一个演示实现,不应该在生产中使用。 当前的实现有几个安全漏洞:
- 私钥在响应体中发送
- 不加密敏感数据
- 无交易验证机制
此实现旨在演示MCP概念,在用于生产环境之前应进行适当的保护。
主要目标
此MCP服务器的主要目的是演示MCP服务器如何处理事务构造和执行,客户端只需验证事务。明确地:
- 事务构建完全在MCP服务器上进行
- 客户签署构建的交易
- MCP服务器处理向Hedera网络提交的交易
- 这种架构允许集中式事务逻辑,并降低了客户端的复杂性
先决条件
- Node.js(v18或更高版本)
- npm或纱线
- Hedera帐户(用于测试网或主网)
安装
- 克隆此存储库:
git clone https://github.com/hedera-dev/hedera-mcp-server.git
cd hedera-mcp-server- 安装依赖项:
npm install- 创建一个
.env根目录中的文件,其中包含您的Hedera凭据:
HEDERA_OPERATOR_ID=your-operator-account-id
HEDERA_OPERATOR_KEY=your-operator-private-key
HEDERA_NETWORK=testnet # or mainnet
PORT=3000 # optional, defaults to 3000构建应用程序
编译TypeScript代码:
npm run build对于自动重新编译的开发:
npm run dev运行服务器
启动服务器:
npm start服务器将在以下时间可用http://localhost:3000(或.env文件中指定的端口)。
使用测试客户端进行测试
该存储库包含一个测试客户端脚本,演示如何连接到MCP服务器并使用其工具。该客户端提供了一个完整的端到端流程,展示了所有可用的工具。
运行测试客户端:
node test-client.js测试客户端将:
- 连接到MCP服务器
- 列出可用工具
- 创建新的Hedera钱包(创建钱包工具)
- 检查新账户的余额(检查余额工具)
- 构建交易,将账户的全部余额转移到操作员账户(构建交易工具)
- 使用Hedera SDK在客户端签署交易
- 将已签名的交易提交到Hedera网络(发送交易工具)
- 显示交易结果
这展示了通过MCP服务器与Hedera网络交互的完整生命周期,从帐户创建到交易提交。
可用的MCP工具
服务器提供以下工具:
- 创建钱包:创建一个初始余额最低的新Hedera账户
- 无需输入参数 - 返回帐户ID、公钥和私钥
- 检查余额:检查Hedera账户的余额
- 输入: accountId (字符串) - 返回tinybars中的账户余额
- 构建交易:建立转账交易(无需签名)
- 输入: - senderAccountId (字符串) - recipientAccountId (字符串) - amount (数字,以tinybars为单位) - 返回base64编码的事务
- 发送交易:将已签名的交易发送到Hedera网络
- 输入: signedTransaction (字符串,base64编码) - 返回交易状态和ID
部署
包含一个简单的部署脚本:
./deploy.sh请确保首先使其可执行:
chmod +x deploy.sh