区块链交互服务器

Zetrix MCP Server 是一个全面的模型上下文协议(MCP)服务器,用于与 Zetrix 区块链交互,提供 55 种工具,涵盖 HTTP RPC、WebSocket、SDK 交易、加密和智能合约开发等功能。

  • by Zetrix-Chain
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Zetrix-Chain/zetrix-mcp-server

使用说明

Zetrix MCP服务器

用于与Zetrix区块链交互的综合模型上下文协议(MCP)服务器。提供 55工具 跨7个类别——HTTP RPC、WebSocket(protobuf)、SDK事务、密码学和智能合约开发。支持两者 标准 和 超文本传输协议 运输方式。

Zetrix货币信息

本地硬币: ZETRIX

  • 主要单位: ZETRIX
  • 基本单位: 泽塔
  • 转换: 1 ZETRIX=1000000 ZETA
  • 天然气价格: 通过以下方式动态评估 testTransaction

快速开始

npx zetrix-mcp-server

或全局安装:

npm install -g zetrix-mcp-server

指南:

功能(56工具)

通用(1个工具)

工具 说明
zetrix_version 获取MCP服务器版本和网络信息

HTTP RPC(16个工具)

工具 说明
zetrix_check_health 检查节点运行状况
zetrix_get_account 获取账户信息,包括余额和元数据
zetrix_get_block 按高度获取块
zetrix_get_latest_block 获取最新区块
zetrix_get_transaction 按哈希值获取交易
zetrix_get_balance 在ZETA和ZETRIX中获得平衡
zetrix_create_keypair 生成新的密钥对(仅用于测试)
zetrix_get_account_base 获取基本帐户信息
zetrix_get_account_assets 获取资产持有量
zetrix_get_account_metadata 获取帐户元数据
zetrix_get_transaction_history 获取已完成的交易
zetrix_get_transaction_cache 获取待处理交易
zetrix_get_ledger 获取分类账/区块信息
zetrix_multi_query 执行多个查询
zetrix_get_transaction_blob 将事务序列化为十六进制
zetrix_submit_transaction 提交已签名的交易

合同查询(2个工具)

工具 说明
zetrix_call_contract 沙盒中的调用合约(只读)
zetrix_test_transaction 评估费用而不提交

WebSocket——实时(5个工具)

用途 protobuf二进制编码 用于与Zetrix节点通信。

工具 说明
zetrix_ws_connect 通过protobuf CHAIN_HELLO连接并注册
zetrix_ws_submit_transaction 提交实时状态的交易
zetrix_ws_subscribe_tx 订阅交易通知
zetrix_ws_disconnect 断开与WebSocket的连接
zetrix_ws_status 检查连接状态

SDK查询(5个工具)

工具 说明
zetrix_sdk_create_account 创建新帐户
zetrix_sdk_get_balance 通过SDK获取余额
zetrix_sdk_is_activated 检查帐户是否已激活
zetrix_sdk_get_nonce 获取帐户随机数
zetrix_sdk_call_contract 通过SDK调用合约(只读)

SDK交易(11个工具)

所有交易工具使用 evaluateFee (testTransaction)用于动态天然气定价。可选的 gasPrice/feeLimit 所有操作都支持覆盖。

工具 说明
zetrix_sdk_send_gas 将本地ZETRIX发送到其他地址
zetrix_sdk_activate_account 使用初始余额激活新帐户
zetrix_sdk_set_metadata 在帐户上设置键值元数据
zetrix_sdk_set_privilege 设置帐户权重、阈值和签名者
zetrix_sdk_issue_asset 发布新的自定义令牌
zetrix_sdk_send_asset 转移自定义令牌
zetrix_sdk_create_contract 部署智能合约(可选所有者)
zetrix_sdk_invoke_contract 调用天然气付款合同
zetrix_sdk_invoke_contract_by_asset 调用资产转移合同
zetrix_sdk_upgrade_contract 升级合同代码和/或转让所有权
zetrix_sdk_create_log 创建链上事件日志

密码学(8个工具)

工具 说明
zetrix_crypto_generate_keypair 生成新的密钥对(地址、私钥、公钥)
zetrix_crypto_get_public_key 从私钥派生公钥
zetrix_crypto_get_address 从公钥获取地址
zetrix_crypto_validate_key 验证私钥、公钥或地址格式
zetrix_crypto_sign 使用私钥对消息(十六进制)进行签名
zetrix_crypto_verify 验证签名
zetrix_crypto_encrypt_key 用密码加密私钥
zetrix_crypto_decrypt_key 解密加密私钥

智能合约开发(7个工具)

工具 说明
zetrix_contract_get_chain_functions 链对象函数文档
zetrix_contract_get_utils_functions Utils对象函数文档
zetrix_contract_get_structure_guide 合同结构和ES5模式指南
zetrix_contract_get_token_standard 代币标准规格(ZTP20、ZTP721、ZTP1155)
zetrix_contract_init_dev_environment 通过以下方式初始化开发项目 create-zetrix-tool
zetrix_contract_generate_advanced 生成多类合约架构
zetrix_contract_get_testing_guide 测试指南(TEST_INVOKE、TEST_QUERY)

支持的网络

网络 HTTP RPC WebSocket
主网 https://node.zetrix.com wss://ws-node.zetrix.com
测试网 https://test-node.zetrix.com wss://test-ws-node.zetrix.com

配置

环境变量

变量 描述 默认值
ZETRIX_NETWORK 网络选择(mainnet 或 testnet) mainnet
ZETRIX_RPC_URL 自定义HTTP RPC终结点(覆盖网络默认值) --
ZETRIX_WS_URL 自定义WebSocket端点(覆盖网络默认值) --
ZETRIX_TRANSPORT 运输方式(stdio 或 http) stdio
ZETRIX_PORT HTTP服务器端口(仅在以下情况下使用 ZETRIX_TRANSPORT=http) 3000
ZETRIX_PRIVATE_KEY 用于签署交易的默认私钥(可选,将密钥排除在对话之外) --
ZETRIX_SOURCE_ADDRESS 事务的默认源地址(可选) --

安全交易(推荐)

通过设置 ZETRIX_PRIVATE_KEY 和 ZETRIX_SOURCE_ADDRESS 作为环境变量,您的私钥永远不会在对话中公开。LLM可以执行诸如“向ZTX3发送0.01 ZETRIX…”之类的事务,而无需看到您的密钥。

{
  "mcpServers": {
    "zetrix": {
      "command": "npx",
      "args": ["-y", "zetrix-mcp-server"],
      "env": {
        "ZETRIX_NETWORK": "testnet",
        "ZETRIX_PRIVATE_KEY": "your-private-key-here",
        "ZETRIX_SOURCE_ADDRESS": "your-zetrix-address-here"
      }
    }
  }
}

注: 这些是可选的。如果没有设置,LLM将需要在对话中请求或获得私钥和源地址。如果设置了,它们将用作默认值——如果需要,您仍然可以在每次工具调用时覆盖它们。

克劳德代码(CLI)

直接从命令行添加MCP服务器:

主网:

claude mcp add zetrix-mainnet -s user -- npx -y zetrix-mcp-server -e ZETRIX_NETWORK=mainnet

测试网:

claude mcp add zetrix-testnet -s user -- npx -y zetrix-mcp-server -e ZETRIX_NETWORK=testnet

使用自定义RPC和WebSocket URL:

claude mcp add zetrix-testnet -s user -- npx -y zetrix-mcp-server \
  -e ZETRIX_NETWORK=testnet \
  -e ZETRIX_RPC_URL=https://your-node.example.com \
  -e ZETRIX_WS_URL=wss://your-ws-node.example.com

克劳德桌面

编辑您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • Windows(微软应用商店): %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json

测试网:

{
  "mcpServers": {
    "zetrix": {
      "command": "npx",
      "args": ["-y", "zetrix-mcp-server"],
      "env": {
        "ZETRIX_NETWORK": "testnet"
      }
    }
  }
}

主网:

{
  "mcpServers": {
    "zetrix": {
      "command": "npx",
      "args": ["-y", "zetrix-mcp-server"],
      "env": {
        "ZETRIX_NETWORK": "mainnet"
      }
    }
  }
}

两个网络(主网+测试网):

{
  "mcpServers": {
    "zetrix-mainnet": {
      "command": "npx",
      "args": ["-y", "zetrix-mcp-server"],
      "env": {
        "ZETRIX_NETWORK": "mainnet"
      }
    },
    "zetrix-testnet": {
      "command": "npx",
      "args": ["-y", "zetrix-mcp-server"],
      "env": {
        "ZETRIX_NETWORK": "testnet"
      }
    }
  }
}

使用自定义RPC和WebSocket URL:

{
  "mcpServers": {
    "zetrix": {
      "command": "npx",
      "args": ["-y", "zetrix-mcp-server"],
      "env": {
        "ZETRIX_NETWORK": "testnet",
        "ZETRIX_RPC_URL": "https://your-node.example.com",
        "ZETRIX_WS_URL": "wss://your-ws-node.example.com"
      }
    }
  }
}

保存配置文件后,重新启动Claude Desktop以使更改生效。

注: ZETRIX_RPC_URL 和 ZETRIX_WS_URL 覆盖所选网络的默认终结点。您可以只覆盖一个或两个。如果未设置,则使用上表中的默认值。

HTTP传输(API服务器)

使用流式HTTP传输将MCP服务器作为HTTP API服务器运行。这允许远程MCP客户端通过网络连接。

启动服务器(默认为主网):

ZETRIX_TRANSPORT=http ZETRIX_PORT=3000 npx zetrix-mcp-server

使用测试网:

ZETRIX_TRANSPORT=http ZETRIX_PORT=3000 ZETRIX_NETWORK=testnet npx zetrix-mcp-server

终点:

端点 方法 描述
/mcp POST MCP协议端点(可流式HTTP)
/health GET 健康检查--返回 { status, version, network }

从MCP客户端连接:

{
  "mcpServers": {
    "zetrix": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

两个网络(主网+测试网):

在不同端口上运行两台服务器:

ZETRIX_TRANSPORT=http ZETRIX_PORT=3000 ZETRIX_NETWORK=mainnet npx zetrix-mcp-server &
ZETRIX_TRANSPORT=http ZETRIX_PORT=3001 ZETRIX_NETWORK=testnet npx zetrix-mcp-server &

然后配置您的MCP客户端:

{
  "mcpServers": {
    "zetrix-mainnet": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    },
    "zetrix-testnet": {
      "type": "http",
      "url": "http://localhost:3001/mcp"
    }
  }
}

注: HTTP传输使用MCP Streamable HTTP规范。任何支持以下功能的MCP客户端 StreamableHTTP 交通工具可以连接到它。

服务器日志:

服务器记录到stderr。要查看日志,请在前台运行或重定向到文件:

# Foreground — logs show directly in terminal
ZETRIX_TRANSPORT=http ZETRIX_PORT=3000 npx zetrix-mcp-server

# Background with logs to file
ZETRIX_TRANSPORT=http ZETRIX_PORT=3000 npx zetrix-mcp-server 2> server.log &
tail -f server.log

发展

项目结构

zetrix-mcp-server/
├── src/
│   ├── index.ts                  # MCP server (55 tool definitions + handlers)
│   ├── zetrix-client.ts          # HTTP RPC client
│   ├── zetrix-sdk.ts             # SDK wrapper (11 transaction operations)
│   ├── zetrix-websocket.ts       # WebSocket client (protobuf binary)
│   ├── zetrix-encryption.ts      # Crypto operations
│   ├── zetrix-contract-docs.ts   # Contract documentation
│   └── zetrix-contract-generator.ts # Contract code generator
├── tests/
│   ├── test-server.js            # HTTP RPC tests
│   ├── test-sdk.js               # SDK tests
│   └── test-encryption.js        # Crypto tests
├── docs/
│   ├── TEST_REPORT.md            # Comprehensive test results
│   ├── DEVELOPER_GUIDE.md        # Developer documentation
│   ├── ZETRIX_CONTRACT_DEVELOPMENT_RULES.md
│   ├── QUICKSTART.md             # 5-minute setup guide
│   └── EXAMPLES.md               # 20+ usage examples
└── dist/                         # Compiled output

构建

npm install
npm run build

测试

npm test                           # HTTP RPC tests
ZETRIX_NETWORK=testnet npm test    # Run on testnet
npm run test:sdk                   # SDK tests
npm run test:encryption            # Crypto tests

许可证

麻省理工学院