「毎朝7時に、今日のおすすめと天気をサイネージに入れておいて」——一度頼んでおけば、AI が毎朝決まった時刻に、店のサイネージを自動で差し替える。雨の日は「足もとにお気をつけて」の一言を足し、祝日の前には営業時間のお知らせに切り替える。開店前の忙しい時間に、管理画面を開く必要はなくなります。
これまでの記事では、AI にその場で話しかけてサイネージを変える方法を紹介してきました(バイブコーディングでサイネージを動かす、声だけでサイネージを更新する)。この記事はその次の一歩、AI に定期で頼んでおく使い方です。
2026年10月25日に、サイネージCMS「Kitcast」の MCP(編集部の検証用の APIキー)と気象庁の天気予報を使って、毎朝の更新のしくみを実際に組み、手動で1回、Claude Code の予定(1回だけの予約)で1回動かしました。結果は「編集部が実際に組んで動かした」にまとめています。毎日の定期実行を何日も続けたこと、店頭の画面での見え方、Yodeck での定期実行は未検証です。
毎朝の自動更新で、何が便利になるか
サイネージの中身には、「毎日少しずつ変わるもの」がたくさんあります。
| 差し替えたいもの | 例 | 自動にすると |
|---|---|---|
| 今日のおすすめ | パン屋の日替わりパン、定食屋の日替わり定食 | 曜日ごとの表から、AI が毎朝入れ替える |
| 天気 | 「今日は雨の予報です」「最高 26℃」 | 予報を読んで、雨の日だけ一言を足す |
| 営業時間の変更 | 祝日の短縮営業、臨時休業 | 決めた期間だけお知らせを出し、終わったら元に戻す |
| 季節のお知らせ | ハロウィン、年末年始、新メニュー | 日付で自動に切り替える |
ポイントは、中身そのものは人が決めておき、毎朝「今日の分を入れる」作業だけを AI に任せることです。日替わりの表やお知らせの期間を先に決めておけば、AI が勝手に新しいメニューを考えることはありません。
しくみ:時計 → AI(または決まった手順)→ サイネージのCMS
毎朝の自動更新は、3つの部品でできています。
| 部品 | 役割 | 例 |
|---|---|---|
| 時計(定期実行) | 毎朝7時に「始めて」と合図する | Claude のスケジュール機能、Claude Code、GitHub Actions |
| 手順 | 今日の日付・曜日・天気から、入れる文を決める | AI への決まった頼み方、または小さなスクリプト |
| CMS との窓口 | 決めた文を、サイネージのスライドに書き込む | Kitcast MCP(APIキー)、Yodeck MCP(ログイン) |
CMS との窓口になるのが MCP(AI がほかのサービスを操作するための共通の決まりごと)です。AI に定期で頼む場合、AI は MCP を通して CMS を読み書きします。スクリプトから直接 MCP の窓口を呼んでもかまいません。つなぎ方の基本は、Kitcast MCP の設定方法とYodeck AI Agent の設定方法をご覧ください。
時計(定期実行)の選び方
2026年10月時点で、AI に定期で頼む方法は主に次の4つです(Claude Code と Claude のヘルプの公式情報より)。
| 方法 | どこで動くか | パソコンの電源 | サイネージのCMSとのつなぎ方 | 向いている人 |
|---|---|---|---|---|
| Claude Code のクラウドの定期実行(スケジュールされたタスク) | Anthropic のクラウド | 切れていてよい | コネクタ(ログイン方式)か、リポジトリに置いた設定とキー | 毎朝きっちり動かしたい |
| Claude のアプリ(Cowork)のスケジュール | Anthropic のクラウド(パソコンのファイルを使うときは手元) | 原則切れていてよい | コネクタ(ログイン方式) | 文章で頼むだけで済ませたい |
| Claude Desktop の定期実行 | 自分のパソコン | つけておく | パソコンに登録した MCP(APIキーも可) | お店のパソコンを開店前からつけている |
| GitHub Actions | GitHub のサーバー | 切れていてよい | スクリプト+シークレットに入れたキー | 決まった手順を、AI なしで毎日同じに動かしたい |
いくつか気をつけたい点があります。
- クラウドの定期実行は「1時間に1回」まで:毎朝7時に1回なら問題ありません。設定画面の時刻は自分のタイムゾーンで入れられますが、cron(時刻の書き方)で直接書くときは**協定世界時(UTC)**になるため、日本時間の7時は「前の日の22時」です
- ちょうどの時刻は少し遅れることがある:公式の案内では、9:00 のような「ちょうど」の時刻は数分遅れることがあるため、9:07 のように少しずらすことがすすめられています。開店に間に合わせたいなら「6:53」のように前にずらしておくと安心です
- ログインでつなぐコネクタが使える CMS が有利:クラウドの定期実行や Claude のアプリのスケジュールでは、claude.ai に登録したコネクタ(ログイン方式)をそのまま使えます。Yodeck はログインでつなげるので、この形にそのまま乗せられます。Kitcast は今は APIキー方式(ログイン方式は近日対応)なので、クラウドで動かすときは、手順とキーを作業環境の側に用意します
AI に任せるか、決まった手順にするか
毎朝の更新は、「AI に文章で頼む」か「決まった手順(スクリプト)を動かす」かを選べます。
- AI に文章で頼む:「今日の曜日の日替わりパンを『本日のおすすめ』に入れて。雨の予報なら天気のスライドに一言足して」と、ふだんの言葉で書いておくだけで済みます。その分、毎回の文の作り方が少しずつ変わる可能性があります
- 決まった手順にする:日替わりの表と文のひな形を先に決めておき、毎回まったく同じやり方で書き込みます。スクリプトは AI に作ってもらえます
編集部のおすすめは、決まった手順を AI に作ってもらい、定期実行の AI には「その手順を動かして、結果を確かめて」と頼む組み合わせです。文がぶれず、失敗したときに AI が止まって知らせてくれます。下の検証も、この形で組みました。
編集部が実際に組んで動かした
Kitcast で、パン屋の毎朝の更新を想定したしくみを組みました。
| 項目 | 条件 |
|---|---|
| CMS | Kitcast(無料お試しのアカウント) |
| つなぎ方 | Kitcast MCP。編集部の検証用の APIキー(ライブ。書き込みはすぐ反映される) |
| 書き換えた範囲 | 新しく作った「【検証】毎朝の自動更新」というプレイリストだけ。どの画面のスケジュールにも入れていないので、店頭には出ていない |
| 天気 | 気象庁の天気予報(東京地方) |
| 実行 | 手動で1回、Claude Code の予定(1回だけの予約)で1回。どちらも 2026年10月25日 |
手順1:毎朝書き換えるスライドを用意する
最初に1回だけ、プレイリストとスライド4枚を作りました。毎朝書き換えるのは文章のスライド3枚で、天気予報のスライドは Kitcast の天気予報ウィジェット(東京・摂氏)をそのまま使います。天気予報ウィジェットは自分で最新の予報を出すので、AI が書き換える必要はありません。
| 順番 | スライドの名前 | 種類 | 毎朝の書き換え |
|---|---|---|---|
| 1 | 本日のおすすめ | 文章(見出し・その下の文・小さな文) | 曜日ごとの日替わりパンと値段 |
| 2 | 今日の天気 | 文章 | 気象庁の予報から。雨なら見出しを「今日は雨の予報です」にして、傘袋の一言を足す |
| 3 | 天気予報(東京) | 天気予報ウィジェット | なし(Kitcast が自動で更新) |
| 4 | お知らせ | 文章 | 期間を決めたお知らせ(ハロウィン、祝日の短縮営業)。期間外は営業時間 |
スライドは、名前で見分けられるようにしておくのがコツです。手順は「本日のおすすめ」という名前のスライドを探して書き換えるので、並べ替えても困りません。
手順2:日替わりの表とお知らせを決めておく
入れる中身は、先に表にしておきます。AI が勝手に考えるのではなく、ここに書いたものだけが画面に出ます。
{
"menuByWeekday": {
"日": "かぼちゃのクリームパン 260円",
"月": "栗あんバターのコッペパン 280円",
"火": "きのこのフォカッチャ 320円",
…
},
"notices": [
{ "from": "2026-10-25", "to": "2026-10-31", "text": "10月31日(土)はハロウィン\nお子さまにクッキーをプレゼント" },
{ "from": "2026-11-01", "to": "2026-11-03", "text": "11月3日(火・祝)は\n9:00〜15:00の短縮営業です" }
],
"defaultNotice": "営業時間 7:30〜18:00(水曜定休)"
}
手順3:毎朝の手順(スクリプト)を作る
毎朝の手順は、Node.js の小さなスクリプトにしました。中身は次の5段階です。
- 止める合図があれば何もしない(
STOPというファイルがあれば、すぐ終わる) - 気象庁の予報を読む(今日の天気、最高気温、降水確率)
- 入れる文を決める(曜日の日替わり、雨かどうか、期間中のお知らせ)
- 安全の確認:書き換える先のプレイリストの名前が「【検証】」で始まっているか、決まった名前のスライドが3枚そろっているか。どれかが違えば、書き換えずに止まる
- 書き換えて、読み直して確かめる:Kitcast MCP の
update_slideで3枚を書き換え、get_playlistで読み直して見出しが入ったかを確かめる
書き換えの部分は、次のような形です(抜粋)。
// 安全の確認:【検証】のプレイリストで、決まった名前のスライドがそろっているか
const pl = await call('get_playlist', { playlistId: cfg.playlistId });
if (!pl.name?.startsWith('【検証】')) throw new Error(`対象外のプレイリスト:${pl.name}`);
// 書き換える(見出しは header、その下の文は subHeader、小さな文は caption)
for (const t of targets) {
await call('update_slide', {
playlistId: cfg.playlistId,
slideId: t.id,
widget: { type: 'SMART_TEMPLATE_TEXT', header, subHeader, caption, textColor: '#FFFFFF', backgroundColor },
});
}
call は、Kitcast MCP の窓口(https://api.next.kitcast.tv/api/mcp)に Authorization: Bearer (APIキー) を付けて送るだけの小さな関数です。APIキーはスクリプトに書かず、作業環境のシークレット(環境変数)から読み込みます。
項目名は正確に書くのが大事です。Kitcast の文章のスライドでは、見出しの下の文は subHeader という名前で、違う名前で送るとエラーにならずに黙って捨てられます(Kitcast MCP の検証で確認ずみ)。決まった手順にしておけば、毎回正しい名前で送れます。
また、--dry-run を付けて動かすと、書き込まずに「今日はこの文を入れる」とだけ表示するようにしました。Kitcast MCP には試し実行の機能がないため、試し実行は手順の側で用意します。
手順4:Claude Code の予定で動かす
定期実行の AI には、次の決まった頼み方を予約しました。
【定期実行の検証・決まった手順】サイネージの毎朝の更新を行ってください。1)
node morning-update.mjs --dry-runを実行し、文面を確かめる。2) おかしなところがなければnode morning-update.mjsを実行する。3) 結果(result が updated か、check がすべて ok か)を記録する。対象は「【検証】毎朝の自動更新」だけ。ほかのプレイリストには触らない。失敗したら書き換えを繰り返さず、止めて報告する。
今回は、Claude Code のクラウドの会話に「5分後に1回だけ」の予定として登録しました。予定の時刻になると、この頼みごとが会話に届き、Claude Code が試し実行 → 本番の書き換え → 結果の確認の順に進めました。
結果
| 試したこと | 結果 |
|---|---|
試し実行(--dry-run) |
◯ 書き込まずに、今日入れる文だけを表示できた |
| 手動での書き換え(1回目) | ◯ 3枚の書き換えが1回ずつ版として記録された(版6〜8) |
| 予定の時刻での書き換え(2回目) | ◯ 予定どおりに届き、試し実行 → 書き換え → 確認まで、人の操作なしで進んだ(版9〜11) |
| 天気で文を変える | ◯ 当日は雨の予報(降水確率60%)だったので、「今日は雨の予報です」と傘袋の一言が入った |
| 期間を決めたお知らせ | ◯ 10月25日〜31日の期間中なので、ハロウィンのお知らせが入った |
止める合図(STOP ファイル) |
◯ 何も書き換えずに「stopped」で終わった |
| 対象外のプレイリストを指定 | ◯ 「対象外のプレイリスト」で、書き込む前に止まった。そのプレイリストの版は変わっていない |
| 予定が1回で止まるか | ◯ 実行後、予定は自動で無効になった(今回は1回だけの予約) |
| 毎朝の定期実行を何日も続ける | 未検証 |
| 店頭の画面での見え方 | 未検証(どの画面にも割り当てていない) |
| 見出しの下の文・小さな文が画面に正しく出るか | 未検証(Kitcast MCP の読み取りでは見出しまでしか返ってこないため、AI からは確かめられない) |
わかったこと
- 1回の更新で、版が3つ増える:Kitcast では、スライド1枚の書き換えごとに版が1つ記録されます。毎朝3枚なら、1か月で約90の版がたまります。そのかわり、どの朝の変更も、管理画面の変更履歴から元に戻せます
- 版の時刻は MCP からは読み取れなかった:Kitcast MCP で読んだ変更履歴では、どの版も同じ時刻(プレイリストを作った時刻)になっていました。「いつ書き換えたか」は、手順の側で記録を残しておくと安心です(今回は1回ごとに実行の記録をファイルに残しました)
- 画面の確認は人の仕事として残る:書き換えたことは読み直しで確かめられますが、見出しの下の文や色が画面でどう見えるかは、今の Kitcast MCP では AI から見えません。最初の数日は、開店前にスマホで管理画面か店頭の画面を確かめましょう
- 天気は「ウィジェット」と「一言」で分ける:天気予報そのものは Kitcast のウィジェットが自動で出してくれます。AI に任せるのは、「雨なら一言足す」のような、天気に合わせた店の言葉だけにすると、更新の量が少なく済みます
気象庁の天気予報は、毎日5時・11時・17時に発表されます。毎朝7時に動かせば、その日の5時の予報を使えます。今回の検証は昼前に動かしたため、11時の予報を使いました。
Yodeckで同じことをするには
Yodeck の「Yodeck AI Agent(Yodeck MCP)」でも、同じ毎朝の更新を組めます。ただし、つなぎ方に違いがあります。
- 書き込みは、ログイン(OAuth)でつなぐ:編集部の検証では、Yodeck の APIトークンは役割にかかわらず読み取りのみでした。書き込むには、Yodeck にログインして「読み取りと書き込み」を許可してつなぎます(Yodeck MCP の検証)。そのため、「スクリプトに APIトークンを入れて書き込む」形は今は使えず、AI がコネクタを通して書き込む形になります
- クラウドの定期実行と相性がよい:ログイン方式のコネクタは、claude.ai に一度登録すれば、Claude のアプリやクラウドの定期実行からそのまま使えます(ChatGPT・スマホの Claude から Yodeck を更新する)。お店のパソコンをつけておく必要がありません
- AI が中身まで読める:Yodeck の AI は、レイアウトの文字や色まで読み取れます。書き換えたあとに「本日のおすすめの文字が、指定どおりになっているか読み直して」と頼めば、AI 自身が確かめられます
- 元に戻す機能はない:Kitcast のような変更履歴からの「前の版に戻す」はありません。毎朝の手順の中で「書き換える前の文を記録しておく」と安心です
- パスワードを変えると止まる:Yodeck のパスワードを変えると、ログインでつないだ AI は使えなくなります(編集部で確認)。定期実行も止まるので、パスワードを変えたら、つなぎ直して1回動かしてみましょう
頼み方の例は次のとおりです。
毎朝7時に、Yodeck の「【検証】本日のおすすめ」のレイアウトで、見出しの下の文を、下の表の今日の曜日の日替わりに書き換えて。書き換えたら、文字が入ったかを読み直して報告して。ほかのレイアウトやプレイリスト、画面の設定には触らないで。
Yodeck での定期実行は、編集部ではまだ試していません(未検証)。Yodeck の書き込みそのものは、ログインでつないだ Claude Code から確認ずみです。
安全に使うための注意
AI に毎朝、人の見ていないところで書き換えてもらう以上、間違ったときにすぐ気づけて、すぐ止められることがいちばん大事です。
検証用・下書きで始める
- 最初は、画面に出ていないプレイリストで試す:今回のように「【検証】」の名前を付けたプレイリストを作り、どの画面にも割り当てずに数日動かします。思ったとおりに入るのを確かめてから、本番のプレイリストに切り替えます
- Kitcast は下書きモードのキー:Kitcast の APIキーを「下書き」にすると、AI の書き換えは承認待ちの版になり、人が管理画面で公開するまで画面に出ません(Pro プランが必要。下書きモードの動きは編集部では未検証)
- Yodeck は公開できない役割:AI 用のユーザーを「制限付きコンテンツマネージャー」にすると、AI は画面への公開ができません
- キーや役割の範囲をしぼる:Kitcast なら、キーが触れるプレイリストを「毎朝更新するものだけ」に制限できます。AI 用のキーは、毎朝の更新専用に1つ作ります
毎回の結果を確かめる
- 読み直しを手順に入れる:書き換えたら、もう一度読み取って、入れたつもりの文が入っているかを確かめます。今回の手順では、見出しが違っていれば「check-failed」として記録します
- 結果を自分に知らせる:クラウドの定期実行は、実行ごとに会話(セッション)として記録が残ります。最初のうちは毎朝その記録を開いて、「updated」「ok」になっているかを見ましょう
- 数字と日付は特に注意:値段や日付の書き間違いは、そのままお客さまの目に入ります。日替わりの表は、AI ではなく人が作って確かめておきます
失敗したときの止め方
止め方は、いくつか用意しておくと安心です。
| 止め方 | どこで | 効き方 |
|---|---|---|
| 定期実行を止める | Claude Code の定期実行の画面のオン・オフ、Claude のアプリのスケジュールの一時停止、GitHub Actions のワークフローの無効化 | 次の朝から動かない |
| 手順の中の「止める合図」 | 今回の手順では STOP ファイルを置く |
定期実行は動いても、何も書き換えない |
| CMS の側で鍵を止める | Kitcast なら APIキーを削除、Yodeck ならコネクタの接続を切る(パスワードを変えても切れる) | AI からは何もできなくなる |
| 書き換えを元に戻す | Kitcast は変更履歴の「これに戻す」、または AI に「今朝の変更を取り消して」 | 画面の中身を前に戻す |
失敗したときに、AI が何度も書き換えを繰り返さないように、定期実行の頼み方には「失敗したら繰り返さず、止めて報告する」と書いておきましょう。今回の検証でも、そう書いておきました。
店頭の画面に使う機器
Kitcast は Apple TV で動かすのが定番です。Yodeck は Fire TV Stick や Raspberry Pi など、手頃な機器で始められます。
Amazonのアソシエイトとして、サイネージファンは適格販売により収入を得ています。
CMS を使わずに、AI に作ってもらった Web ページをテレビに映す方法は、バイブコーディングで自作サイネージで紹介しています。毎朝の差し替えまで任せたいなら、変更の記録や権限のしくみがある Yodeck・Kitcast のほうが安心です。
まとめ
- 「毎朝7時に、今日のおすすめと天気を入れておいて」は、**定期実行 × AI × サイネージのCMS(MCP)**で自動にできる
- 中身(日替わりの表・お知らせの期間)は人が決め、毎朝入れる作業だけを AI に任せると、文がぶれない
- 時計は、Claude Code のクラウドの定期実行、Claude のアプリのスケジュール、Claude Desktop、GitHub Actions から選ぶ。ログインでつなげる Yodeck はクラウドの定期実行と相性がよい。APIキーで細かく権限を決められ、変更履歴から戻せる Kitcast は安心して任せやすい
- 編集部の検証では、Kitcast で試し実行 → 書き換え → 読み直しまでを、予定の時刻に人の操作なしで動かせた。毎日続けた動きと、店頭の画面での見え方は未検証
- 最初は画面に出ていない「【検証】」のプレイリストや下書きで試し、止め方を先に用意しておく
2つの CMS の AI 連携の違いは、KitcastとYodeckのAI連携を実際に比べたにまとめています。どちらも無料で試せます。
