Zum Inhalt springen
MCP ThesaurusMCP Thesaurus

Midnight + Next js MCP

CommunityIncomplete39/100Beanspruchen

npm midnight-nextjs-mcpstdioupdated 8mo ago

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

QuellcodeWebsiteDocs

Was kannst du mit Midnight + Next js MCP machen?

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 Assistant Platform Configuration
Claude Desktop App, VS Code Native MCP support
GitHub Copilot VS Code, JetBrains MCP extension
Cursor IDE Built-in MCP support
Windsurf IDE Built-in MCP support
Codeium VS Code, JetBrains MCP integration
Continue.dev VS Code, JetBrains MCP config file
Zed IDE MCP support
Sourcegraph Cody VS Code MCP 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

# 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

πŸš€ Usage

Quick Start with npx

The easiest way to use this MCP server is via npx β€” no installation required:

{
  "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:

{
  "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:

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

Or for Claude extension specifically:

{
  "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:

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

Edit %APPDATA%\Claude\claude_desktop_config.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:

{
  "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):

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

Add to your Windsurf MCP settings:

{
  "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:

{
  "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):

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

Sourcegraph Cody

Add to your Cody MCP configuration:

{
  "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:

{
  "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:

npm install -g midnight-nextjs-mcp

Then configure:

{
  "mcpServers": {
    "midnight-nextjs-mcp": {
      "type": "stdio",
      "command": "midnight-nextjs-mcp"
    }
  }
}
Local Development / From Source
{
  "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:

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

CLI Flags

# 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

πŸ—οΈ 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:

{
  "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
# 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

Network Configurations

Network Indexer Proof Server
Testnet indexer.testnet.midnight.network proof-server.testnet.midnight.network
Devnet localhost:8080 localhost: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

# Watch mode
pnpm dev

# Type check
pnpm typecheck

# Run tests
pnpm test

# Build
pnpm 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.