Hedera网络交互服务器

Hedera MCP服务器是一个用于与Hedera网络交互的工具,提供创建钱包、查询余额、构建交易和发送签名交易等功能,适用于区块链开发和测试场景。

  • by hedera-dev
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 hedera-dev/hedera-mcp-server

使用说明

Hedera MCP服务器

用于与Hedera网络交互的模型上下文协议(MCP)服务器。该服务器提供创建Hedera钱包、检查账户余额、构建交易和发送签名交易的工具。

⚠️ 安全警告

这是一个演示实现,不应该在生产中使用。 当前的实现有几个安全漏洞:

  • 私钥在响应体中发送
  • 不加密敏感数据
  • 无交易验证机制

此实现旨在演示MCP概念,在用于生产环境之前应进行适当的保护。

主要目标

此MCP服务器的主要目的是演示MCP服务器如何处理事务构造和执行,客户端只需验证事务。明确地:

  1. 事务构建完全在MCP服务器上进行
  2. 客户签署构建的交易
  3. MCP服务器处理向Hedera网络提交的交易
  4. 这种架构允许集中式事务逻辑,并降低了客户端的复杂性

先决条件

  • Node.js(v18或更高版本)
  • npm或纱线
  • Hedera帐户(用于测试网或主网)

安装

  1. 克隆此存储库:

    git clone https://github.com/hedera-dev/hedera-mcp-server.git
    cd hedera-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个 .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

测试客户端将:

  1. 连接到MCP服务器
  2. 列出可用工具
  3. 创建新的Hedera钱包(创建钱包工具)
  4. 检查新账户的余额(检查余额工具)
  5. 构建交易,将账户的全部余额转移到操作员账户(构建交易工具)
  6. 使用Hedera SDK在客户端签署交易
  7. 将已签名的交易提交到Hedera网络(发送交易工具)
  8. 显示交易结果

这展示了通过MCP服务器与Hedera网络交互的完整生命周期,从帐户创建到交易提交。

可用的MCP工具

服务器提供以下工具:

  1. 创建钱包:创建一个初始余额最低的新Hedera账户

    • 无需输入参数
    • 返回帐户ID、公钥和私钥
  2. 检查余额:检查Hedera账户的余额

    • 输入: accountId (字符串)
    • 返回tinybars中的账户余额
  3. 构建交易:建立转账交易(无需签名)

    • 输入:
      • senderAccountId (字符串)
      • recipientAccountId (字符串)
      • amount (数字,以tinybars为单位)
    • 返回base64编码的事务
  4. 发送交易:将已签名的交易发送到Hedera网络

    • 输入: signedTransaction (字符串,base64编码)
    • 返回交易状态和ID

部署

包含一个简单的部署脚本:

./deploy.sh

请确保首先使其可执行:

chmod +x deploy.sh