mcpField
T
Three.js DevTools MCP

Three.js DevTools MCP

ローカル
github.com開発ツール1282 週間前に更新

Three.js DevTools MCP について

Three.js DevTools MCP は、ブラウザー経由で Three.js シーンを調査、変更する MCP サーバーです。バニラの Three.js と React Three Fiber に対応し、一時的なライブプレビューとソースコードの変更を分け、適用用コードも提示します。

主な機能

  1. 01シーンのオブジェクト、マテリアル、シェーダー、テクスチャの調査
  2. 02ブラウザーでのシーン変更のライブプレビュー
  3. 03保留中の変更からコードを生成
  4. 04ウェブサイトの描画とパフォーマンスを監査
  5. 05滑らかな動画フレーム列のキャプチャ
  6. 06Playwright と Puppeteer のワークフローに接続

活用シーン

  1. 01モデルやオブジェクトが見えない原因の調査
  2. 02マテリアル、照明、カメラの調整をプレビュー
  3. 03シーン上の試行をソースコードの変更に反映
  4. 04Three.js サイトの描画問題を確認
  5. 05プロモーション用のシーン映像を録画

MCP 対応

この MCP サーバーは、Three.js シーンの調査と編集、ウェブサイト監査、フレームキャプチャ、ブラウザー自動化接続用のツールを公開します。MCP クライアントはブラウザーの DevTools ブリッジ経由でこれらを利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dmitriygolub-threejs-devtools": {
"command": "npx",
"args": [
"-y",
"threejs-devtools-mcp"
],
"env": {
"DEV_PORT": "<DEV_PORT>",
"BRIDGE_PORT": "<BRIDGE_PORT>",
"BROWSER": "<BROWSER>",
"HEADLESS": "<HEADLESS>",
"CHROME_PATH": "<CHROME_PATH>"
}
}
}
}
起動コマンドnpx -y threejs-devtools-mcp
設定が必要な環境変数
DEV_PORTDev server port to proxy (auto-detected from package.json if not set)
BRIDGE_PORTBridge proxy port (default: 9222)
BROWSERSet to 'none' to disable auto-opening browser
HEADLESSSet to 'true' for headless browser mode (CI)
CHROME_PATHCustom Chrome/Edge executable path

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmthreejs-devtools-mcp0.2.1

ツール

51

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
depthnumberいいえツリーの最大深度(デフォルト:3)
typesarrayいいえタイプでフィルター:Mesh、Light、Group など。
compactbooleanいいえ簡潔なテキストツリー(デフォルト:true)。false に設定すると、位置/ジオメトリを含む完全な JSON を返します。
maxChildrennumberいいえノードごとの最大子ノード数(デフォルト:簡潔モードでは 15、JSON では 100)

詳細

threejs-devtools-mcp

npm version license build MCP Registry

Three.js のシーンをリアルタイムで調査し、ブラウザー上で変更をライブプレビューして、コードに反映するための MCP サーバーです。69 個のツールで、オブジェクト、マテリアル、シェーダー、テクスチャ、アニメーション、パフォーマンスとメモリのほか、ウェブサイトの監査、動画フレームのキャプチャ、Playwright ヘルパーにも対応しています。

プロジェクトに変更を加える必要はありません。 vanilla Three.js と React Three Fiber の両方で動作し、WebGLRenderer と WebGPURenderer に対応しています。

注釈付きスクリーンショット

セットアップ

1. MCP サーバーを追加する
Claude Code
claude mcp add threejs-devtools-mcp -- npx threejs-devtools-mcp
Claude Desktop

claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "threejs-devtools-mcp": {
      "command": "npx",
      "args": ["-y", "threejs-devtools-mcp"]
    }
  }
}
Cursor

プロジェクトの .cursor/mcp.json に追加します:

{
  "mcpServers": {
    "threejs-devtools-mcp": {
      "command": "npx",
      "args": ["-y", "threejs-devtools-mcp"]
    }
  }
}

または HTTP トランスポートを使用します。詳しくはCursor セットアップガイドをご覧ください。

Windsurf

~/.codeium/windsurf/mcp_config.json に追加します:

{
  "mcpServers": {
    "threejs-devtools-mcp": {
      "command": "npx",
      "args": ["-y", "threejs-devtools-mcp"]
    }
  }
}
VS Code (Copilot)

.vscode/mcp.json に追加します:

{
  "servers": {
    "threejs-devtools-mcp": {
      "command": "npx",
      "args": ["-y", "threejs-devtools-mcp"]
    }
  }
}
OpenCode

プロジェクトの opencode.json に追加します:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "threejs-devtools-mcp": {
      "type": "local",
      "command": ["npx", "-y", "threejs-devtools-mcp"],
      "enabled": true
    }
  }
}
2. 開発サーバーを起動してブラウザーを開く

通常どおり Three.js の開発サーバーを起動します(npm run dev)。MCP サーバーは package.json からポートを自動検出し、開発ツールブリッジを挿入した状態で localhost:9222 のブラウザーを開きます。

ブラウザーのタブを開いたままにしてください。 MCP サーバーは WebSocket ブリッジを介してシーンと通信します。タブを閉じると、ツールは動作しなくなります。

3. シーンについて AI に質問する
"show me the scene tree"
"why is my model invisible?"
"try the car in red"          ← live preview, nothing saved
"keep it"                     ← written into your code
"audit this site for mobile"
"record a 5-second clip at 60 fps"

今すぐ確認するか、コードを変更するか

各ツールにはラベルが付いているため、ファイルに影響する操作をユーザーと AI が常に把握できます:

ツールコードへの影響
調査scene_tree、material_details、web_audit、スクリーンショットなど変更なし
ライブプレビューset_material_property、set_light、set_camera など変更なし。ページを再読み込みすると失われます
デバッグ表示ワイヤーフレーム、バウンディングボックス、ヘルパー、オーバーレイ変更なし。コードに含める必要はありません
コード反映用pending_changes、gltf_to_r3fAI がソースコードに書き込みます

ライブプレビューで加えた変更はすべて記録されます。pending_changes を実行すると、変更ごとに変更前 → 変更後の内容と、そのまま貼り付けられるコード(vanilla Three.js と React Three Fiber)が返され、プロジェクト内の該当箇所も示されます。revert_changes を使うと、ブラウザー上で変更を元に戻せます。

ウェブサイトと動画向け

  • web_audit:ぼやけたキャンバス(ピクセル比、リサイズ処理の不足)、バッテリー消費(アイドル時や画面外でのレンダリング)、大きすぎるテクスチャ(サイズ超過、KTX2 未使用)、高負荷なシャドウ、誤った色空間、過剰なドローコールを検出します。各検出項目には修正方法が示されます。
  • capture_frames:プロモーション動画やリール用のフレームシーケンスを記録します。時間を仮想化するため、シーンのレンダリングが遅くても、出力は 30/60 fps で完全に滑らかです。MP4/WebM 用の ffmpeg コマンドも取得できます。

スキル

すぐに使えるワークフローが、Claude Code、Cursor などのクライアントでスラッシュコマンドとして利用できます:inspect-scene、try-look、apply-to-code、web-perf-audit、prepare-video、debug-invisible、playwright-setup。

Playwright & Puppeteer

どの接続方法でも同じツールを利用できます。接続方法は、独自のブラウザー(デフォルト)、サーバーが起動する Chrome(HEADLESS / CDP_PORT。Playwright MCP と共有可能)、または独自のテストの 3 つです。

import { attachDevtools, waitForScene, threeCall } from 'threejs-devtools-mcp/playwright';

await attachDevtools(context, { connect: false });
await page.goto('http://localhost:5173');
await waitForScene(page);
expect((await threeCall(page, 'object_details', { name: 'Car' })).visible).toBe(true);

ブラウザー、Puppeteer、Playwrightをご覧ください。

ブラウザー内オーバーレイ

パフォーマンス統計のリアルタイム表示、操作可能なシーングラフ、マテリアルエディター、3D オブジェクトのプレビューを備えた、組み込みの開発者ツールパネルです。自動的に、またはtoggle_overlayツールから有効になります。

オーバーレイパネル

ヒント:オブジェクトに名前を付けましょう

名前のないオブジェクトは、シーンツリーに(unnamed)と表示されます。名前を付けると、オブジェクトを見つけて変更しやすくなります。

// Three.js
mesh.name = "player";
// React Three Fiber
<mesh name="player" geometry={geometry} material={material} />

ドキュメント

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。