0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

claude.ai(Web版)・GrokからもLUNAを操作できるようにした話 — OAuthプロキシを添えて

はじめに

以前、ESP32上で動くMCP(Model Context Protocol)サーバーという記事でLUNAを紹介しました。今回は、LUNAが実際にどこまでできるのかをもう少し詳しく紹介しつつ、新しく公開したOAuthプロキシについてまとめます。

LUNAとは、改めて

LUNAは、ESP32上で動くMCP(Model Context Protocol)サーバー + Lua 5.1スクリプトエンジンです。一言でいうと「AIと会話するだけで、ESP32上のコードが書かれ、実行され、結果を見てAI自身が修正までしてくれる」という組み込み開発の体験を提供します。

あなた ──→ Claude AI ──→ LUNA (ESP32) ──→ 望遠鏡・シリアル機器
  「M42に向けて」   シリアルコマンド      🔭 導入完了

何が「実力」なのか

Arduino IDEやPlatformIOでの「書く→ビルド→書き込む→確認する」というサイクルを、LUNAは「AIに話す→AIが書いて実機で実行→結果を見て自己修正」に置き換えます。ポイントは、ファームウェアの書き換えが一切不要な点です。ロジックはESP32のSPIFFS上に保存されたLuaスクリプトとして存在し、AIがリアルタイムに書き換え続けられます。

Claudeが実際に呼び出せるMCPツールの一部:

ツール 内容
lua_exec / lua_save / lua_run スクリプトの即時実行・保存・非同期実行
lua_status / lua_log / lua_stop 実行状態・ログの確認、停止
serial_query / serial_write / serial_read シリアル機器への直接制御(RS-232C)
fs_read / fs_write ESP32上のファイル読み書き
check_notify Luaスクリプトからの非同期通知の受信

Lua側からは、http.get/put/post(ASCOM/Alpaca、NINA Advanced API、Vixen STAR BOOK TEN連携)、udp.*(Vixen Wireless Unit連携)、log.save/load(スクリプト間のデータ受け渡し)、notify.set(AIへの通知)といったモジュールが使えます。FreeRTOSのデュアルコア構成で、MCPサーバーとLua実行エンジンが別コアで動くため、スクリプト実行中もMCP通信がブロックされません。

実際の連携例

NINA(無料の天体撮影ソフト)と組み合わせると、天候チェック→望遠鏡導入→オートフォーカス→撮影シーケンス開始→気温変化に応じた再フォーカス→悪天候時の自動中断、という一連の流れを「今夜M42を撮って」の一言で任せられます。Vixen Wireless Unit(AXD/SXP/SXD2/AP/SX2/AXJ/SXP2)やSTAR BOOK TENへのGoToも、Claudeが内蔵のガイド(vixen_guide)を使って自動でコマンドを組み立てます。

つまりLUNAは「望遠鏡を動かすためのAI」ではなく、AIがハードウェアを直接プログラムし続けるための土台です。天体観測はその最初の具体的なユースケースにすぎません。

これまでの制約: Claude Desktop専用だった

ここまで便利なLUNAですが、これまで接続できるのはClaude Desktopのみでした。claude.ai(Web版)やGrokの「カスタムコネクタ」機能は、リモートMCPサーバーにOAuth 2.0認証(Dynamic Client Registration + Authorization Code + PKCE)を必須としますが、LUNAのStreamableHTTP MCP実装は認証機能を持たないため、そのままでは接続できませんでした。

解決策: AiBridgeMCP OAuth Proxy

そこで、この認証層だけを肩代わりする軽量な中継プログラムAiBridgeMCP OAuth Proxyを公開しました。

claude.ai / Grok ──→ HTTPSトンネル ──→ OAuthプロキシ(PC上) ──→ LUNA(ESP32)
                                        認証はここで完結        /mcpへ素通し
  • Node.js標準モジュールのみ・依存ゼロで実装
  • Cloudflare Quick Tunnelを既定で使用 — アカウント登録不要、初回起動時に自動ダウンロード
  • 固定URLが欲しい場合は、詳細設定からngrok(要アカウント登録)にも切り替え可能
  • ソースコード同梱・MITライセンスで、中身をそのまま確認できる

使い方

  1. .exeをダブルクリック(Node.jsのインストール不要)
  2. ブラウザが自動で開く
  3. LUNAのIPアドレスを入力してボタンを押す
  4. 表示されたURLとPINを、claude.ai / Grokの「コネクタを追加」画面に登録

これだけで、claude.ai(Web版)からもGrokからも、Claude Desktopと同じようにLUNAを操作できるようになります。

ダウンロード

現時点では日本語UI版のみですが、英語版も後日公開予定です。

おわりに

LUNA本体についてはこれまでも記事にしてきましたが、今回のOAuthプロキシによって「Claude Desktopを開いていないと使えない」という制約がなくなり、ブラウザさえあればどこからでもLUNAと対話できるようになりました。天体観測に限らず、ESP32を使った電子工作全般でも同じ仕組みが使えます(LUNA-Lab参照)。

質問や要望があれば、アプリ内の「説明書をAIに質問する」ボタンからClaude/Grokに直接聞くこともできますし、AiBridgeMCP Community(Facebook)でも受け付けています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?