Token导航 LogoToken导航TokenDH.com
Midnight Local Devnet logo
AI代理stdio官方级别未说明来源级核验

Midnight Local Devnet

MCP Server

@aaronbassett/midnight-local-devnet

一个CLI和MCP服务器工具,用于管理基于Docker的Midnight本地开发网络,包括启动节点、索引器和证明服务器,并提供测试账户管理和网络监控功能。

工具数

12

提示词数

0

GitHub Stars

1

资源数

0
区块链开发TypeScriptClaude命令行工具ClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

devrelaicom

提供方

devrelaicom

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @aaronbassett/midnight-local-devnet start

详细介绍

@亚伦·巴塞特/午夜本地开发网

](https://www.npmjs.com/package/@aaronbassett/midnight-local-devnet)

一个CLI和MCP(模型上下文协议)服务器,用于管理基于Docker的本地Midnight开发网络。它在Docker容器中启动Midnight节点、索引器和证明服务器,初始化预加载有NIGHT令牌和DUST的创世主钱包,并提供资助测试帐户、生成钱包和监控网络健康状况的命令——所有这些都可以通过命令行或任何兼容MCP的AI助手完成。

先决条件

  • Node.js>=22
  • 码头工人 (使用Compose v2的Docker桌面或Docker引擎)

快速开始

命令行界面

启动网络:

npx @aaronbassett/midnight-local-devnet start

在浏览器中打开仪表板以监控您的devnet:

npx @aaronbassett/midnight-local-devnet dashboard

MCP服务器

添加到您的MCP客户端配置(Claude Code、Cursor、Windsurf等):

{
  "mcpServers": {
    "midnight-devnet": {
      "command": "npx",
      "args": ["-y", "-p", "@aaronbassett/midnight-local-devnet", "midnight-devnet-mcp"]
    }
  }
}

MCP服务器通过stdio进行通信,并公开AI助手可以用来代表您管理devnet的工具和资源。

CLI命令参考

所有命令都可以通过以下方式运行 npx @aaronbassett/midnight-local-devnet .

全局选项

选项描述
--json在stdout上将结果输出为机器可解析的JSON
--version显示版本号
--help显示帮助

--json 处于活动状态,只有有效的JSON被写入stdout。所有进度消息和日志都被重定向到stderr,因此输出可以直接通过管道传输到以下工具 jq.

命令

命令描述选项
start启动本地Midnight devnet--pull 拉取最新的Docker镜像
stop停止devnet--remove-volumes 移除卷和容器
restart重新启动网络--pull, --remove-volumes
status显示网络状态和每个服务的信息
logs显示网络服务日志--service (节点、索引器、证明服务器), --lines (默认值:50)
health检查所有服务的健康状况
balances显示主钱包夜间/灰尘余额
fund 使用NIGHT代币为Bech32地址充值--amount 夜间金额(默认值:50000)
`fund-file
`从accounts.json文件为所有账户充值
generate-accounts生成随机测试帐户--count , --format , `--output
, --fund, --register-dust`
dashboard打开浏览器仪表板--port (默认值:31780), --no-open 抑制自动打开
interactive启动交互式菜单模式

无参数运行将显示帮助。

JSON 输出

使用 --json 脚本和自动化标志:

# Get network status as JSON
npx @aaronbassett/midnight-local-devnet status --json

# Pipe to jq for filtering
npx @aaronbassett/midnight-local-devnet health --json | jq '.allHealthy'

# Generate accounts and capture output
npx @aaronbassett/midnight-local-devnet generate-accounts --count 3 --json > accounts.json

错误 --json 模式生产 {"error": "message"} 在stdout上使用非零退出代码。

仪表盘

dashboard 该命令启动一个本地服务器,并打开一个基于浏览器的仪表板,实时显示所有本地devnet服务的状态。

npx @aaronbassett/midnight-local-devnet dashboard

这将在以下位置启动服务器 http://localhost:31780 并打开默认浏览器。在终端中按Ctrl+C停止。

选项:

  • --port --使用特定端口(默认值:31780,使用时自动递增)
  • --no-open --在不打开浏览器的情况下启动服务器

仪表板显示:

  • 节点 --块高度、平均块时间、链、对等体、同步状态、版本
  • 索引器 --就绪状态、响应时间
  • 证明服务器 --版本、证明版本、作业处理/待处理/容量表
  • 钱包 --主钱包夜间(无屏蔽+屏蔽)和灰尘余额
  • 响应时间 --每个服务响应时间的SVG火花线图
  • 日志 --来自所有服务的组合颜色编码日志流,可按服务、级别或文本搜索进行过滤

仪表板通过WebSocket连接到服务器进行实时更新。如果连接中断,它会自动重新连接。您可以使用操作按钮直接从仪表板启动和停止网络。

布局是响应式的,并适应您的浏览器窗口宽度。

MCP工具参考

工具说明参数
start-network启动devnet(节点、索引器、证明服务器)pull? 布尔值
stop-network停止devnet并关闭钱包removeVolumes? 布尔值
restart-network重新启动网络pull? 布尔值, removeVolumes? 布尔值
network-status获取当前网络和每个服务的状态
network-logs从服务获取最新日志service? (节点、索引器、证明服务器), lines? 编号
health-check检查所有服务端点的运行状况
get-network-config获取端点URL、网络ID、图像版本
get-wallet-balances获取主钱包的夜间和灰尘余额
fund-account将NIGHT转移到Bech32地址address 字符串, amount? 字符串
fund-account-from-mnemonic从助记符中提取钱包,为NIGHT充值,注册DUSTname 字符串, mnemonic 字符串
fund-accounts-from-file从accounts.json批量生成资金账户filePath 字符串
generate-test-account生成随机测试帐户format (助记符私钥), count?, fund?, registerDust?, outputFile?

MCP资源参考

URI描述
devnet://config当前网络配置:端点、网络ID、Docker镜像版本
devnet://status实时网络状态,包括每个服务容器的状态

资源是只读的,任何MCP客户端都可以访问,以向AI助手显示上下文。

accounts.json格式

fund-file CLI命令和 fund-accounts-from-file MCP工具接受一个描述要资助的账户的JSON文件。每个账户都有一个助记符;该工具导出其钱包,转移NIGHT代币,并注册DUST。

{
  "accounts": [
    {
      "name": "Alice",
      "mnemonic": "abandon abandon abandon ... art"
    },
    {
      "name": "Bob",
      "mnemonic": "zoo zoo zoo ... vote"
    }
  ]
}

accounts.example.json 对于具有有效24个单词BIP39助记符的完整示例。

每个帐户条目都需要:

  • 名字 --帐户的显示标签。
  • 助记 --一个24字的BIP39助记符短语。

Docker服务

devnet运行三个通过Docker Compose管理的容器:

服务容器名称图像端口URL
节点午夜节点midnightntwrk/midnight-node:0.20.09944http://127.0.0.1:9944
索引器午夜索引器midnightntwrk/indexer-standalone:3.0.08088http://127.0.0.1:8088/api/v3/graphql
校对服务器午夜校对服务器midnightntwrk/proof-server:7.0.06300http://127.0.0.1:6300

索引器还公开了WebSocket端点 ws://127.0.0.1:8088/api/v3/graphql/ws.

网络ID为 undeployed (开发模式)。

DApp开发的网络端点

将Midnight DApp连接到本地devnet时,请使用以下配置:

const config = {
  indexer: 'http://127.0.0.1:8088/api/v3/graphql',
  indexerWS: 'ws://127.0.0.1:8088/api/v3/graphql/ws',
  node: 'http://127.0.0.1:9944',
  proofServer: 'http://127.0.0.1:6300',
  networkId: 'undeployed',
};

您还可以在运行时通过以下方式检索此配置 get-network-config MCP工具或 devnet://config MCP资源。

发展

在当地开展此项目:

git clone https://github.com/devrelaicom/midnight-local-devnet.git
cd midnight-local-devnet
npm install
npm run build

从源代码运行CLI:

node --enable-source-maps dist/cli.js start

从源运行MCP服务器:

node --enable-source-maps dist/index.js

运行测试:

npm test

故障排除

Docker容器无法启动

确保Docker正在运行,并且您的用户有使用它的权限:

docker info

如果您看到权限错误,请将您的用户添加到 docker 组或使用 sudo.

端口冲突

devnet使用端口9944、8088和6300。如果另一个进程正在使用这些端口之一,请在启动devnet之前停止它:

lsof -i :9944
lsof -i :8088
lsof -i :6300

容器不健康

运行健康检查以查看哪个服务没有响应:

npx @aaronbassett/midnight-local-devnet health

检查故障服务的日志:

npx @aaronbassett/midnight-local-devnet logs --service node
npx @aaronbassett/midnight-local-devnet logs --service indexer
npx @aaronbassett/midnight-local-devnet logs --service proof-server

干净重启

如果网络处于断开状态,请重新启动以删除所有卷:

npx @aaronbassett/midnight-local-devnet restart --remove-volumes

这将删除所有链数据并重新开始。

钱包同步时间过长

主钱包必须在首次启动时与链同步。这可能需要10-30秒,具体取决于您的机器。CLI和MCP服务器自动等待同步。

“网络未运行”错误

该工具在启动时检测正在运行的容器。如果您在外部停止容器(例如通过 docker compose down),跑 start 再一次:

npx @aaronbassett/midnight-local-devnet start

致谢

许可证

麻省理工学院

______________________________________________________________________

该项目通过额外的开发工具扩展了Midnight Network。

目录标签

目录标签

区块链开发TypeScriptClaude命令行工具本地部署本地测试网络Docker管理CLI工具MCP协议

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@aaronbassett/midnight-local-devnet

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP