区块链查询服务器

一个允许AI代理通过自然语言与Concordium链交互的MCP服务器,无需编写代码即可查询账户、区块、代币、验证器、智能合约等信息。

  • by Developerayo
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 developerayo/concordium-mcp-server

使用说明

Concordium MCP服务器

一个MCP服务器,允许AI代理通过自然语言与Concordium链通信。无需编写任何代码即可查询帐户、块、令牌、验证器、智能合约等。

快速设置

Docker设置

将此添加到您的mcp服务器配置中(Claude Desktop或Cursor):

{
  "mcpServers": {
    "concordium": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--network=host", "concordium-mcp-server"],
      "env": {
        "CCD_NETWORK": "mainnet",
        "CCD_PORT": "20000",
        "CCD_SECURE": "true"
      }
    }
  }
}

本地设置

对于没有Docker的本地开发人员:

{
  "mcpServers": {
    "concordium": {
      "command": "node",
      "args": ["/zeus/workspace/concordium-mcp-server/dist/index.js"],
      "env": {
        "CCD_NETWORK": "mainnet",
        "CCD_PORT": "20000",
        "CCD_SECURE": "true"
      }
    }
  }
}

部署选项

单线设置

本地(自动配置克劳德桌面):

./scripts/local-deploy.sh

Docker:

./scripts/docker-deploy.sh

云(HTTP):

./scripts/fly-deploy.sh
./scripts/railway-deploy.sh
./scripts/render-deploy.sh

安装向导:

# Setup wizard for deploy scripts
./scripts/wizard.sh

手动设置

# Install deps
pnpm install

# Build
pnpm run build

# Run
node dist/index.js

超文本传输协议

node dist/http-server.js
# Available at http://localhost:3001/sse

环境

  • CCD_NETWORK -要连接的网络(mainnet 或 testnet,默认值: mainnet)
  • CCD_PORT -RPC端口(默认值: 20000)
  • CCD_SECURE -使用安全连接(默认值: true)
  • CCD_TIMEOUT -请求超时(毫秒)(默认值: 15000)

可用方法

账户/钱包

  • get_count_details -完整的账户详细信息,包括余额和质押
    • 示例:“显示的帐户详细信息 3kBx2h5Y2veb4hZgAJWPrr8RyQESKm5TjzF3ti1QQ4VSvj6tF"
  • get_count_balance -微型CCD中的CCD平衡
    • 示例:“CCD账户余额是多少 3kBx2h5Y2veb4hZgAJWPrr8RyQESKm5TjzF3ti1QQ4VSvj6tF?"
  • get_count_staking_details -验证人/委托人状态和质押金额
    • 示例:“Is account 3kBx2h5Y2veb4hZgAJWPrr8RyQESKm5TjzF3ti1QQ4VSvj6tF 赌注?"

积木

  • get_block_details -按哈希值或最新值阻止信息
    • 示例:“显示最新的区块详细信息”
  • get_blocks_at-height -特定高度的所有块
    • 示例:“获取所有高度块 31,058,768"
  • get_block_transaction_events -区块中的交易事件
    • 示例:“显示最新交易块中的交易事件”

代币

  • get_token_balance - CIS-2 代币余额
    • 示例:“检查钱包3kBx的代币余额……在合约上 9870,1"

验证器/池

  • get_validator_list -主动验证器(仅限于 100)
    • 示例:“列出所有活动验证器”
  • get_tool_details -验证器池信息
    • 示例:“显示验证器池ID的详细信息 42"
  • get_price_delegation_details -被动委托信息
    • 示例:“当前的被动委派状态是什么?”

智能合约

  • get_instance_details -合同实例信息
    • 示例:“在地址获取合同详细信息 9870,1"
  • get_module_list -已部署的合同模块
    • 示例:“列出第一个 50 已部署模块”

网络

  • get_sensus_details -链共识状态
    • 示例:“目前的共识状态如何?”
  • get_node_details -节点信息
    • 示例:“显示节点详细信息”
  • 健康检查 -节点健康状态
    • 示例:“节点是否健康?”

使用示例

基本查询

  • “CCD平衡是什么: 3kBx2h5Y2veb4hZgAJWPrr8RyQESKm5TjzF3ti1QQ4VSvj6tF?"
  • “显示网络上的最新块”
  • “列出所有活动验证器”
  • “获取智能合约的详细信息 9870,1"

更复杂的查询(有些涉及多个工具)

  • “检查帐户 3kBx2h5Y2veb4hZgAJWPrr8RyQESKm5TjzF3ti1QQ4VSvj6tF 正在下注,并向我展示游泳池的详细信息”
  • “显示最近区块中的交易事件”
  • “给我看看 20 最新部署的合同模块”
  • “现在怎么样 epoch 选举信息?"

代币物品

  • “检查钱包的CIS-2代币余额 3kBx2h5Y2veb4hZgAJWPrr8RyQESKm5TjzF3ti1QQ4VSvj6tF 根据合同 9870,1"
  • “显示地址的令牌ID为'2'的令牌余额 3kBx2h5Y2veb4hZgAJWPrr8RyQESKm5TjzF3ti1QQ4VSvj6tF"

发展

先决条件

  • Node.js 20+
  • pnpm包管理器
  • Docker(可选)

从源头构建

git clone git@github.com:Developerayo/concordium-mcp-server.git
cd concordium-mcp-server
pnpm install
pnpm run build

使用MCP检查器进行调试

MCP检查器通过提供一个可视化界面来测试您的方法,从而帮助调试您的MCP服务器:

pnpm inspector

这将启动您可以在浏览器中访问的MCP检查器。它允许您:

  • 查看所有可用方法
  • 不同参数的测试方法
  • 查看响应数据
  • 调试MCP服务器的问题

许可证

麻省理工学院