关于 Midnight + Next.js MCP
Midnight + Next.js MCP 将 Midnight Network 区块链开发工具与 Next.js DevTools 集成,面向构建去中心化应用的开发者,支持合约操作、链上查询、文档检索和 Next.js 诊断。
主要功能
- 01编译和分析 Compact 合约
- 02部署合约并调用电路
- 03创建 Midnight 钱包并转账
- 04查询网络状态与链上记录
- 05搜索 Midnight 和 Next.js 文档
- 06诊断 Next.js 运行时及浏览器行为
适用场景
- 01构建并部署 Midnight dApp
- 02查看钱包余额和交易
- 03查找 Midnight 与 Next.js 文档
- 04诊断运行中的 Next.js 开发服务器
MCP 相关
此 MCP 服务向支持 MCP 的客户端提供 Midnight Network 和 Next.js 工具及文档资源,可配置为启用其中任一类别或两者。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y midnight-nextjs-mcpGITHUB_TOKEN密钥GitHub Personal Access Token - increases API rate limitsLOG_LEVELLogging verbosity levelMIDNIGHT_LOCALEnable local mode with ChromaDB for offline semantic search本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Midnight + Next.js 开发 MCP 服务
一个将 Midnight Network 区块链开发工具与 Next.js DevTools 相结合的 Model Context Protocol(MCP)服务,用于构建去中心化应用。
兼容所有支持 MCP 的 AI 助手: Claude、GitHub Copilot、Cursor、Windsurf、Codeium、Continue.dev、Zed、Sourcegraph Cody 等。
🤖 支持的 AI 助手
此 MCP 服务适用于所有支持 Model Context Protocol 的 AI 助手:
| AI 助手 | 平台 | 配置 |
|---|---|---|
| Claude | 桌面应用、VS Code | 原生支持 MCP |
| GitHub Copilot | VS Code、JetBrains | MCP 扩展 |
| Cursor | IDE | 内置支持 MCP |
| Windsurf | IDE | 内置支持 MCP |
| Codeium | VS Code、JetBrains | MCP 集成 |
| Continue.dev | VS Code、JetBrains | MCP 配置文件 |
| Zed | IDE | 支持 MCP |
| Sourcegraph Cody | VS Code | MCP 扩展 |
🌙 功能
Midnight Network 工具
合约开发
midnight_init- 初始化开发上下文midnight_compile_contract- 将 Compact 合约编译为 TypeScript/ZK 构件midnight_analyze_contract- 对合约进行静态分析midnight_deploy_contract- 将合约部署到网络midnight_call_contract- 在已部署的合约上执行电路调用midnight_scaffold_project- 从模板创建新的 dApp 项目
钱包与代币
midnight_create_wallet- 使用助记词生成新钱包midnight_wallet_state- 获取详细的钱包状态和余额midnight_transfer_tokens- 转移 tDUST 代币midnight_get_balance- 查询代币余额
网络与查询
midnight_network_status- 检查网络运行状况(Indexer、Proof Server、Node)midnight_get_block- 查询区块链区块midnight_get_transaction- 查询交易详情midnight_check_versions- 检查 Midnight 软件包更新
文档
midnight_search_docs- 搜索 Midnight 文档midnight-fetch-docs- 获取特定文档页面midnight-sync-docs- 从官方仓库同步文档midnight-docs-status- 检查文档同步状态midnight-list-docs- 列出可用的文档来源
Next.js DevTools
init- 初始化 Next.js 开发上下文nextjs_docs- 搜索 Next.js 文档nextjs_index- 发现正在运行的开发服务器nextjs_call- 执行运行时诊断工具browser_eval- 使用 Playwright 进行浏览器自动化upgrade_nextjs_16- Next.js 16 升级指南enable_cache_components- Cache Components 迁移
📦 安装
# Clone the repository
git clone https://github.com/your-username/midnight-nextjs-mcp.git
cd midnight-nextjs-mcp
# Install dependencies
pnpm install
# Build
pnpm build
🚀 使用
使用 npx 快速开始
使用此 MCP 服务最简单的方式是通过 npx,无需安装:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
配置示例
大多数 AI 助手采用标准化的 MCP 配置格式。以下是各平台的配置示例:
通用 MCP 配置
大多数 MCP 客户端都使用这种标准 JSON 格式。将其添加到客户端的 MCP 配置文件中:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
VS Code(GitHub Copilot / Claude 扩展)
将其添加到 VS Code 的 settings.json 或工作区 .vscode/mcp.json 中:
{
"mcp.servers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
或者,针对 Claude 扩展:
{
"claude.mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
Claude Desktop(macOS)
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
Claude Desktop(Windows)
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
Claude Desktop(Linux)
编辑 ~/.config/Claude/claude_desktop_config.json:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
Cursor IDE
将其添加到 Cursor MCP 配置中(项目中的 .cursor/mcp.json 或全局设置):
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
Windsurf / Codeium
将其添加到 Windsurf MCP 设置中:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
Continue.dev(VS Code / JetBrains)
添加到 ~/.continue/config.json 或项目的 .continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"name": "midnight-nextjs-mcp",
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
]
}
}
Zed Editor
添加到 Zed 设置中(Linux 上为 ~/.config/zed/settings.json,macOS 上为 ~/Library/Application Support/Zed/settings.json):
{
"context_servers": {
"midnight-nextjs-mcp": {
"command": {
"path": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
}
Sourcegraph Cody
添加到 Cody MCP 配置中:
{
"cody.experimental.mcp.servers": {
"midnight-nextjs-mcp": {
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
JetBrains IDE(IntelliJ、WebStorm 等)
对于支持 MCP 的 JetBrains IDE 中的 AI 助手,请添加到 MCP 配置中:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
使用全局安装
如果你更倾向于全局安装,而不是使用 npx:
npm install -g midnight-nextjs-mcp
然后进行配置:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "midnight-nextjs-mcp"
}
}
}
本地开发 / 从源代码构建
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "node",
"args": ["/path/to/midnight-nextjs-mcp/dist/index.js"]
}
}
}
Docker
在 Docker 容器中运行 MCP 服务:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "fractionestate/midnight-nextjs-mcp:latest"]
}
}
}
CLI 参数
# 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 startup
npx midnight-nextjs-mcp@latest --check-versions
# Set version polling interval (default 24 hours)
npx midnight-nextjs-mcp@latest --poll-interval=12
🏗️ 项目结构
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
🔧 配置
环境变量
你可以在配置中向 MCP 服务传递环境变量:
{
"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"
}
}
}
}
可用环境变量
# Midnight Network (optional, defaults to testnet)
MIDNIGHT_NETWORK=testnet
MIDNIGHT_INDEXER_URL=https://indexer.testnet.midnight.network/graphql
MIDNIGHT_PROOF_SERVER_URL=https://proof-server.testnet.midnight.network
MIDNIGHT_NODE_URL=https://rpc.testnet.midnight.network
网络配置
| 网络 | 索引器 | 证明服务 |
|---|---|---|
| 测试网 | indexer.testnet.midnight.network | proof-server.testnet.midnight.network |
| 开发网 | localhost:8080 | localhost:6300 |
📚 资源
该服务提供以下文档资源:
Midnight 资源
midnight://compact/overview- Compact 语言简介midnight://compact/reference- 完整语法参考midnight://sdk/overview- Midnight.js SDK 指南
Next.js 资源
nextjs-docs://llms-index- 文档索引cache-components://overview- Cache Components 指南
🧪 开发
# Watch mode
pnpm dev
# Type check
pnpm typecheck
# Run tests
pnpm test
# Build
pnpm build
📖 文档
特定客户端的 MCP 文档
🤝 贡献
欢迎贡献!请先阅读贡献指南。
📄 许可证
MIT 许可证 - 详情请参阅 LICENSE。
为 Midnight 和 Next.js 社区倾情打造 ❤️。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。