Midnight+Next.js开发MCP服务器
一个模型上下文协议(MCP)服务器,将Midnight Network区块链开发工具与Next.js DevTools相结合,用于构建去中心化应用程序。
与所有启用MCP的AI助手兼容: Claude、GitHub Copilot、Cursor、Windsurf、Codeium、Continue.dev、Zed、Sourcegraph Cody等。
🤖 支持的AI助手
此MCP服务器可与支持模型上下文协议的任何AI助手配合使用:
| AI助手 | 平台 | 配置 |
|---|---|---|
| 克劳德 | 桌面应用程序,VS代码 | 原生MCP支持 |
| GitHub Copilot | VS代码,JetBrains | MCP扩展 |
| 光标 | IDE | 内置MCP支持 |
| 帆板运动 | IDE | 内置MCP支持 |
| 可待因 | VS Code,JetBrains | MCP集成 |
| Continue.dev | VS代码,JetBrains | MCP配置文件 |
| 泽德 | IDE | MCP支持 |
| 源代码图科迪 | VS代码 | MCP扩展 |
🌙 特性
午夜网络工具
合同开发
midnight_init-初始化开发上下文midnight_compile_contract-将Compact合约编译为Types/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-检查网络健康状况(索引器、验证服务器、节点)midnight_get_block-查询区块链块midnight_get_transaction-查询交易明细midnight_check_versions-查看Midnight套餐更新
文档
midnight_search_docs-搜索午夜文档midnight-fetch-docs-获取特定文档页面midnight-sync-docs-从官方仓库同步文档midnight-docs-status-检查文档同步状态midnight-list-docs-列出可用的文档来源
Next.js工具
init-初始化Next.js开发上下文nextjs_docs-搜索Next.js文档nextjs_index-发现正在运行的开发服务器nextjs_call-执行运行时诊断工具browser_eval-使用Playwright实现浏览器自动化upgrade_nextjs_16-Next.js 16升级指南enable_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"]
}
}
}配置示例
MCP配置格式在大多数AI助手中都是标准化的。以下是特定平台的示例:
______________________________________________________________________
通用MCP配置
大多数MCP客户端使用这种标准JSON格式。添加到客户的MCP配置文件中:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}______________________________________________________________________
VS代码(GitHub复制品/Claude扩展)
添加到您的VS代码 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"]
}
}
}克劳德桌面(macOS)
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}克劳德桌面(Windows)
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}克劳德桌面(Linux)
编辑 ~/.config/Claude/claude_desktop_config.json:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}光标IDE
添加到光标MCP配置(.cursor/mcp.json 在项目或全局设置中):
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}风帆/Codeium
添加到您的Windsurf MCP设置中:
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}______________________________________________________________________
Continue.dev(VS代码/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编辑
添加到Zed设置(~/.config/zed/settings.json 在Linux上, ~/Library/Application Support/Zed/settings.json 在macOS上):
{
"context_servers": {
"midnight-nextjs-mcp": {
"command": {
"path": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
}______________________________________________________________________
源代码图科迪
添加到您的Cody MCP配置中:
{
"cody.experimental.mcp.servers": {
"midnight-nextjs-mcp": {
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}______________________________________________________________________
JetBrains集成开发环境(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容器中运行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 | 验证服务器.Testnet.midnight.network |
| 开发网 | 本地主机:8080 | 本地主机:6300 |
📚 资源
服务器公开文档资源:
午夜资源
midnight://compact/overview-简洁的语言介绍midnight://compact/reference-完整的语法参考midnight://sdk/overview-Midnight.js SDK指南
Next.js资源
nextjs-docs://llms-index-文件索引cache-components://overview-缓存组件指南
🧪 发展
# Watch mode
pnpm dev
# Type check
pnpm typecheck
# Run tests
pnpm test
# Build
pnpm build📖 文档
客户特定MCP文件
🤝 贡献
欢迎投稿!请先阅读投稿指南。
📄 许可证
MIT许可证-请参阅 许可证 了解详情。
______________________________________________________________________
建于❤️ Midnight和Next.js社区。
