Midnight + Next.js MCP

io.github.FractionEstate由 GitHub 账号 FractionEstate 发布v0.3.1更新于 Oct 25, 2026

Unified MCP server for Midnight blockchain development and Next.js dApps.

已验证STDIO仅桌面浏览器自动化开发者工具

概览

AI 生成的概览

本地 MCP 服务器,为 AI 助手提供 Midnight 区块链合约、钱包与网络工具,以及用于构建 dApp 的 Next.js DevTools。

可以做什么
初始化 Midnight 开发上下文、生成 dApp 项目脚手架、将 Compact 合约编译为 TypeScript 与 ZK 产物、执行静态分析、部署合约并调用已部署合约的电路。创建钱包、读取钱包状态与余额、转账 tDUST 代币。检查 Indexer、Proof Server 与 Node 的网络健康状态,查询区块与交易,检查 Midnight 包版本。搜索、获取、同步并列出 Midnight 文档。使用 Next.js 工具:初始化开发上下文、搜索 Next.js 文档、发现运行中的开发服务器、执行运行时诊断、用 Playwright 评估页面,并参考 Next.js 16 与 Cache Components 升级指南。
适用场景
适合在 Midnight 网络上配合 Next.js 前端构建去中心化应用时使用,让助手在一个服务器内完成合约编译、分析、部署与调用,管理测试钱包,查看链上状态,并查阅 Midnight 与 Next.js 文档。
运行要求
通过 stdio 在本地运行,通常用 npx 配合 Node.js,也可全局安装 npm 包或使用 Docker 容器。可选 GITHUB_TOKEN 提高 API 速率限制;LOG_LEVEL 设置日志详细程度;MIDNIGHT_LOCAL 启用带 ChromaDB 的本地模式以进行离线语义搜索。网络端点默认指向 Midnight 测试网,可通过环境变量覆盖。链上查询与文档同步需要网络访问。
安装前请注意
该服务器可部署合约、执行电路调用并转账 tDUST 代币,会转移资金并改变链上状态。创建钱包会生成助记词,任何助记词或密钥材料都应视为敏感信息。GITHUB_TOKEN 是密钥,应尽量缩小权限范围。合约与文档操作会访问 Midnight 网络服务和 GitHub。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Midnight + Next.js MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Midnight + Next.js Development MCP Server

A Model Context Protocol (MCP) server combining Midnight Network blockchain development tools with Next.js DevTools for building decentralized applications.

Compatible with all MCP-enabled AI assistants: Claude, GitHub Copilot, Cursor, Windsurf, Codeium, Continue.dev, Zed, Sourcegraph Cody, and more.

🤖 Supported AI Assistants

This MCP server works with any AI assistant that supports the Model Context Protocol:

AI AssistantPlatformConfiguration
ClaudeDesktop App, VS CodeNative MCP support
GitHub CopilotVS Code, JetBrainsMCP extension
CursorIDEBuilt-in MCP support
WindsurfIDEBuilt-in MCP support
CodeiumVS Code, JetBrainsMCP integration
Continue.devVS Code, JetBrainsMCP config file
ZedIDEMCP support
Sourcegraph CodyVS CodeMCP extension

🌙 Features

Midnight Network Tools

Contract Development
  • midnight_init - Initialize development context
  • midnight_compile_contract - Compile Compact contracts to TypeScript/ZK artifacts
  • midnight_analyze_contract - Static analysis for contracts
  • midnight_deploy_contract - Deploy contracts to the network
  • midnight_call_contract - Execute circuit calls on deployed contracts
  • midnight_scaffold_project - Create new dApp projects from templates
Wallet & Tokens
  • midnight_create_wallet - Generate new wallet with seed phrase
  • midnight_wallet_state - Get detailed wallet state and balances
  • midnight_transfer_tokens - Transfer tDUST tokens
  • midnight_get_balance - Query token balances
Network & Queries
  • midnight_network_status - Check network health (Indexer, Proof Server, Node)
  • midnight_get_block - Query blockchain blocks
  • midnight_get_transaction - Query transaction details
  • midnight_check_versions - Check for Midnight package updates
Documentation
  • midnight_search_docs - Search Midnight documentation
  • midnight-fetch-docs - Fetch specific documentation pages
  • midnight-sync-docs - Sync documentation from official repo
  • midnight-docs-status - Check documentation sync status
  • midnight-list-docs - List available documentation sources

Next.js DevTools

  • init - Initialize Next.js development context
  • nextjs_docs - Search Next.js documentation
  • nextjs_index - Discover running dev servers
  • nextjs_call - Execute runtime diagnostic tools
  • browser_eval - Browser automation with Playwright
  • upgrade_nextjs_16 - Next.js 16 upgrade guide
  • enable_cache_components - Cache Components migration

📦 Installation

bash
# Clone the repositorygit clone https://github.com/your-username/midnight-nextjs-mcp.gitcd midnight-nextjs-mcp
# Install dependenciespnpm install
# Buildpnpm build

🚀 Usage

Quick Start with npx

The easiest way to use this MCP server is via npx — no installation required:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}

Configuration Examples

The MCP configuration format is standardized across most AI assistants. Below are platform-specific examples:


Universal MCP Configuration

Most MCP clients use this standard JSON format. Add to your client's MCP configuration file:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}

VS Code (GitHub Copilot / Claude Extension)

Add to your VS Code settings.json or workspace .vscode/mcp.json:

json
{  "mcp.servers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}

Or for Claude extension specifically:

json
{  "claude.mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}
Claude Desktop (macOS)

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}
Claude Desktop (Windows)

Edit %APPDATA%\Claude\claude_desktop_config.json:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}
Claude Desktop (Linux)

Edit ~/.config/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}
Cursor IDE

Add to your Cursor MCP configuration (.cursor/mcp.json in your project or global settings):

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}
Windsurf / Codeium

Add to your Windsurf MCP settings:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}

Continue.dev (VS Code / JetBrains)

Add to ~/.continue/config.json or your project's .continue/config.json:

json
{  "experimental": {    "modelContextProtocolServers": [      {        "name": "midnight-nextjs-mcp",        "transport": {          "type": "stdio",          "command": "npx",          "args": ["-y", "midnight-nextjs-mcp@latest"]        }      }    ]  }}

Zed Editor

Add to your Zed settings (~/.config/zed/settings.json on Linux, ~/Library/Application Support/Zed/settings.json on macOS):

json
{  "context_servers": {    "midnight-nextjs-mcp": {      "command": {        "path": "npx",        "args": ["-y", "midnight-nextjs-mcp@latest"]      }    }  }}

Sourcegraph Cody

Add to your Cody MCP configuration:

json
{  "cody.experimental.mcp.servers": {    "midnight-nextjs-mcp": {      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}

JetBrains IDEs (IntelliJ, WebStorm, etc.)

For AI assistants in JetBrains IDEs that support MCP, add to your MCP configuration:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"]    }  }}

Using Global Installation

If you prefer a global install instead of npx:

bash
npm install -g midnight-nextjs-mcp

Then configure:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "midnight-nextjs-mcp"    }  }}
Local Development / From Source
json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "node",      "args": ["/path/to/midnight-nextjs-mcp/dist/index.js"]    }  }}

Docker

Run the MCP server in a Docker container:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "docker",      "args": ["run", "-i", "--rm", "fractionestate/midnight-nextjs-mcp:latest"]    }  }}

CLI Flags

bash
# Enable both tool categories (default)npx midnight-nextjs-mcp@latest
# Disable Midnight tools (Next.js only)npx midnight-nextjs-mcp@latest --no-midnight
# Disable Next.js tools (Midnight only)npx midnight-nextjs-mcp@latest --no-nextjs
# Check package versions on startupnpx midnight-nextjs-mcp@latest --check-versions
# Set version polling interval (default 24 hours)npx midnight-nextjs-mcp@latest --poll-interval=12

🏗️ Project Structure

midnight-nextjs-mcp/├── src/│   ├── index.ts                    # Server entry point│   ├── tools/│   │   ├── index.ts                # Unified tool registry│   │   ├── midnight/               # Midnight Network tools│   │   │   ├── init.ts│   │   │   ├── network-status.ts│   │   │   ├── get-balance.ts│   │   │   ├── get-block.ts│   │   │   ├── get-transaction.ts│   │   │   ├── search-docs.ts│   │   │   ├── scaffold-project.ts│   │   │   ├── compile-contract.ts│   │   │   └── analyze-contract.ts│   │   └── nextjs/                 # Next.js DevTools│   │       ├── init.ts│   │       ├── nextjs-docs.ts│   │       ├── nextjs_index.ts│   │       ├── nextjs_call.ts│   │       ├── browser-eval.ts│   │       ├── upgrade-nextjs-16.ts│   │       └── enable-cache-components.ts│   ├── providers/                  # Midnight API providers│   │   ├── index.ts│   │   ├── indexer.ts              # GraphQL indexer client│   │   ├── proof-server.ts         # Proof generation client│   │   └── node.ts                 # Node RPC client│   ├── resources/                  # MCP resources│   │   ├── (midnight-compact)/     # Compact language docs│   │   ├── (midnight-sdk)/         # SDK documentation│   │   ├── (cache-components)/     # Next.js cache docs│   │   └── ...│   ├── prompts/                    # MCP prompts│   │   ├── create-midnight-contract.ts│   │   ├── upgrade-nextjs-16.ts│   │   └── enable-cache-components.ts│   └── types/                      # TypeScript definitions│       ├── midnight.ts│       └── mcp.ts├── package.json└── README.md

🔧 Configuration

Environment Variables

You can pass environment variables to the MCP server in your configuration:

json
{  "mcpServers": {    "midnight-nextjs-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "midnight-nextjs-mcp@latest"],      "env": {        "MIDNIGHT_NETWORK": "testnet",        "MIDNIGHT_INDEXER_URL": "https://indexer.testnet.midnight.network/graphql"      }    }  }}
Available Environment Variables
bash
# Midnight Network (optional, defaults to testnet)MIDNIGHT_NETWORK=testnetMIDNIGHT_INDEXER_URL=https://indexer.testnet.midnight.network/graphqlMIDNIGHT_PROOF_SERVER_URL=https://proof-server.testnet.midnight.networkMIDNIGHT_NODE_URL=https://rpc.testnet.midnight.network

Network Configurations

NetworkIndexerProof Server
Testnetindexer.testnet.midnight.networkproof-server.testnet.midnight.network
Devnetlocalhost:8080localhost:6300

📚 Resources

The server exposes documentation resources:

Midnight Resources

  • midnight://compact/overview - Compact language introduction
  • midnight://compact/reference - Complete syntax reference
  • midnight://sdk/overview - Midnight.js SDK guide

Next.js Resources

  • nextjs-docs://llms-index - Documentation index
  • cache-components://overview - Cache Components guide

🧪 Development

bash
# Watch modepnpm dev
# Type checkpnpm typecheck
# Run testspnpm test
# Buildpnpm build

📖 Documentation

Client-Specific MCP Documentation

🤝 Contributing

Contributions welcome! Please read the contributing guidelines first.

📄 License

MIT License - see LICENSE for details.


Built with ❤️ for the Midnight and Next.js communities.

来源:README.md,提交 4a88d65

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.1最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。