LivebookTools について
LivebookTools は、livebook.dev 向けのコマンドラインツールで、.livemd ファイルを開いている Livebook セッションに同期したり、Elixir スクリプトとして実行したりできます。Elixir と Livebook を使うユーザー向けで、AI コーディングエージェントから Livebook セッションに接続することもできます。
主な機能
- 01.livemd ファイルの Livebook セッションへの同期
- 02STDIO で動作する MCP サーバー
- 03Livebook から Elixir スクリプトへの変換と実行
- 04分散 Elixir による実行中の Livebook サーバーへの接続
活用シーン
- 01Cursor などの AI コードエディタでの Livebook ファイルの編集
- 02コーディングエージェントによる Livebook セッションの操作
- 03Livebook をコマンドラインから cron ジョブとして実行
MCP 対応
本プロジェクトには STDIO で動作する MCP サーバーが含まれており、AI コーディングエージェントが Livebook セッションに接続できるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
LivebookTools
Livebook Tools は、.livemd ファイルを扱う際に強力な機能を提供する CLI ツールです。
主な機能は次のとおりです。
- BYOE(エディターはお好みのものを使用) -
.livemdファイルを開いている Livebook セッションに同期し、Cursor などの AI 対応コードエディターで編集できるようにします。 - MCP サーバー - AI コーディングエージェントを Livebook セッションに接続するためのシンプルなモデルコンテキストプロトコルサーバーです。詳しくは後述します。
- CLI から Livebook を実行 -
.livemdファイルを Elixir スクリプトに変換し、.exsスクリプトのように先頭から末尾まで実行します。Livebook を cron ジョブにしたい場合に便利です。
インストール
Livebook Tools は Elixir の escript です。
インストールするには、mix escript.install コマンドを使用します。
mix escript.install github thmsmlr/livebook_tools
インストール後、escript ディレクトリがパスに含まれていることを確認してください。
# for normal elixir users
export PATH="$HOME/.mix/escripts:$PATH"
# for asdf elixir users
for escripts_dir in $(find "${ASDF_DATA_DIR:-$HOME/.asdf}/installs/elixir" -type d -name "escripts" 2>/dev/null); do
export PATH="$escripts_dir:$PATH"
done
Livebook の実行
Livebook Tools を正しく動作させるには、分散 Elixir を使って実行中の Livebook サーバーに接続できる必要があります。
接続方法は、Livebook の実行方法によって異なります。
最も簡単な方法は、2 つの環境変数を ~/.bashrc または ~/.zshrc ファイルに追加することです。
export LIVEBOOK_NODE="[email protected]"
export LIVEBOOK_COOKIE="secret"
その後、Livebook Tools または Livebook を実行すると、両方のプログラムがこれらの値を検出し、互いに接続できるようになります。
Livebook Desktop を使って実行している場合は、これらの値を ~/.livebookdesktop.sh ファイルにも追加する必要があるかもしれません。
Livebook Desktop の詳細については、Livebook HexDocs をご覧ください。
MCP サーバーの設定
MCP サーバーは、AI コーディングエージェントを Livebook セッションに接続できるシンプルなモデルコンテキストプロトコルサーバーです。
個人的にはCursorで実装をテストしましたが、MCP プロトコルに対応する AI コードエディターであれば、どれでも動作するはずです。
MCP サーバーは STDIO 経由で実行されるため、Cursor にコマンド経由で接続するよう指示するだけで、ツールが自動的に検出され、コーディングエージェントに接続されます。
MCP が Cursor とどのように連携するかについては、Cursor MCP のドキュメントをご覧ください。

便利なヒント
Livebook で実行する場合でも、livebook_tools run <file> を使ってコマンドラインから実行する場合でも、コードの実行方法をカスタマイズしたいことがあります。
Livebook 内で実行しているか、コマンドラインから実行しているかを判別するために使える、簡単なコードスニペットがあります。
# Detect if we're running in a livebook
is_livebook = !String.ends_with?(__ENV__.file, ".exs")
# If we're running in a livebook, argv doesn't really make sense, so we'll just return an empty list
argv = if is_livebook, do: [], else: System.argv()
# Parse command line arguments
# We'll use OptionParser to handle both flags and positional arguments
{parsed_opts, positional_args, invalid_opts} =
OptionParser.parse(
argv,
strict: [
dry_run: :boolean,
limit: :integer
],
aliases: [
d: :dry_run,
l: :limit
]
)
# Extract options with default values, in livebook it'll just use the default values
dry_run = Keyword.get(parsed_opts, :dry_run, false)
limit = Keyword.get(parsed_opts, :limit, 10)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。