1 of 14

Midnight MCP

ハンズオンマニュアル

Claude Code × Midnight でプライバシーコントラクトを作る

対象: 開発者・ビジネス受講者

所要時間: 約60〜90分

SIPO | Midnight Ambassador

2 of 14

このワークショップで学ぶこと

1

Claude Code に Midnight MCP を接続し、29種類のツールを使う方法

2

自然言語プロンプトからプライバシーコントラクトを生成する方法

3

MCP経由でコンパイル・エラー自動修正する方法

4

Midnight Preprodテストネットにデプロイする方法(オプション)

3 of 14

Part 1: 環境準備

必要ツール チェックリスト

ツール

要件

確認コマンド

Node.js

v22以上

node -v

Claude Code

最新版

claude --version

Compact CLI

v0.5.1

compact --version

Docker Desktop

最新版(デプロイ時のみ)

docker --version

4 of 14

Part 1: インストール手順

Node.js 22

brew install node@22

node -v

Compact CLI

curl --proto '=https' --tlsv1.2 -LsSf \

https://github.com/midnightntwrk/

compact/releases/latest/download/

compact-installer.sh | sh

compact --version

Docker Desktop

公式サイトからダウンロード

https://docker.com/products/

docker-desktop/

Apple Silicon Mac用を選択

Claude Code

公式サイトからダウンロード

https://claude.ai/code

環境チェック: bash setup/setup-check.sh

5 of 14

Part 2: MCPセットアップ

Midnight MCP とは?

Midnight MCP(Model Context Protocol)は、Claude Code が

Midnightブロックチェーンのツール群を直接呼び出すための拡張インターフェース

接続後に使えるツールは 29種類

APIキーは不要

.mcp.json をプロジェクトルートに作成

{

"mcpServers": {

"midnight": {

"command": "npx",

"args": ["-y", "midnight-mcp@latest"]

}

}

}

たった3行の設定で

60秒セットアップ完了

6 of 14

Part 2: MCP接続確認

Step 1: Claude Codeを起動

cd midnight-workshop

claude

Step 2: MCP接続を確認

利用可能なMCPツールをリストアップしてください

Step 3: 29個のmidnight-ツールが表示されればOK

接続できない場合の確認ポイント:

・.mcp.json がプロジェクトルートに存在するか

・Node.js v22以上か

・Claude Codeを .mcp.json と同じフォルダで起動しているか

7 of 14

Part 3: コントラクト生成

プライバシーコントラクトとは?

従来のブロックチェーン

すべての取引情報が

チェーン上に公開される

(送金額・送金先)

Midnightコントラクト

ZKPで「送金が正当」という

事実だけを記録

金額・相手先は非公開

生成プロンプト:

Compact言語で、送金額と送金先を非公開にした

プライベート決済コントラクトを作成してください

→ MCPが自動で構文取得 → サンプル参照 → コード生成

8 of 14

Part 3: 生成されるコントラクトの構造

ledger

チェーン上に保存

balance_commitments:

Map<Bytes<32>,

Bytes<32>>

残高のハッシュ値のみ

実際の金額は非公開

witness

ローカルのみ・非公開

local_secret_key

private_amount

private_recipient

秘密鍵・送金額・

送金先はチェーンに

絶対に乗らない

circuit

処理ロジック

deposit

→ 残高登録(公開)

private_transfer

→ ZKP送金(非公開)

check_balance

→ 残高確認(非公開)

9 of 14

Part 4: MCPコンパイル&レビュー

コンパイルの仕組み

Claude Code → MCP → Midnight ホストコンパイラ → 結果を返す

コンパイル実行プロンプト:

先ほど生成したコントラクトをコンパイルしてください

エラーが出てもMCPが自動修正!

よくあるエラーと自動修正:

1. disclose()の欠落 → ZKP証明出力にdisclose()を自動追加

2. 型の不一致 → as_bytes()による型変換を追加

3. witnessアクセスの誤り → circuit内に参照を移動

10 of 14

Part 5: テストネットデプロイ(オプション)

Step 1: プロジェクト作成

npx create-mn-app my-app

# Contract → Hello World を選択

Step 2: ワンコマンドデプロイ

cd my-app

npm run setup

Step 3: Faucetでトークン取得

https://faucet.preprod.

midnight.network/

ウォレットアドレスを入力

→ tNightトークンを受領

Step 4: エクスプローラーで確認

https://preprod.

midnightexplorer.com/

送金額が「非公開」に

なっていることを確認

npm run setup が自動で: Proof Server起動 → コンパイル → デプロイ

11 of 14

トラブルシューティング

症状

対処法

MCP接続できない

.mcp.json の存在確認 / Node.js v22+ / 同フォルダで起動

コンパイル失敗

compact --version 確認 / disclose()エラー → Part 4参照

Docker起動しない

Docker Desktopアプリ起動確認 / メモリ4GB以上推奨

Preprod接続不可

ネットワーク状態確認 / 時間を置いてリトライ

12 of 14

主要リソース

Midnight 公式ドキュメント

docs.midnight.network

Midnight MCP GitHub

github.com/Olanetsoft/midnight-mcp

Compact 言語リファレンス

docs.midnight.network/compact/reference

インストールガイド

docs.midnight.network/getting-started/installation

Preprod Faucet

faucet.preprod.midnight.network

Preprod エクスプローラー

preprod.midnightexplorer.com

13 of 14

振り返りチェックリスト

.mcp.json を設置して Claude Code から Midnight MCP に接続できた

自然言語プロンプトで Compact コントラクトが生成できた

ledger / witness / circuit の役割の違いを説明できる

MCP 経由でコンパイルを実行し、エラーを自動修正できた

(オプション)Preprod テストネットにデプロイできた

すべてチェックできたらワークショップ修了です!

14 of 14

Midnight MCP

ハンズオンマニュアル

midnight.network

@midnight_jpn

SIPO | Midnight Ambassador

sipo.tokyo

ご質問はお気軽にどうぞ