🚀 Midnight + Next.js開発用MCPサーバー
分散型アプリケーションを構築するために、Midnightネットワークのブロックチェーン開発ツールとNext.js DevToolsを組み合わせたモデルコンテキストプロトコル(MCP)サーバーです。
すべてのMCP対応AIアシスタントと互換性があります: Claude、GitHub Copilot、Cursor、Windsurf、Codeium、Continue.dev、Zed、Sourcegraph Codyなど。
🤖 サポートされるAIアシスタント
このMCPサーバーは、モデルコンテキストプロトコルをサポートする任意の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ネットワークツール
コントラクト開発
midnight_init - 開発コンテキストを初期化します。
midnight_compile_contract - コンパクトコントラクトを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 - ネットワークの健全性(インデクサー、プルーフサーバー、ノード)を確認します。
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 - キャッシュコンポーネントの移行を行います。
📦 インストール
git clone https://github.com/your-username/midnight-nextjs-mcp.git
cd midnight-nextjs-mcp
pnpm install
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拡張機能)
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デスクトップ(macOS)
~/Library/Application Support/Claude/claude_desktop_config.jsonを編集します。
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
Claudeデスクトップ(Windows)
%APPDATA%\Claude\claude_desktop_config.jsonを編集します。
{
"mcpServers": {
"midnight-nextjs-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "midnight-nextjs-mcp@latest"]
}
}
}
Claudeデスクトップ(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エディタ
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フラグ
npx midnight-nextjs-mcp@latest
npx midnight-nextjs-mcp@latest --no-midnight
npx midnight-nextjs-mcp@latest --no-nextjs
npx midnight-nextjs-mcp@latest --check-versions
npx midnight-nextjs-mcp@latest --poll-interval=12
🏗️ プロジェクト構造
midnight-nextjs-mcp/
├── src/
│ ├── index.ts # サーバーのエントリポイント
│ ├── tools/
│ │ ├── index.ts # 統一されたツールレジストリ
│ │ ├── midnight/ # Midnightネットワークツール
│ │ │ ├── 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プロバイダー
│ │ ├── index.ts
│ │ ├── indexer.ts # GraphQLインデクサークライアント
│ │ ├── proof-server.ts # プルーフ生成クライアント
│ │ └── node.ts # ノードRPCクライアント
│ ├── resources/ # MCPリソース
│ │ ├── (midnight-compact)/ # コンパクト言語のドキュメント
│ │ ├── (midnight-sdk)/ # SDKドキュメント
│ │ ├── (cache-components)/ # Next.jsキャッシュドキュメント
│ │ └── ...
│ ├── prompts/ # MCPプロンプト
│ │ ├── create-midnight-contract.ts
│ │ ├── upgrade-nextjs-16.ts
│ │ └── enable-cache-components.ts
│ └── types/ # TypeScript定義
│ ├── 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=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 - コンパクト言語の紹介
midnight://compact/reference - 完全な構文リファレンス
midnight://sdk/overview - Midnight.js SDKガイド
Next.jsリソース
nextjs-docs://llms-index - ドキュメントインデックス
cache-components://overview - キャッシュコンポーネントガイド
🧪 開発
pnpm dev
pnpm typecheck
pnpm test
pnpm build
📖 ドキュメント
クライアント固有のMCPドキュメント
🤝 コントリビューション
コントリビューションを歓迎します!まずはコントリビューションガイドラインをお読みください。
📄 ライセンス
MITライセンス - 詳細はLICENSEを参照してください。
MidnightとNext.jsコミュニティのために愛を込めて構築されました。