「明日」をつくるしごととくらし

テクノロジーを取り入れた教育の普及に取り組んでいます。

Obsidian と Claude Desktop を連携する MCP Connector プラグインの導入

Obsidianのノートを Claude Desktop から読み書きできるようにするプラグイン「MCP Connector」を導入した記録です。

MCP Connector の紹介ページには「ファイルをドラッグ&ドロップするだけで設定完了」と書かれているのですが、私の環境ではうまくいかず、設定メニューから手動で読み込ませる必要があったため、その手順をメモとして残しておきます。

事前準備

  • Obsidianがインストールされ、コミュニティプラグインが有効化されていること。
  • Claude Desktopアプリがインストールされていること。
  • Node.js がインストールされていること。ダウンロードページから「Windows インストーラー (.msi)」をどうぞ。(Mac だと Homebrew とか?) *1

Obsidian側でのプラグインインストール

まずはObsidian側でプラグインを導入し、連携用のファイルを書き出します。

  1. プラグインの検索と有効化
    Obsidianの「設定」>「コミュニティプラグイン」>「閲覧」を開き、検索窓に「mcp connector」と入力すれば出てくるので、インストール&有効化します。
  2. 拡張機能ファイルのダウンロード
    有効化したら MCP Connector プラグインのオプションを開きます。「Quick setup for clients」にある Claude Desktop 用の拡張機能ファイル(拡張子が .mcpb のファイル)をダウンロードします。
    設定ファイルのダウンロード
  3. Claude Desktop への連携設定
    公式ドキュメントや紹介ページには「ダウンロードした .mcpb ファイルをClaude Desktopのウィンドウにドラッグ&ドロップすれば完了」と書かれています。

しかし、私の環境ではドラッグ&ドロップしてもうまくいきませんでした。 他の環境だと問題ないかもしれませんので試してみてください。

私の場合は、以下の手順で読み込ませました。

  1. 設定画面を開く
    Claude Desktopを起動し、アプリの「設定」を開きます。
  2. 詳細設定までたどる
    設定の左メニューにあるデスクトップアプリの「拡張機能」で「詳細設定(Advanced)」を押します。
    Claude Desktop の設定
  3. 拡張機能のインストールを実行
    「拡張機能のインストール」ボタンを押します。エクスプローラーが表示されたら、先ほどObsidianからダウンロードしておいた .mcpb ファイルを直接指定して「プレビュー」を押します。確認画面が表示されるので「インストール」を押します。システムからファイアウォールの確認メッセージが表示される場合があるかもしれません。その場合はプライベートネットワークのアクセスを許可してください。設定が成功すると、拡張機能一覧に登録されているのが確認できます。設定メニューの「開発者」の項目を開くとローカルMCPサーバーの一覧にも MCP Connector が表示され「running」になっていればOKです。
    インストール画面

動作確認

設定が完了したら、一旦 Obsidian と Claude Desktop を終了*2し、再度起動します。その際、先に Obsidian を起動しておかないと Claude Desktop が MCP サーバーを見つけられません。起動したら新しいチャットで指示を出してみます。

プロンプト入力例 「Obsidianのノート一覧を表示して」 「最近修正したノートをいくつか教えて」

正しく連携できていれば、ClaudeがMCP経由でObsidian内のデータにアクセスし、ノートのタイトルや内容を認識して返答してくれます。

まとめと注意点

以前は設定のJSONファイルをエディタで書き換える方法だったのでややハードルが高かったのですが、今回は拡張機能ファイル(.mcpb)を使って連携することができました。

「ドラッグ&ドロップで一発」が動かなかったときは少し焦りましたが、設定から直接ファイルを指定すればいいことが分かりました。同じところでつまずいた方の参考になれば幸いです。

*1:インストールされていなくてもプラグインオプションからワンクリックでインストールできるようですが、私の場合は既にインストールしていたもので

*2:タスクトレイに常駐しているものも

ベータ版プラグインがインストールできる Obsidian プラグイン BRAT

BRATは、Obsidianの公式コミュニティプラグインにまだ登録されていないベータ版のプラグインやテーマ、あるいは独自に開発・公開されているプラグインを、GitHubのURLを指定するだけで簡単にインストール・自動更新できるようにするためのプラグインです。

通常、未登録のプラグインを導入するには、GitHubから手動でファイルをダウンロードし、ボールト内の .obsidian/plugins/ フォルダへ配置する必要がありますが、BRATを使えばその手間を完全に自動化できます。

注意!

BRATで導入するプラグインは、Obsidian公式によるレビューや安全性の検証が行われる前の「開発途上のコード」であることがほとんどです。そのため、意図しない挙動やバグ、データの破損などを引き起こすリスクが通常よりも高くなります。

利用する際は、事前にバックアップを取っておくなど、十分な注意が必要です。

主な機能

  • ベータ版プラグインのインストール GitHubのリポジトリURL(https://github.com/ユーザー名/リポジトリ名)を入力するだけで、対象のプラグインをダウンロードして有効化できます。
  • 自動アップデート Obsidianの起動時などに、BRATが登録済みのベータプラグインに更新がないかを自動でチェックし、最新版へアップデートします。
  • 手動アップデートの実行 コマンドパレットから BRAT: Plugins: Check for updates to all beta plugins and UPDATE を実行することで、任意のタイミングで一括更新が可能です。
  • ベータ版テーマへの対応 プラグインだけでなく、開発中のコミュニティテーマのインストールや更新にも対応しています。

主なメリットとユースケース

1. 最新機能や修正をいち早く試せる

公式のコミュニティプラグインに反映されるには審査や時間がかかる場合がありますが、BRATを使えば開発者がGitHubに公開した直後の最新機能をテストできます。

2. モバイル環境でのプラグイン導入が容易になる

PC環境であれば手動でのフォルダ配置も比較的容易ですが、スマートフォンやタブレット(iOS / Android)のObsidianアプリではファイル操作が制限されがちです。BRATを一度導入しておけば、モバイル端末からでもURLを入力するだけで未登録プラグインを簡単に導入できるようになります。

3. 自作プラグインや特定用途向けプラグインの管理

一般公開を目的としない私的なプラグインや、特定のコミュニティ内だけで共有されているプラグインを、公式の審査を通さずに社内や個人環境で効率よく運用・配布したい場合に最適です。

ローカルAI環境構築手順:Mac mini + LM Studio + Open WebUI

構成の概要

[クライアント端末]          [Mac mini エッジサーバー]
Chromebook / スマホ  →(LAN)→  Open WebUI(ポート3000)
ブラウザのみ使用              ↓(Docker コンテナ内)
                         LM Studio(ポート1234)
                              ↓
                         Gemma 4 E4B(GGUF形式)
  • LM Studio:推論エンジン。Gemma 4 E4B を読み込み、OpenAI互換APIサーバーとして公開する
  • Open WebUI:チャットUI。Docker上で動作し、LM StudioのAPIを呼び出す
  • クライアント:ブラウザのみでアクセス可能。アプリインストール不要

STEP 1:LM Studio のインストール

  1. https://lmstudio.ai/ にアクセス
  2. Apple Silicon (M1/M2/M3) 用のインストーラ(.dmg)をダウンロード
  3. .dmg を開き、LM Studio アイコンを Applications フォルダへドラッグ
  4. 初回起動時は「インターネットからのダウンロード」警告が出るので「開く」を選択

STEP 2:モデルのダウンロード(Gemma 4 E4B)

  1. LM Studio を起動し、上部の検索バーに gemma-4-E4B-it-GGUF と入力
  2. 検索結果から gemma-4-E4B-it-GGUF をクリック
  3. 「Download Options」から Q4_K_M または Q5_K_M と記載されているファイルを選択してダウンロード
    • ファイルサイズの目安:約6.3GB
    • Full GPU Offload Possible(緑表示)が出れば Mac M2の16GBで全量GPUに載ることを意味する

量子化レベルについて
Q4_K_M:精度とメモリのバランスが良い(推奨)
Q5_K_M:やや高精度、メモリ消費もやや増


STEP 3:LM Studio のローカルAPIサーバーを起動

  1. 左端の縦メニューから 上から2番目のアイコン(「Developer」画面) をクリック
  2. 左側のメニューから 「Local Server」 を選択
  3. 画面上部「+ Load Model」ボタンから gemma-4-E4B-it-GGUF を選択して読み込む
  4. 「Server Settings」ボタン をクリックし、CORS を ON にする(ブラウザからの接続に必須)
  5. 画面上部の Status: Running トグルスイッチをオンにする(緑色になれば起動完了)
  6. 「Loaded Models」に gemma-4-e4b-itREADY と表示されることを確認
  7. Developer Logs に Server listening on http://127.0.0.1:1234 と出ていれば成功

補足:右側パネルの「Model Information」で以下を確認できる
- Format: GGUF / Quantization: Q4_K_M
- Capabilities: Vision(画像認識)・Tool use(ツール利用)対応
- Parallel: 4(同時4リクエストまで処理可能)


STEP 4:Docker Desktop のインストール

Homebrew でインストールする:

brew install --cask docker

インストール後の初期設定:

  1. アプリケーションフォルダから Docker を起動(または open /Applications/Docker.app
  2. 利用規約(Docker Subscription Service Agreement)に「Accept」
  3. システム権限付与のため管理者パスワードを入力
  4. メニューバーのDockerアイコンが止まり「Docker Desktop is running」になれば完了

STEP 5:Open WebUI コンテナの起動

ターミナルで以下のコマンドを実行:

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

確認方法:

  • Docker Desktop の Containers タブで open-webui が緑色の Running 状態になっていれば成功
  • Mac mini のブラウザで http://localhost:3000 にアクセスしてログイン画面が表示されれば起動完了

STEP 6:管理者アカウントの作成

  1. http://localhost:3000 にアクセス
  2. 「サインアップ(Sign Up)」から名前・メールアドレス・パスワードを登録
  3. 最初に作成したアカウントが自動的に管理者権限を持つ

STEP 7:Open WebUI と LM Studio を接続

  1. Open WebUI にログイン後、左下のアカウントアイコン →「管理者パネル」を開く
  2. 「設定(Settings)」→「接続(Connections)」タブを選択
  3. OpenAI API のセクションの歯車アイコンをクリック
  4. URLを以下に変更(localhost ではなく host.docker.internal と入力するのが重要): http://host.docker.internal:1234/v1
  5. APIキー欄に lm-studio と入力(ローカルなので何でもよいが空欄はエラーになる)
  6. ダイアログ内の「保存」をクリック → 画面右下の大きな「保存」ボタンも押す
  7. チャット画面に戻り、モデル選択プルダウンに gemma-4-e4b-it が表示されれば接続成功

STEP 8:動作確認(ローカル)

チャット画面でモデルを選択してメッセージを送り、応答が返れば環境構築完了。


STEP 9:LAN内の他端末からアクセス

同じネットワーク(同じルーター)に接続されている端末のブラウザから:

http://<MacのローカルIPアドレス>:3000

例:http://192.168.86.25:3000

MacのローカルIPアドレスの確認方法:
「システム設定」→「ネットワーク」→ 接続中のWi-FiのIPアドレスを確認

学校ネットワークの注意点
プライバシーセパレーター(端末間通信遮断)やVLANが設定されている場合、同一Wi-Fiでも接続できないことがある。ネットワーク管理者への確認が必要。


STEP 10(任意):Cloudflare Tunnel で外部公開

負荷テストや外部の知り合いに試用させる場合に使う一時的な手段。

# インストール(未インストールの場合)
brew install cloudflared

# トンネルの起動
cloudflared tunnel --url http://localhost:3000

起動後、ログに表示される以下の形式のURLを共有する:

https://xxxxxxxx-xxxxxxxx.trycloudflare.com

終了するには Ctrl + C を押す。URLはその時点で無効化される。


ユーザー管理(Open WebUI)

  • 新規サインアップしたユーザーは初期状態で「保留中(Pending)」になる
  • 「管理者パネル」→「ユーザー」タブで対象ユーザーのロールを user に変更する
  • モデルが「プライベート」に設定されている場合、一般ユーザーには表示されない
    → 「ワークスペース」→「モデル」→ 対象モデルのアクセス権を「公開(すべてのユーザーにアクセス可能)」に変更する

関連情報

  • Gemma 4 E4B:「Effective 4B」の略。約40億の有効パラメータ。PLE技術により効率的な推論を実現。Vision・Tool use対応のマルチモーダルモデル。
  • LM Link:LM Studio の有料機能。異なるネットワーク間での端末接続(Tailscale ベース)。教室内LAN利用であれば不要。
  • GGUF形式:LM Studio が対応するモデルファイル形式。Hugging Face からダウンロード可能。
  • host.docker.internal:Dockerコンテナ内からホストOS(Mac本体)のサービスにアクセスするための特殊なホスト名。localhost では届かない。

参照

Mac mini 上の Gemma 4 環境構築メモ

環境:Mac mini M2 / メモリ16GB / macOS macOS 26.4.1
目的:ブラウザのみでローカルLLMにアクセスできるエッジサーバーの構築


構成の概要

  • LM Studio:推論エンジン。Gemma 4 E4B を読み込み、OpenAI 互換 API サーバーとして公開する
  • Open WebUI:チャットUI。Docker 上で動作し、LM Studio の API を呼び出す
  • クライアント:ブラウザのみでアクセス可能。アプリインストール不要

STEP 1:LM Studio のインストール

  1. https://lmstudio.ai/ にアクセス
  2. Apple Silicon (M1/M2/M3) 用のインストーラ(.dmg)をダウンロード
  3. .dmg を開き、LM Studio アイコンを Applications フォルダへドラッグ
  4. 初回起動時は「インターネットからのダウンロード」警告が出るので「開く」を選択

STEP 2:モデルのダウンロード(Gemma 4 E4B)

  1. LM Studio を起動し、上部の検索バーに gemma-4-E4B-it-GGUF と入力
  2. 検索結果から gemma-4-E4B-it-GGUF をクリック
  3. 「Download Options」から Q4_K_M または Q5_K_M と記載されているファイルを選択してダウンロード
    • ファイルサイズの目安:約6.3GB
    • Full GPU Offload Possible(緑表示)が出れば Mac M2 の 16GB で全量 GPU に載ることを意味する

量子化レベルについて
Q4_K_M:精度とメモリのバランスが良い(推奨)
Q5_K_M:やや高精度、メモリ消費もやや増


STEP 3:LM Studio のローカル API サーバーを起動

  1. 左端の縦メニューから 上から2番目のアイコン(「Developer」画面) をクリック
  2. 左側のメニューから 「Local Server」 を選択
  3. 画面上部「+ Load Model」ボタンから gemma-4-E4B-it-GGUF を選択して読み込む
  4. 「Server Settings」ボタン をクリックし、CORS を ON にする(ブラウザからの接続に必須)
  5. 画面上部の Status: Running トグルスイッチをオンにする(緑色になれば起動完了)
  6. 「Loaded Models」に gemma-4-e4b-itREADY と表示されることを確認
  7. Developer Logs に Server listening on http://127.0.0.1:1234 と出ていれば成功

補足:右側パネルの「Model Information」で以下を確認できる
- Format: GGUF / Quantization: Q4_K_M
- Capabilities: Vision(画像認識)・Tool use(ツール利用)対応
- Parallel: 4(同時4リクエストまで処理可能)


STEP 4:Docker Desktop のインストール

Homebrew でインストールする:

brew install --cask docker

インストール後の初期設定:

  1. アプリケーションフォルダから Docker を起動(または open /Applications/Docker.app
  2. 利用規約(Docker Subscription Service Agreement)に「Accept」
  3. システム権限付与のため管理者パスワードを入力
  4. メニューバーの Docker アイコンが止まり「Docker Desktop is running」になれば完了

STEP 5:Open WebUI コンテナの起動

ターミナルで以下のコマンドを実行:

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

確認方法:

  • Docker Desktop の Containers タブで open-webui が緑色の Running 状態になっていれば成功
  • Mac mini のブラウザで http://localhost:3000 にアクセスしてログイン画面が表示されれば起動完了

STEP 6:管理者アカウントの作成

  1. http://localhost:3000 にアクセス
  2. 「サインアップ(Sign Up)」から名前・メールアドレス・パスワードを登録
  3. 最初に作成したアカウントが自動的に管理者権限を持つ

STEP 7:Open WebUI と LM Studio を接続

  1. Open WebUI にログイン後、左下のアカウントアイコン →「管理者パネル」を開く
  2. 「設定(Settings)」→「接続(Connections)」タブを選択
  3. OpenAI API のセクションの歯車アイコンをクリック
  4. URLを以下に変更(localhost ではなく host.docker.internal と入力するのが重要): http://host.docker.internal:1234/v1
  5. APIキー欄に lm-studio と入力(ローカルなので何でもよいが空欄はエラーになる)
  6. ダイアログ内の「保存」をクリック → 画面右下の大きな「保存」ボタンも押す
  7. チャット画面に戻り、モデル選択プルダウンに gemma-4-e4b-it が表示されれば接続成功

STEP 8:動作確認(ローカル)

チャット画面でモデルを選択してメッセージを送り、応答が返れば環境構築完了。


STEP 9:LAN 内の他端末からアクセス

同じネットワーク(同じルーター)に接続されている端末のブラウザから:

http://< Macのローカル IP アドレス>:3000

例:http://192.168.1.2:3000

Mac のローカル IP アドレスの確認方法:
「システム設定」→「ネットワーク」→ 接続中のWi-FiのIPアドレスを確認

学校ネットワークの注意点
プライバシーセパレーター(端末間通信遮断)や VLAN が設定されている場合、同一 Wi-Fi でも接続できないことがある。ネットワーク管理者への確認が必要。


付録:Cloudflare Tunnel で外部公開

負荷テストや外部の知り合いに試用させる場合に使う一時的な手段。

# インストール(未インストールの場合)
brew install cloudflared

# トンネルの起動
cloudflared tunnel --url http://localhost:3000

起動後、ログに表示される以下の形式の URL を共有する:

https://xxxxxxxx-xxxxxxxx.trycloudflare.com

終了するには Ctrl + C を押す。URL はその時点で無効化される。


ユーザー管理(Open WebUI)

  • 新規サインアップ時に入力するメールアドレスはダミーで可
  • 新規サインアップしたユーザーは初期状態で「保留中(Pending)」になる
  • 「管理者パネル」→「ユーザー」タブで対象ユーザーのロールを user に変更する
  • モデルが「プライベート」に設定されている場合、一般ユーザーには表示されない
    → 「ワークスペース」→「モデル」→ 対象モデルのアクセス権を「公開(すべてのユーザーにアクセス可能)」に変更する

関連情報

  • Gemma 4 E4B:「Effective 4B」の略。約40億の有効パラメータ。PLE 技術により効率的な推論を実現。エッジデバイス向け。
  • LM Link:LM Studio の有料機能。異なるネットワーク間での端末接続(Tailscale ベース)。教室内 LAN 利用であれば不要。
  • GGUF形式:LM Studio が対応するモデルファイル形式。Hugging Face からダウンロード可能。
  • host.docker.internal:Dockerコンテナ内からホスト OS (Mac本体)のサービスにアクセスするための特殊なホスト名。localhost では届かない。

参照

ローカル LLM をスマホで手軽に試す

ローカル LLM とは、自分の端末上で動かす大規模言語モデルのことです。
これまでは高性能な PC で使われることが多かったのですが、最近はスマートフォンで動かせるものも出てきました。
正直、あまり期待しないで試したのですが、予想以上の回答が返ってきて驚きました。
実際に試してみて、オフラインでも問題なく動作することを確認できました。
「AI を使いたいが、やり取りのデータをクラウドに送りたくない」
「ネット接続できない場所でも試したい」
そんな場面の選択肢になり得るのがローカル LLM です。

私が試したのは、「Gemma 4」というGoogle が公開しているモデルです。
ChatGPT や Gemini のようにクラウドで動くのではなく、手元にダウンロードして使います。

Google AI Edge Galleryというアプリをインストールすれば試せます。
これも Google が無料公開しているもので、Android と iOS に対応しています。
モデルをダウンロードしたあとは、推論自体は端末内で行われます。
入力したテキストや画像を、推論のためにクラウドへ送らずに使える点が特徴です。
初回のモデルダウンロード時を除けば、利用中の通信は基本的に不要です。

スマホで動かす場合、次の二つのモデルが選択肢になります。

  • Gemma 4 E2B(実効20億パラメータ):メモリ1.5GB未満で動作。ミドルレンジのスマホでも動かせる、バランス重視のモデル
  • Gemma 4 E4B(実効40億パラメータ):より高い推論精度。RAMが8GB以上ある端末向け

どちらも128Kトークンのコンテキストウィンドウを持ち、テキストだけでなく画像の入力(マルチモーダル)にも対応しています。

使い方

お使いの端末に合わせてインストールします。

【iPhone・iPad】

Google AI Edge Gallery

Google AI Edge Gallery

  • Google
  • 仕事効率化
  • 無料
apps.apple.com

【Android】
play.google.com

アプリを開き、「AI Chat」ボタンを押すとモデル一覧が表示されるので、使いたいものを選択*1してダウンロードしてください。

ダウンロードが完了すれば、通信を切ってもそのまま使えます。
AI Chat(普通の会話 AI)、Ask Image(画像への質問)、Audio Scribe(音声の文字起こし・翻訳)などの機能があります。
お試しが目的のアプリなので、チャット履歴は残りません。

端末の動作スペックの目安として、E2B を動かすには RAM 4GB 以上、E4B は RAM 8GB 以上が推奨されています。
OS は Android 10 以降または iOS 17 以降。
ちなみに私の手元にある端末で試したところ、以下のようになりました。
Pixel 6a → E2B が動く
iPhone 16e  → E4B でも大丈夫
iPad (A16) → E4B はメモリ不足で非対応 E2B は大丈夫

触れてみて

現時点では、実用ツールというよりも、ローカル LLM の可能性を体験するためのアプリとして捉えるのが適切かもしれません。
モデルのサイズが小さい分、回答精度は ChatGPT や Gemini には及びません。
複雑な処理には向いていません。
しかし、それを差し引いても大きなメリットがあると思います。

データが端末から出ないという点は、学校現場にとって見逃せない特性です。個人情報保護の観点から、生成 AI の使用をためらってきた学校でも、一歩踏み出しやすくなる可能性があります。

ネット環境がなくても動くという点も同様です。Wi-Fi 環境が整っていない教室、通信制限がかかっている端末、離島や山間部などの場所でも、一度モデルをダウンロードしてしまえば使い続けられます。

小さなスマホでAIが動く様子を実際に体験すると、AIを「何でもできる特別な存在」としてではなく、限界のある技術として捉えやすくなります。そうした実感は、AIを過度に信頼しすぎない姿勢にもつながるのではないでしょうか。

*1:ダウンロードサイズは E2Bなら約2.5GB、E4Bなら約3.6GB

読書:予測するより創造しよう~思想の潮流から未来を考える一冊

shinsho.shueisha.co.jp

書店で見かけた一冊が、思いがけず自分が考えたいテーマにぴったりでした。手に取って2~3ページ読んでみて、すぐに購入しました。本書が扱うのは、現代のテクノロジーをめぐる思想の潮流です。巨大テック企業が国家を超える影響力を持ち、生成AIが社会のあり方そのものを揺るがす中で、世界はどこへ向かおうとしているのか。

その手がかりとなるのが書名にも掲げられている3つのキーワードです。

  • 加速主義:技術進化のスピードをさらに速めることで社会の限界を突破しようとする思想
  • プルラリティ:単一の知性に依存するのではなく、多様な知性や価値観が共存し協働するための技術思想
  • SFプロトタイピング:物語の力で未来を試作し、現在の意思決定にフィードバックさせる手法

第2部「プルラリティ」では、テクノロジーを分断や対立ではなく、協調と対話のために再設計し再構築しようという試みが紹介されています。プルラリティはシンギュラリティとの対比を意識した概念だということです。シンギュラリティとは、「技術的特異点」と訳され、AIが人間の知能を超える転換点を指す言葉です。singularityにはもともと「単一性」という意味があり(singular=単一の)、それに対するオルタナティブとしてplurality(plural=複数の)が登場してきたのだということを知りました。

本書で最も印象に残った言葉は「おわりに」の一節です。

未来は予測されるものではありません。それは、創造されるべきものです。そして、その創造の営みには、私たち一人ひとりが関与しているのです。

未来は予測困難だとよく言われます。しかし、そこで思考停止して運命をただ座して待っていようとは思いません。

私は教育をとおして、子どもたちにテクノロジーと向き合う力を育てたいと願っています。テクノロジーをどう使うかを問い続けること。それ自体が、未来を創造する営みにつながるはずです。

子どもたちが生きる未来を、私たちはどう創っていけるのか。本書を一つの手がかりとして、教育に関わるすべての方と考え合っていきたいと思っています。

Claude Code を Discord で操作:出先で AI コーディング

Claude Code は、ターミナル上で対話的にコーディングを進められるツールです。便利ですが、パソコンの前に座って、ターミナルやエディタを開ける環境でないと使えません。

でも、Discord 経由で Claude Code に指示を出せる仕組みが、公式のプラグインリポジトリで公開されたことを知りました。設定して試してみたところ、想像以上でした。スマホから Discord のボットに DM で「~~のプロジェクトを見て」と送ると、自宅の Mac 上で動いている Claude Code が GitHub に接続してリポジトリの状態を調べて報告してくれます。続けてバグを指摘してもらい、「修正して」と返すと、コードの編集からコミット、プッシュまで完了。ボタンのラベルを日本語に統一するといった細かい改善も、ボットとの会話だけで進められました。

移動中にボットとのチャットで指示すれば、帰宅したときには複雑なタスクの処理が終わっている。そういう使い方ができるようになったのです。

設定方法は以下のドキュメントに書いてありますが、このあと紹介します。 github.com

必要な環境

  • Mac に Claude Code インストール済み
  • Bun インストール済み(未インストールの場合: curl -fsSL https://bun.sh/install | bash
  • Discord アカウントおよびサーバー

1. Discord Bot の作成

  1. Discord Developer Portal を開き、新しいアプリケーション をクリック
  2. 任意の名前を付ける
  3. サイドバーの Bot を開き、Bot の名前を設定
  4. Privileged Gateway IntentsMessage Content Intent を有効化
  5. TokenReset Token でトークンを取得(一度しか表示されないので控えておく)

2. Bot をサーバーに招待

  1. OAuth2URL ジェネレーター を開く
  2. スコープbot を選択
  3. Bot の権限 で以下を選択
    • チャンネルの表示
    • メッセージを送る
    • Threads でメッセージを送る
    • メッセージ履歴を読む
    • ファイルを添付
    • リアクションを付ける
  4. Integration Typeサーバーのインストール に設定
  5. 生成されたURLをブラウザで開き、招待したいサーバーを選んで認証

3. プラグインのインストール(Claude Code内)

/plugin marketplace add anthropics/claude-plugins-official
/plugin install discord@claude-plugins-official

4. Bot トークンの設定

/discord:configure <取得したBotトークン>

トークンは ~/.claude/channels/discord/.env に保存される(chmod 600)。

5. Claude Code の起動

claude --channels plugin:discord@claude-plugins-official

6. ペアリング

  1. DiscordでBotにDMを送る(内容は何でもよい)
  2. BotからペアリングコードがDMで届く
  3. Claude Code内で以下を実行:
/discord:access pair <届いたコード>

これでDiscordからClaude Codeにメッセージが届くようになる。


tmux でバックグラウンド運用

Mac でターミナルを閉じると、Claude Code も終了してしまいます。そこで、tmux というツールを使います。tmux は端末多重化ソフトウェア(terminal multiplexer)で、ターミナルを閉じてもセッションをバックグラウンドで維持することができます。

tmux のインストール

brew install tmux

セッションの開始

tmux new -s claude-discord
claude --channels plugin:discord@claude-plugins-official

デタッチ(セッションを残してターミナルに戻る)

Ctrl + BD

再接続

tmux attach -t claude-discord

注意

  • Discordから届いたメッセージはそのままClaude Codeに渡されるため、第三者がボットにアクセスできる状態だと、危険な指示を実行させられる恐れがある。ペアリング完了後は /discord:configure を実行してアクセスポリシーを allowlist(自分のみ)に変更しておくこと