返回市场
高性能MCP服务器

高性能MCP服务器

作者:hedera-dev2 星标更新:2025-04-22

项目介绍

Hedera MCP Server

这是一个用于与Hedera网络交互的Model Context Protocol (MCP)服务器。该服务器提供了创建Hedera钱包、检查账户余额、构建交易以及发送已签名交易的工具。

⚠️ 安全警告

这是一个演示实现,不应在生产环境中使用。 当前实现存在多个安全漏洞:

  • 私钥通过响应体发送
  • 敏感数据未加密
  • 没有交易验证机制

此实现旨在展示MCP概念,并应在部署到生产环境之前进行适当的安全加固。

主要目标

此MCP服务器的主要目的是展示如何由MCP服务器处理交易构建和执行,而客户端只需验证交易。具体来说:

  1. 交易构建完全在MCP服务器上进行
  2. 客户端对构建的交易进行签名
  3. MCP服务器负责将交易提交到Hedera网络
  4. 这种架构允许集中管理交易逻辑并减少客户端复杂性

预备条件

  • Node.js(版本18或更高)
  • npm 或 yarn
  • 一个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  # 或 mainnet
    PORT=3  # 可选,默认为3000
    

构建应用程序

编译TypeScript代码:

npm run build

对于开发模式下的自动重新编译:

npm run dev

运行服务器

启动服务器:

npm start

服务器将在http://localhost:3000(或.env文件中指定的端口)可用。

使用测试客户端进行测试

该仓库包含一个测试客户端脚本,展示了如何连接到MCP服务器并使用其工具。此客户端提供了一个完整的端到端流程,展示了所有可用工具。

运行测试客户端:

node test-client.js

测试客户端将:

  1. 连接到MCP服务器
  2. 列出可用工具
  3. 创建一个新的Hedera钱包(create-wallet工具)
  4. 检查新账户的余额(check-balance工具)
  5. 构建一个交易,将账户的全部余额转移到操作员账户(build-transaction工具)
  6. 使用Hedera SDK在客户端对交易进行签名
  7. 将已签名的交易提交给Hedera网络(send-transaction工具)
  8. 显示交易结果

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

可用的MCP工具

服务器提供的工具包括:

  1. create-wallet:创建一个新的Hedera账户,初始余额最小

    • 不需要输入参数
    • 返回账户ID、公钥和私钥
  2. check-balance:检查Hedera账户的余额

    • 输入:accountId(字符串)
    • 返回账户余额(以tinybars为单位)
  3. build-transaction:构建转账交易(不签名)

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

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

部署

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

./deploy.sh

确保首先将其设置为可执行:

chmod +x deploy.sh