mcpField
M
Midnight + Next.js MCP

Midnight + Next.js MCP

本地服务
github.com/FractionEstate开发工具042 周前更新

关于 Midnight + Next.js MCP

Midnight + Next.js MCP 将 Midnight Network 区块链开发工具与 Next.js DevTools 集成,面向构建去中心化应用的开发者,支持合约操作、链上查询、文档检索和 Next.js 诊断。

主要功能

  1. 01编译和分析 Compact 合约
  2. 02部署合约并调用电路
  3. 03创建 Midnight 钱包并转账
  4. 04查询网络状态与链上记录
  5. 05搜索 Midnight 和 Next.js 文档
  6. 06诊断 Next.js 运行时及浏览器行为

适用场景

  1. 01构建并部署 Midnight dApp
  2. 02查看钱包余额和交易
  3. 03查找 Midnight 与 Next.js 文档
  4. 04诊断运行中的 Next.js 开发服务器

MCP 相关

此 MCP 服务向支持 MCP 的客户端提供 Midnight Network 和 Next.js 工具及文档资源,可配置为启用其中任一类别或两者。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"fractionestate-midnight-nextjs": {
"command": "npx",
"args": [
"-y",
"midnight-nextjs-mcp"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"LOG_LEVEL": "<LOG_LEVEL>",
"MIDNIGHT_LOCAL": "<MIDNIGHT_LOCAL>"
}
}
}
}
启动命令npx -y midnight-nextjs-mcp
需要配置的环境变量
GITHUB_TOKEN密钥GitHub Personal Access Token - increases API rate limits
LOG_LEVELLogging verbosity level
MIDNIGHT_LOCALEnable local mode with ChromaDB for offline semantic search

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmidnight-nextjs-mcp0.3.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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 CopilotVS Code、JetBrainsMCP 扩展
CursorIDE内置支持 MCP
WindsurfIDE内置支持 MCP
CodeiumVS Code、JetBrainsMCP 集成
Continue.devVS Code、JetBrainsMCP 配置文件
ZedIDE支持 MCP
Sourcegraph CodyVS CodeMCP 扩展

🌙 功能

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.networkproof-server.testnet.midnight.network
开发网localhost:8080localhost: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 社区倾情打造 ❤️。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。