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指南:
- QUICKSTART.md --5分钟内完成设置
- 示例.md --通过20+个示例学习
- 测试报告.md --所有55个工具的综合测试结果
功能(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许可证
麻省理工学院
