Claude Code、Codex、Cursorなど、APIキーで接続できるMCPクライアントをつなぎます。エージェントがプレイリストから配信を作り、開始し、予約し、終了後には配信履歴も読み取ります。
https://mcp.livereacting.com/mcp
Streamable HTTP、POSTのみ、セッションなし。キーはBearerトークンとしてAuthorizationヘッダーに入れます。
どのクライアントも、URL1つとAuthorizationヘッダー1つで接続できます。キーはREST APIと同じlr_キーなので、お持ちのキーをそのまま使えます。
キーをまだお持ちでない場合は、LiveReacting StudioのDeveloperセクションで作成します。LIVEREACTING_API_KEY環境変数に設定し、クライアントを再起動してください。VS Codeでは、代わりにキーの入力を求められます。
プロジェクトのルートにある.mcp.jsonに記述します。キーはファイルに含まれないので、そのままコミットしても安全です。
{
"mcpServers": {
"livereacting": {
"type": "http",
"url": "https://mcp.livereacting.com/mcp",
"headers": { "Authorization": "Bearer ${LIVEREACTING_API_KEY}" }
}
}
}
~/.codex/config.tomlに記述します。
[mcp_servers.livereacting]
url = "https://mcp.livereacting.com/mcp"
bearer_token_env_var = "LIVEREACTING_API_KEY"
# Then, in your shell profile:
# export LIVEREACTING_API_KEY=lr_...
~/.cursor/mcp.jsonに記述します。
{
"mcpServers": {
"livereacting": {
"url": "https://mcp.livereacting.com/mcp",
"headers": { "Authorization": "Bearer ${env:LIVEREACTING_API_KEY}" }
}
}
}
.vscode/mcp.jsonに記述します。inputsブロックがあるので、VS Codeはキーをリポジトリに保存せず、入力を求めます。
{
"inputs": [
{
"id": "livereacting-key",
"type": "promptString",
"description": "LiveReacting API key",
"password": true
}
],
"servers": {
"livereacting": {
"type": "http",
"url": "https://mcp.livereacting.com/mcp",
"headers": { "Authorization": "Bearer ${input:livereacting-key}" }
}
}
}
~/.gemini/settings.jsonに記述します。
{
"mcpServers": {
"livereacting": {
"httpUrl": "https://mcp.livereacting.com/mcp",
"headers": { "Authorization": "Bearer ${LIVEREACTING_API_KEY}" }
}
}
}
Streamable HTTPとBearerヘッダーに対応したクライアントなら、同じURLと同じヘッダーで接続できます。
URLに?read_only=1を付けると、クライアントには読み取り用のツールだけが提供されます。エージェントが何を呼び出しても、プロジェクトや配信は変更されません。
すべてのツール名はlivereacting_で始まります。ツールを必要に応じて読み込むクライアントでも、1回の検索でサーバー全体が見つかります。
| ツール | できること | アクセス |
|---|---|---|
| アカウント 接続済みの配信先。 | ||
livereacting_list_destinations |
接続済みのYouTube、Facebook、Twitch、LinkedIn、Xと独自サーバー | 読み取りのみ |
livereacting_validate_destinations |
使う前に、YouTube、Facebook、Twitchのログインが有効か確認します。カスタム配信先には接続しません | 読み取りのみ |
| エディター プロジェクト、シーン、その中の動画・音声プレイリスト。 | ||
livereacting_list_projects |
プロジェクトの一覧(新しい順) | 読み取りのみ |
livereacting_get_project |
1つのプロジェクトの詳細:フォーマット、長さ、配信先、配信の状態 | 読み取りのみ |
livereacting_create_project |
空のプロジェクトを作成します。配信を作る最初のステップです | 書き込み |
livereacting_update_project |
プロジェクトの設定を変更します | 書き込み |
livereacting_get_scenes |
プロジェクトのシーンと、それぞれの中身の概要 | 読み取りのみ |
livereacting_manage_scene |
シーンを作成、名前変更、削除します | 破壊的 |
livereacting_activate_scene |
放送に出すシーンを切り替えます。配信中でも切り替えられます | 書き込み |
livereacting_create_scene_with_playlist |
シーンを追加し、動画プレイリストを入れるまでを1回の呼び出しで行います | 書き込み |
livereacting_add_layer |
既存のシーンに、動画プレイリスト、音声プレイリスト、単体の動画を1つ追加します | 書き込み |
livereacting_get_layer |
プレイリストとその中の動画を、50件ずつ読み取ります | 読み取りのみ |
livereacting_set_playlist |
動画・音声プレイリストの中身をすべて置き換えます | 破壊的 |
| 配信 ライブの開始、予約、配信中の状態の確認。 | ||
livereacting_start_stream |
今すぐライブを始めます | 破壊的 |
livereacting_stop_stream |
進行中の配信を終了します | 破壊的 |
livereacting_get_stream_status |
配信の現在の状態と、各配信先の状態 | 読み取りのみ |
livereacting_schedule_stream |
今後28日以内に、指定した1つ以上の日時でライブを始めます | 書き込み |
livereacting_cancel_schedules |
予約した配信を1つ、またはプロジェクトの予約をすべてキャンセルします | 破壊的 |
livereacting_sync_stream |
直前の編集内容を、進行中の配信に反映します | 書き込み |
livereacting_list_broadcasts |
過去の配信:それぞれの実施日時、長さ、最大同時視聴者数 | 読み取りのみ |
| メディア プレイリストの元になる動画ライブラリ。 | ||
livereacting_list_media |
ライブラリ内のファイルとフォルダ | 読み取りのみ |
livereacting_get_media_file |
1つのファイル。求めれば技術的な詳細も返します | 読み取りのみ |
livereacting_import_media |
Google Drive、Dropbox、YouTubeのURLからファイルを1つ取り込みます | 書き込み |
livereacting_get_import_status |
取り込みの進み具合と、ファイルが配信できる状態になったかどうか | 読み取りのみ |
livereacting_encode_media |
配信できるように、ファイルをエンコードのキューに入れます | 書き込み |
livereacting_get_encode_status |
エンコードの進み具合 | 読み取りのみ |
| アナリティクス 終了した配信の数字。 | ||
livereacting_get_stream_analytics |
YouTubeの配信の数字はすべての有料プランで、動画ごとのプレイリストの数字はご要望に応じて取得できます | 読み取りのみ |
各ツールの入力スキーマは、接続後にtools/listから取得できます。ツールの説明には、次に何を呼び出すか、ポーリングの間隔をどれだけ空けるかが書かれています。上の名前から推測せず、そちらを読んでください。
?toolsets=にaccount、editor、streams、media、analyticsから必要なものをカンマ区切りで付けると、クライアントにはそのグループだけが提供されます。絞り込みはサーバー側で行うので、どのクライアントでも使えます。認識できない名前は拒否されます。
配信で何をしたいかを、ふだんの言葉で伝えてください。エージェントが上の表からツールを選び、作業に必要な順番で呼び出します。
「Google Driveの動画リンクを3つ送るね。これで私のYouTubeチャンネルに24時間ライブ配信を作って、開始して。」
3つのファイルを取り込み、配信できる状態になるまで待ってから、ループするプレイリストに入れてライブを始めます。
「先週のウェビナーの録画を、金曜の午後3時にライブで流すよう予約して。」
ライブラリから録画を見つけ、それを1回流すプロジェクトを作り、その開始時刻で予約します。
「今ライブ中。休憩のシーンに切り替えて。」
休憩のシーンを有効にし、変更を進行中の配信に反映します。配信は止まりません。
「先週の配信の結果はどうだった?」
プロジェクトを順に確認し、それぞれの配信を最大同時視聴者数とともに一覧にしてから、各配信のYouTubeの数字を読み取ります。
FreeプランではAPIを利用できません。最初のリクエストも含めてすべて403 API_ACCESS_REQUIRES_PAID_PLANで拒否されるため、クライアントは接続できません。一時停止中のサブスクリプションにも同じコードが返ります。
キーでアクセスできるものには、エージェントもアクセスできます。キーはStudioのDeveloperセクションで作成し、エージェントを止めたいときは、すぐにそこで無効にしてください。
読み取り用のツールだけにするなら?read_only=1、指定したグループだけにするなら?toolsets=streams,mediaを付けます。認識できない値は、無視されずに拒否されます。
パソコンからのファイルのアップロード、YouTubeプレイリストの取り込み、テキスト・画像・参加型のオーバーレイの作成はできません。これらはStudioで作成してください。作成済みなら、それを含む配信もエージェントが運用できます。
はい。シーンの削除、プレイリスト全体の置き換え、配信の停止、予約のキャンセルができ、上の表ではそれぞれのツールに「破壊的」と表示しています。URLに?read_only=1を付ければ、サーバーはこれらのツールを一切提供しません。
まだ使えません。どちらもリモートサーバーにはOAuthを使いますが、このサーバーはAPIキーで認証します。Claude Code、Codex CLI、Cursor、VS Code、Gemini CLIはどれもキーに対応していて、このページにそれぞれの設定を載せています。
いいえ。動画はLiveReactingのライブラリから使うか、エージェントがGoogle Drive、Dropbox、YouTubeのリンクから1つずつ取り込みます。ご自身のディスクからアップロードするには、LiveReacting Studioを使ってください。
すべてのツール、入力、レスポンスのフィールド、エラーコードはMCPリファレンスに載っています。その土台となるREST APIのドキュメントも同じ場所にあります。
期限のないFreeプランで、スタジオで配信を作りましょう。エージェントに任せる準備ができたら、どの有料プランにでも切り替えられます。APIキーはプランに付いてきます。
先に料金を確認したい方は プランと料金を見る