Claude CodeでLens Studioを操作する — MCP接続の手順と注意点
Lens Studio 5.xはAI用のMCPサーバーを持ち、Claude Codeから接続できます。設定のコピーからclaude mcp add、トークン更新、エージェント定義までの手順をまとめます。
Lens Studio(SnapchatとSpectacles向けのAR開発ツール)の5.xには、AIが使うツール群をMCPサーバーとして公開する機能があります。Claude Codeからつなげば、シーンの構造を読ませたり、スクリプトを書かせたり、アセットを探させたりできます。
接続の要点は3つです。Lens Studio側でMCPサーバーを起動する。表示される設定をClaude Codeに登録する。トークンが変わったら登録し直す。この記事は、この3つを順に説明します。
Lens Studio AIの4つの入口のうち、Claude Codeが使うのはどれか
Lens StudioのAI機能は4系統に分かれています。Claude Codeを使うのは、このうち開発者向けの2つです。
| 入口 | 向く用途 | 最適化の対象 |
|---|---|---|
| GenAI Suite | 向く用途特定種類のモデルやアセットの素早い生成 | 最適化の対象Snapchat |
| Creator Mode / Easy Lens | 向く用途定型ブロックの組み合わせ。顔フィルターなど基本的なLens | 最適化の対象Snapchat |
| Lens Studio AI Developer Mode(LSAI) | 向く用途AIと対話しながらの設計・デバッグ・機能の学習 | 最適化の対象Snapchat |
| CLAD(Closed Loop Agentic Development) | 向く用途Claude CodeやCursor、Codexなど好きなAIツールでの開発 | 最適化の対象SPECS |
Developer ModeのツールはMCPサーバー経由で外部のAIにも公開されます。つまりClaude Codeの接続は、Developer Modeの延長にあります。CLADは、その上に載せるls-extensionsというスキル群を使う進め方です。Snapの概要ページによると、SPECS(Spectacles)向けのLensならこのCLADが最良の結果を出します。Snapchat向けにも使えますが、一部のスキルやプラグインはSPECS向けに最適化されており、同等の結果を得るには調整が要るとされています。
Snapchat向けの簡単なLensなら、Easy Lensで足ります。Claude Codeが出番になるのは、スクリプトを書き、コンパイルエラーを直し、実行ログを見て直すという反復をAIに任せたいときです。
接続前に揃えるもの
Snapの手順書が挙げる前提は3つです。
- Claude CodeのCLIがインストール済みであること
- Lens Studioがインストール済みであること
- Asset LibraryからChat Tool Packageを入れてあること
Chat Tool Packageは、AIが呼び出すツールの土台になります。入れていないと、接続できても使えるツールが足りません。
Claudeのコネクタ経由で使う場合は、Lens Studio 5.15以降を先に起動しておく必要があります。コネクタの説明には、拡張機能は起動中のLens Studioのセッションに接続するため、と書かれています。初回は認証の許可を求めるプロンプトが出て、2回目以降は不要です。この記事が扱うClaude Code経由の接続は、これとは別の経路です。
Claude CodeにLens StudioのMCPサーバーを登録する
接続までの流れ
- 1
MCP サーバーを起動する
Lens StudioのメニューバーでAI Assistant、AI Model Context Protocol (MCP)、Configure Serverの順に開きます。
- 2
設定をコピーする
表示されたポップアップでCopy MCP Configを押します。
- 3
Claude Code に登録する
コピーしたURLとトークンを
claude mcp addに渡します。 - 4
接続を確かめる
claude mcp listか、Claude Code内の/mcpで状態を見ます。
クリップボードに入る設定は、次のようなJSONです。トークンとポートは起動のたびに決まる値なので、手順書の例をそのまま使えません。
{
"mcpServers": {
"lens-studio": {
"headers": { "Authorization": "Bearer [your-auth-token]" },
"type": "http",
"url": "http://localhost:[your-port]/mcp"
}
}
}登録は2通りあります。1つ目は、コピーしたJSONをClaude Codeにそのまま渡し、「次のMCPサーバーを追加して」と頼む方法です。2つ目は、自分で claude mcp add を打つ方法です。
claude mcp add --transport http lens-studio http://localhost:[your-port]/mcp \
--header "Authorization: Bearer [your-auth-token]"登録できたら、状態を確認します。
claude mcp list
claude mcp get lens-studioプロジェクトのフォルダーから起動すれば登録が要らない場合がある
Snapの手順書には、もう1つ近道があります。Lens StudioのプロジェクトフォルダーでClaude Codeを起動すると、Lens StudioがそのフォルダーからMCPサーバーを公開し、手動の設定なしで接続できるという説明です。Developer Modeの解説にも、ターミナルやエディターをLens Studioのフォルダーで開けばAIエージェントがMCPサーバーに届く、とあります。
まず近道を試し、つながらなければ手動で登録する順番が楽です。
MCPサーバーはLens Studioのウィンドウごとにある
サーバーはウィンドウ単位です。別のウィンドウで別の場所にプロジェクトを保存すれば、複数のプロジェクトをAIに同時に触らせられます。ウィンドウごとに接続先が別になるので、claude mcp add で付ける名前を lens-studio-a のように分けておくと混線を避けられます(名前の分け方は筆者の提案で、公式の手順にはありません)。
保存先(スコープ)とトークンの扱い
claude mcp add の保存先は既定でlocalスコープ、つまり現在のプロジェクトで自分だけに有効です。--scope project を付けると .mcp.json に書かれてプロジェクトの全員に共有され、--scope user ならすべてのプロジェクトで自分に有効になります。
ここで注意が要ります。Lens Studioの設定には Authorization ヘッダーのトークンが入っています。projectスコープにすると、そのトークンが .mcp.json に入ってリポジトリに載りかねません。トークンは再起動で変わるため、共有する設定には向きません。localスコープのまま使うのが素直です。認証ヘッダーを別の仕組みで差し込む方法は、Claude CodeのMCPでheadersHelperを使うにまとめています。
トークンが変わったとき
Lens StudioのMCPサーバーを再起動すると、トークンが変わります。そのときは登録し直します。
claude mcp remove lens-studio
# Lens Studio で Copy MCP Config をやり直し、新しい値で追加する
claude mcp add --transport http lens-studio http://localhost:[new-port]/mcp \
--header "Authorization: Bearer [new-auth-token]"ChatToolを追加するなどしてプラグイン系が再起動したときも、再接続が要ることがあります。Claude Codeで /mcp を送って再接続を頼むか、設定を渡して追加し直すよう頼みます。
claude mcp add が管理設定で止まるときは、claude mcp addが失敗する: プラグイン以外のMCP追加を管理設定が止めるが原因の切り分けになります。
接続したあとに頼めること
公式が例に挙げる依頼は次のとおりです。
- シーンにどんなオブジェクトがあるか尋ねる
- 3Dオブジェクトを作る、ScreenTransformを付ける
- オブジェクトやコンポーネントの変更を頼む
- スクリプトを書かせて動きを付ける
- プロジェクトの不具合をデバッグさせる
- Asset Libraryで顔エフェクトなどを探して入れる
Developer Modeの解説では、シーンの中身を尋ねると、組み込みのGet Scene Graphツールが呼ばれるとされています。応答の裏でツールが動いているので、どのツールが何をしたかを把握すると、依頼の言い方を調整しやすくなります。
長い会話ではAIが文脈を失いやすくなる、とDeveloper Modeの解説にもあります。大きな依頼は、会話を分けて新しく始めるほうが安定します。
エージェント定義で精度を上げる
Snapは、Claude Codeのカスタムエージェントを使うとLens Studioでの成果が上がるとしています。手順は、プロジェクトのルートに .claude/agents/lens-studio-agent.md を作り、指示を書くだけです。
mkdir -p .claude/agents
touch .claude/agents/lens-studio-agent.md指示の本文には、Snapが「Example Prompt」として公開しているものを使えます。その冒頭は、次のようなfrontmatterです(公式の例を要約した形です)。
---
name: lens-studio-agent
description: 'Senior Lens Studio 5.x AR Developer. ...'
tools: ReadWriteTextFile, CompileWithLogsTool, GetLensStudioSceneGraph, ListLensStudioAssets, QueryLensStudioRag, SetLensStudioProperty, CreateLensStudioComponent, RunAndCollectLogsTool, GetPresetRegistryTool
model: sonnet
---この例には、運用の考え方がよく出ています。
- スクリプトはTypeScriptで書き、
BaseScriptComponentを継承した@componentクラスにする - 変更の前に、シーングラフを読んで現状を確かめる
- 不確かなAPIは書く前に
QueryLensStudioRagで調べる - コードを書いたら
CompileWithLogsToolでコンパイルを通す - 実行して
RunAndCollectLogsToolでログを集め、エラーと警告を解消する
つまり「書く、コンパイルする、走らせてログを読む」の反復を、エージェントの手順として固定します。結果をAIに読ませて直させる形なので、人が画面で確かめて伝え直す手間が減ります。
複数のエージェントに分けて任せる
Snapの手順書は、Claude Codeの実験的なagent teamsにも触れています。Lens Studio側を担当するエージェント、Webサービス側を担当するエージェント、結合テストを書くエージェントを並べ、共有タスクリストで動かす例です。agent teamsは実験的機能で、既定では無効です。有効化の方法や制約はClaude Code側のドキュメントに従います。
LensとWebサービスを組み合わせるSnap Cloudのような構成でなければ、単一のエージェントで十分です。
つまずきやすい点
接続できないときに疑う場所
サーバーが止まっている
Claude Codeの接続中は、Lens Studio側でMCPサーバーが動いている必要があります。Lens Studioを閉じたり再起動したりすると、つながらなくなります。
トークンが古い
再起動後は新しいトークンが発行されます。
claude mcp removeのあと、コピーし直した値で追加します。ツールが足りない
Chat Tool Packageを入れていないと、使えるツールが限られます。Asset Libraryから入れます。
SPECS 向けの仕組みを Snapchat に当てている
CLADのスキルはSPECSに最適化されています。Snapchat向けのLensでは、調整が要る前提で使います。
ls-extensionsを使うCLADについて
Snapの概要ページは、CLADがls-extensionsというカスタムスキル群を使い、SPECS向けLensの作成に最良の結果をもたらすと説明しています。一方、概要ページにはls-extensionsの導入手順の記載がありません。この記事の手順は、あくまでMCPサーバーの接続と、エージェント定義による補強に限ります。CLADを試す場合は、SnapのLens Studio AIのドキュメントでCLADの案内を確認してください。
Claude CodeがLens Studioを操作する経路は、Snapが「コアのスキルとエージェントは、シーン構築、スクリプト、アセット生成のようにどのLens Studioのワークフローにも使える」と書いている部分です。Snapchat向けの開発でも、MCP接続とエージェント定義の組み合わせから始められます。
ゲームエンジンの内蔵MCPをClaude Codeから使う例として、ClaudeでRoblox Studio MCPを使う手順も参考になります。接続の発想は共通で、エンジン側のサーバーを起動し、そのURLをClaude Codeに登録する流れです。
まとめ
Lens StudioとClaude Codeの接続は、メニューのConfigure Serverで設定をコピーし、claude mcp add --transport http で登録するだけです。プロジェクトのフォルダーからClaude Codeを起動すれば、手動登録さえ要らない場合もあります。
つまずきの大半は、トークンの失効とLens Studio側のサーバーの停止です。トークンを含む設定は共有スコープに置かず、変わったら登録し直します。SPECS向けの本格的な開発ならCLADを、Snapchat向けの手軽な試作ならEasy Lensを選ぶと、道具の取り違えを避けられます。