使用说明
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
许可证
麻省理工学院