区块链数据访问服务器

一个基于TypeScript构建的模型上下文协议服务器,使LLM代理能够通过公共RPC端点访问ZetaChain区块链数据,支持核心EVM兼容方法和分析提示。

  • by Paul-Sizon
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 paul-sizon/zetachain-mcp

使用说明

ZetaChain MCP服务器

内置于TypeScript中的模型上下文协议(MCP)服务器,使LLM代理能够使用公共RPC端点访问ZetaChain区块链数据。该服务器为ZetaChain公开了与EVM兼容的核心方法和分析提示,使LLM能够轻松地与ZetaChain钱包和合约进行交互。

例子:


📦 安装

使用您最喜欢的软件包管理器进行全局安装:

# With npm
npm install -g zetachain-mcp-server

# With yarn
yarn global add zetachain-mcp-server

# With pnpm
pnpm add -g zetachain-mcp-server

# With bun
bun add -g zetachain-mcp-server

🚀 快速开始

用于游标IDE

在全球范围内安装后 npm install -g zetachain-mcp-server,您可以直接在游标中使用CLI命令 mcp.json 配置:

{
  "mcpServers": {
    "zetachain-mcp": {
      "command": "zetachain-mcp-server"
    }
  }
}

不需要API键或环境变量。 默认情况下,服务器使用ZetaChain的公共RPC端点。


🧑‍💻 与Claude Desktop一起使用

重要提示: Claude Desktop无法使用全局安装的npm包。您必须在本地安装该包,并提供可执行文件的完整路径。

安装

  1. 将此存储库克隆或下载到本地计算机
  2. 导航到项目目录并安装依赖项:
    cd zetachain-mcp
    npm install
    npm run build
    

配置

  1. 打开 克劳德桌面 应用

  2. 首选 克劳德 > 设置 > 开发者

  3. 编辑 claude_desktop_config.json 文件并添加以下配置:

    {
      "mcpServers": {
        "zetachain-mcp": {
          "command": "node",
          "args": [
            "/absolute/path/to/zetachain-mcp/build/index.js"
          ]
        }
      }
    }
    

    替换 /absolute/path/to/zetachain-mcp/ 使用项目目录的实际绝对路径。

    示例路径:

    • macOS/Linux: /Users/yourname/projects/zetachain-mcp/build/index.js
    • 窗户: C:\\Users\\yourname\\projects\\zetachain-mcp\\build\\index.js
  4. 重新启动Claude Desktop以使更改生效

  5. 让Claude Desktop执行ZetaChain任务 (见以下示例)


📝 代理交互示例

  • 检查钱包余额:
    Give the balance of the 0x1234...abcd address on ZetaChain
    
  • 分析合同:
    Analyze 0x5678...efgh on ZetaChain
    
  • 获取当前天然气价格:
    Analyze the current gas prices on ZetaChain
    

📦 项目结构

├── chains.ts           # ZetaChain configuration and public RPC endpoint
├── clients.ts          # Viem public client creator for RPC connections
├── index.ts            # Main entry point that sets up the MCP server
├── package.json        # Package configuration
├── prompts.ts          # Defines LLM prompts for blockchain analysis tasks
├── resources.ts        # External references and helpers
├── tools.ts            # Implements the EVM RPC methods as MCP tools
└── tsconfig.json       # TypeScript configuration

⚡ 特性

  • MCP兼容:使用用于LLM代理集成的模型上下文协议SDK构建
  • ZetaChain支架:仅与ZetaChain主网合作
  • 核心EVM方法:包括 eth_getBalance, eth_getCode,以及 eth_gasPrice 对于ZetaChain
  • LLM提示:用于钱包分析、合同检查和天然气价格评估的预构建提示
  • 不需要API密钥:使用所需的ZetaChain的公共RPC端点-no.env或API密钥设置

🛠️ MCP工具

  1. eth_getBalance

    • 描述:获取地址的ZETA代币余额
    • 参数:
      • address:要检查的ZetaChain地址
      • chain:要查询的链(必须是 zetachain)
    • 退货:
      • 地址、链名、wei余额、带符号的格式化余额
  2. eth_getCode

    • 描述:检测地址是合约还是钱包
    • 参数:
      • address:要检查的ZetaChain地址
      • chain:要查询的链(必须是 zetachain)
    • 退货:
      • 地址信息、合约状态、字节码大小
  3. eth_gasPrice

    • 描述:在ZetaChain上获取当前的天然气价格
    • 参数:
      • chain:要查询的链(必须是 zetachain)
    • 退货:
      • 链名、威、圭天然气价格、时间戳

💡 MCP提示

  1. 支票钱包

    • 描述:分析钱包余额和上下文的指南
    • 参数:
      • address:要检查的ZetaChain地址
      • chain:要查询的链(必须是 zetachain)
    • 功能:指导法学硕士获得余额,检查是否是合同,然后提供分析
  2. 检查合同

    • 描述:及时进行合同代码自检和分析
    • 参数:
      • address:要检查的ZetaChain地址
      • chain:要查询的链(必须是 zetachain)
    • 功能:指导LLM验证代码存在,分析合约大小和平衡
  3. 气体分析

    • 描述:分析天然气价格趋势并评估时机
    • 参数:
      • chain:要查询的链(必须是 zetachain)
    • 功能:指导法学硕士分析当前天然气价格并提供建议

📚 MCP资源

服务器提供对这些资源的访问:

  • evm://docs/gas-reference -ZetaChain的天然气价格参考数据
  • evm://docs/block-explorers -ZetaChain的区块浏览器URL
  • evm://docs/supported-chains -支撑链(ZetaChain)