返回市场
尼米克-MCP服务器

尼米克-MCP服务器

作者:onmax3 星标更新:2025-11-05

项目介绍

<h1 align="center"> <img alt="Nimiq MCP Server 标志" loading="lazy" width="96" height="96" decoding="async" data-nimg="1" style="color:transparent" src="https://raw.githubusercontent.com/onmax/nimiq-mcp/refs/heads/main/.github/logo.svg" /> </br> Nimiq MCP Server</h1> <p align="center"> 一个用于与<b>Nimiq 区块链</b>交互的模型上下文协议(MCP)服务器。 </p> <br/> <p align="center"> <a href="https://www.npmjs.com/package/nimiq-mcp"> <img src="https://img.shields.io/npm/v/nimiq-mcp.svg" alt="npm 版本" /> </a> <a href="https://www.npmjs.com/package/nimiq-mcp"> <img src="https://img.shields.io/npm/dm/nimiq-mcp.svg" alt="npm 下载量" /> </a> <a href="https://github.com/onmax/nimiq-mcp/blob/main/LICENSE"> <img src="https://img.shields.io/github/license/onmax/nimiq-mcp.svg" alt="许可证" /> </a> <a href="https://modelcontextprotocol.io"> <img src="https://img.shields.io/badge/MCP-Compatible-blue.svg" alt="MCP 兼容" /> </a> <a href="https://nimiq.dev"> <img src="https://img.shields.io/badge/Nimiq-Blockchain-orange.svg" alt="Nimiq 区块链" /> </a> <p align="center"> <a href="https://modelcontextprotocol.io"> 📖 模型上下文协议 </a> </p> </p>

功能

  • 🚀 两种部署选项:零设置远程访问或本地安装
  • 🔗 18种全面工具:用于账户、交易、区块、验证者等
  • 🤖 MCP 2025-06-18 协议:最新规范,增强功能
  • 💬 交互式工具:支持引导用户体验的提取
  • 远程选项:无需安装,只需在您的MCP客户端中添加URL
  • 🔧 本地选项:通过npx nimiq-mcp完全控制
  • 🔍 高级搜索:通过全面的Nimiq文档进行全文搜索
  • 📊 增强计算:具有智能默认值的互动质押奖励计算器
  • 🔒 只读操作(出于安全考虑不支持发送交易)
  • 输入验证:对所有工具输入进行全面模式验证

快速开始

选择两个选项之一:

选项1:远程访问

在您的MCP客户端配置中添加以下内容:

{
  "mcpServers": {
    "nimiq": {
      "url": "https://nimiq-mcp.je-cf9.workers.dev/sse",
      "transport": "sse"
    }
  }
}

选项2:本地安装

在您的MCP客户端配置中添加以下内容:

{
  "mcpServers": {
    "nimiq": {
      "command": "npx",
      "args": ["nimiq-mcp"]
    }
  }
}

对比

功能远程访问本地安装
设置不需要安装需要Node.js/npm
更新自动手动(npx拉取最新)
隐私请求通过我们的服务器直接连接到RPC
可用性取决于我们的服务运行时间取决于本地环境
协议支持仅支持SSE传输完整的MCP协议支持

带自定义RPC端点及认证

<details> <summary>远程(SSE)</summary>
{
  "mcpServers": {
    "nimiq": {
      "url": "https://nimiq-mcp.je-cf9.workers.dev/sse?rpc-url=https://your-rpc-endpoint.com&rpc-username=your-username&rpc-password=your-password",
      "transport": "sse"
    }
  }
}
</details> <details> <summary>本地(npx)</summary>
{
  "mcpServers": {
    "nimiq": {
      "command": "npx",
      "args": [
        "nimiq-mcp",
        "--rpc-url",
        "https://your-rpc-endpoint.com",
        "--rpc-username",
        "your-username",
        "--rpc-password",
        "your-password"
      ]
    }
  }
}
</details>

可用参数

CLI 参数URL 参数描述默认值
--rpc-url <url>rpc-url=<url>Nimiq RPC端点URLhttps://rpc.nimiqwatch.com
--rpc-username <username>rpc-username=<username>RPC用户名用于认证
--rpc-password <password>rpc-password=<password>RPC密码用于认证
--help, -h显示帮助信息

可用工具和资源

该MCP服务器提供了与Nimiq区块链交互的全面工具和资源:

工具(18个可用)

类别工具描述
区块链数据工具getHead获取Nimiq区块链当前的头部区块
getBlockByNumber通过编号检索特定区块
getBlockByHash通过哈希检索特定区块
getEpochNumber获取当前纪元编号
区块链计算工具getSupply获取当前流通的NIM供应量
calculateSupplyAt计算给定时间的Nimiq PoS供应量
calculateStakingRewards计算基于质押的潜在财富积累
interactiveStakingCalculator:带有提取支持的互动计算器
getPrice获取NIM相对于其他货币的价格
账户和余额工具getAccount通过地址获取详细的账户信息
getBalance获取特定账户地址的余额
交易工具getTransaction通过哈希获取详细的交易信息
getTransactionsByAddress获取特定地址的交易历史
验证者工具getValidators获取所有活跃验证者的相关信息
getValidator获取特定验证者的详细信息
getSlots获取当前或特定区块的验证者槽位信息
网络工具getNetworkInfo获取网络状态,包括节点数量和共识状态
文档工具getRpcMethods从最新的OpenRPC文档获取所有可用的RPC方法
searchDocs使用全文搜索在Nimiq文档中搜索

资源(3个可用)

类别资源描述
文档资源nimiq://docs/web-client完整的web客户端文档,适用于LLMs
nimiq://docs/protocol完整的Nimiq协议和学习文档,适用于LLMs
nimiq://docs/validators完整的验证者和质押文档,适用于LLMs

工具参数

每个工具接受特定参数:

  • 区块工具includeBody(布尔值)以包含交易详情
  • 地址工具address(字符串)用于Nimiq地址
  • 交易工具hash(字符串)用于交易哈希,max(数字)用于限制
  • 文档工具includeSchemas(布尔值)用于getRpcMethods以包含详细的参数/结果模式
  • 搜索工具query(字符串)用于搜索词,limit(数字)以控制结果数量

资源访问

资源通过其URI访问,不需要参数:

  • 文档资源:通过nimiq://docs/web-clientnimiq://docs/protocolnimiq://docs/validators访问
  • 内容以纯文本形式返回,适合LLM消费
  • MCP客户端可以缓存资源内容以提高性能

示例响应

供应数据响应

{
  "total": 210000000000000,
  "vested": 0,
  "burned": 0,
  "max": 210000000000000,
  "initial": 25200000000000,
  "staking": 100000000000,
  "minted": 1000000000,
  "circulating": 25200000000000,
  "mined": 0,
  "updatedAt": "2025-01-20T12:00:00.000Z"
}

区块数据响应

{
  "blockNumber": 21076071,
  "block": {
    "hash": "90e2ba0a831eec477bca1a26ba8c5e2b3162b5d042667828c4db0f735247d41e",
    "number": 21076071,
    "timestamp": 1749486768481,
    "parentHash": "b4fae3fc846ac13bfc62aa502c8683e25e92616d987f3f642b9cb57da73b6392",
    "type": "micro",
    "producer": {
      "slotNumber": 305,
      "validator": "NQ51 LM8E Q8LS 53TX GGDG 26M4 VX4Y XRE2 8JDT"
    }
  },
  "timestamp": "2025-06-09T16:32:49.055Z",
  "network": "mainnet"
}

搜索文档响应

{
  "query": "validator staking",
  "totalResults": 3,
  "results": [
    {
      "title": "验证者设置",
      "content": "要在Nimiq成为验证者,您需要质押NIM代币...",
      "section": "验证者",
      "score": 0.95,
      "snippet": "...成为Nimiq的验证者,您需要质押NIM代币并运行验证者软件..."
    },
    {
      "title": "质押奖励",
      "content": "验证者因生产区块和验证交易而获得奖励...",
      "section": "经济",
      "score": 0.87,
      "snippet": "...因生产区块和验证交易而获得奖励。质押奖励..."
    }
  ],
  "searchedAt": "2025-01-20T12:00:00.000Z"
}

使用示例

Claude桌面配置

选项1:远程(零设置)

在您的claude_desktop_config.json中添加:

{
  "mcpServers": {
    "nimiq": {
      "url": "https://nimiq-mcp.je-cf9.workers.dev/sse",
      "transport": "sse"
    }
  }
}

选项2:本地安装

在您的claude_desktop_config.json中添加:

{
  "mcpServers": {
    "nimiq": {
      "command": "npx",
      "args": ["nimiq-mcp"]
    }
  }
}

带有自定义本地配置

{
  "mcpServers": {
    "nimiq": {
      "command": "npx",
      "args": [
        "nimiq-mcp",
        "--rpc-url",
        "https://rpc.nimiqwatch.com"
      ]
    }
  }
}

在Web应用程序中

直接通过HTTP访问远程服务器:

// 连接到远程MCP服务器
const mcpClient = new SSEClientTransport(
  new URL('https://nimiq-mcp.je-cf9.workers.dev/sse')
)

在其他MCP客户端中

该服务器遵循MCP规范,可以与任何兼容MCP的客户端一起使用:

本地安装:

npx nimiq-mcp

远程访问:

  • 工具端点https://nimiq-mcp.je-cf9.workers.dev/tools
  • 信息端点https://nimiq-mcp.je-cf9.workers.dev/info
  • 健康检查https://nimiq-mcp.je-cf9.workers.dev/health
  • Web界面https://nimiq-mcp.je-cf9.workers.dev/

开发

本地开发

# 安装依赖
pnpm install

# 运行代码检查
pnpm run lint

# 修复代码检查问题
pnpm run lint:fix

# 构建生产版本
pnpm run build

# 手动测试服务器
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js

Cloudflare Workers开发

# 安装依赖,包括Wrangler
pnpm install

# 启动本地开发服务器
pnpm run dev:worker

# 构建并测试Worker部署
pnpm run build:worker

# 部署到Cloudflare
pnpm run deploy

部署到Cloudflare Workers

请参阅完整的部署指南以获取详细说明。

快速部署步骤:

  1. 设置Cloudflare帐户并获取API令牌
  2. 配置GitHub密钥(用于自动部署):
    • CLOUDFLARE_API_TOKEN
    • CLOUDFLARE_ACCOUNT_ID
  3. 推送到主分支 - 通过GitHub Actions自动部署
  4. 配置生产密钥(可选):
    wrangler secret put NIMIQ_RPC_URL
    wrangler secret put NIMIQ_RPC_USERNAME
    wrangler secret put NIMIQ_RPC_PASSWORD
    

该Worker将在以下位置可用:https://nimiq-mcp.je-cf9.workers.dev

架构

该MCP服务器构建使用:

MCP 2025-06-18协议特性

此服务器实现了最新的模型上下文协议规范(2025-06-18),具有增强的功能:

  • 提取支持:交互式工具可以在执行期间请求用户提供的额外信息
  • 增强的输入验证:全面的模式验证,附带详细的错误消息
  • 结构化的工具响应:JSON模式定义,便于LLM理解
  • 改进的错误处理:标准化的错误响应,带有适当的MCP错误代码
  • 协议版本合规性:完全支持最新的MCP规范要求

部署选项

本地部署(STDIO传输)

  • 作为本地进程运行,通过标准输入/输出通信
  • 最适合桌面应用和本地开发
  • 零网络配置要求
  • 天然安全(无网络暴露)

远程部署(SSE传输)

  • 部署在Cloudflare Workers边缘网络上
  • 通过HTTPS从任何地方访问
  • 支持多个并发客户端
  • 内置的安全性、速率限制和全球CDN
  • 自动扩展和高可用性

输入验证

该服务器使用Valibot对所有工具进行全面的输入验证,提供:

  • 运行时类型安全性:所有工具输入都针对严格的模式进行验证
  • 描述性错误消息:清晰的验证错误,附带字段级细节
  • 类型推断:从Valibot模式自动推断TypeScript类型
  • 默认值:自动应用可选参数的默认值
  • 枚举验证:严格验证允许值,如网络类型

示例验证:

const StakingRewardsSchema = v.object({
  amount: v.optional(v.pipe(v.number(), v.description('初始质押的NIM金额')), 1),
  days: v.optional(v.pipe