Midnight + Next.js MCP について
Midnight + Next.js MCPは、Midnight Networkのブロックチェーン開発ツールとNext.js DevToolsを統合します。分散型アプリを開発する人向けに、コントラクト操作、チェーン照会、ドキュメント検索、Next.js診断を提供します。
主な機能
- 01Compactコントラクトのコンパイルと分析
- 02コントラクトのデプロイと回路呼び出し
- 03Midnightウォレット作成とトークン送金
- 04ネットワーク状態とチェーン記録の照会
- 05MidnightとNext.jsのドキュメント検索
- 06Next.jsの実行時とブラウザー動作の診断
活用シーン
- 01Midnight dAppの構築とデプロイ
- 02ウォレット残高と取引の確認
- 03MidnightとNext.jsの資料検索
- 04稼働中のNext.js開発サーバーの診断
MCP 対応
MCP対応クライアントに、Midnight NetworkとNext.jsのツールおよびドキュメントリソースを提供するMCPサーバーです。どちらか一方、または両方のツール群を有効にできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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"]
}
}
}
設定例
MCP 設定形式は、ほとんどの AI アシスタントで標準化されています。以下にプラットフォームごとの例を示します。
共通の MCP 設定
ほとんどの MCP クライアントでは、この標準 JSON 形式を使用します。クライアントの MCP 設定ファイルに追加してください。
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
VS Code(GitHub Copilot / Claude Extension)
VS Code の settings.json またはワークスペースの .vscode/mcp.json に追加してください。
{
"mcp.servers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
または、Claude extension 専用の設定:
{
"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
MCP サーバーを Docker コンテナで実行します。
{
"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 ドキュメント
- Claude Desktop の MCP ガイド
- VS Code MCP 拡張機能
- Cursor の MCP ドキュメント
- Continue.dev の MCP ガイド
- Zed の MCP ドキュメント
🤝 コントリビューション
コントリビューションを歓迎します。まず、コントリビューションガイドラインをお読みください。
📄 ライセンス
MIT ライセンスです。詳細は LICENSE をご覧ください。
Midnight と Next.js のコミュニティのために ❤️ を込めて開発されました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。