Hermoso はマーケティング用の MCP サーバーです。922+ のツールを一つの OAuth 対応エンドポイントで提供し、エージェントが市場で既に配信されている広告をリサーチし、完成した画像と動画の広告を生成し、それらを投稿し、その背後にある有料キャンペーンを作れるようにします。Codex は一つの接続からこれらすべてを使えます。このページでは、その中の一部を扱います。Codex が Facebook で実際に何をできて、Facebook が何をさせないかです。
Hermoso を Codex に接続する
- コマンド1つ。キーは不要です。
Codex は Hermoso の公開リポジトリにあるマーケットプレイスのファイルを読み込み、5つのスキルをインストールします(リサーチ、ブランドからの広告作成、生成、商品撮影、マーケティング)。スキルはcodex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermosonpx経由でhermosoコマンドを実行するため、セッションにツール一覧は読み込まれず、コマンドが実行されるまでコンテキストも消費しません。 - 一度サインインします。
ブラウザでサインインすると、所有者のみが読める認証情報がnpx -y hermoso auth login~/.hermoso/config.jsonに保存されます。CI やコンテナなど、ブラウザがないマシンの場合は、MCP & CLI → Terminal & API keys でキーを作成し、npx -y hermoso auth login --token hmk_…を実行してください。キーには実際の支出権限があるため、パスワードと同じように扱ってください。 - 任意: MCP サーバーも追加する場合。
これでサーバーがcodex mcp add hermoso -- npx -y hermoso mcp~/.codex/config.tomlに書き込まれ、同じ保存済み認証情報を読み込みます。そのためファイルにキーは書かれません。ホストされたエンドポイントを使いたい場合は、codex mcp add hermoso --url https://app.hermoso.ai/mcpを実行し、codex mcp login hermosoで OAuth サインインを行います。スキルは、どちらを使わなくてもすべてのツールに届きます。 - Codex に何かを頼みます。「競合上位3社の、最も長く配信されている広告を取得して、一番良いフックを9:16の動画にリミックスして」、または「このレンダリングをチャンネルに投稿して」。エージェントがツールを選び、支出はあなたが承認します。
Codex は MCP サーバーを ~/.codex/config.toml に保存します。信頼されたプロジェクトでは .codex/config.toml に保存されます。このファイルは JSON ではなく TOML 形式なので、mcpServers のブロックをコピーしても読み込まれません。手書きする場合は [mcp_servers.hermoso] として、command = "npx" と args = ["-y", "hermoso", "mcp"] を指定します。末尾の mcp は必須です。npx -y hermoso だけではヘルプを表示して終了します。Codex は Claude Code と同じ .claude-plugin の形式でプラグインのマーケットプレイスを読み込むため、同じリポジトリで両方にインストールできます。
その後、Hermoso の 設定 → コネクタ で Facebook 自体を一度接続してください。これはブラウザでの OAuth 同意画面なので、唯一ブラウザが必要な手順です。そのあとはすべてツール呼び出しです。
Codex が使える Facebook のツール
post_to_meta:テキスト、画像、動画、複数写真の投稿をページに公開します。pageIdを取るので、どのページかを推測する必要がありません。schedule_post:同じ投稿を、他のすべてのチャンネルと共有する一つのカレンダーに、選んだ時刻で予約します。list_meta_pages:アカウントに接続されたページを、ID とともに一覧表示します。manage_meta_post:公開済みの投稿の文面を編集するか、削除します。list_meta_comments / reply_to_meta_comment / moderate_meta_comment:投稿へのコメントを読み、ページとして返信し、ふさわしくないものを非表示または削除します。meta_page_insights / meta_post_insights:ページ単位と投稿単位のリーチ、インプレッション、エンゲージメント。upload_meta_asset:完成したレンダリングを広告アカウントのアセットライブラリに入れます。
Facebook は、ネイティブのリモート予約を持つ唯一のチャンネルでもあります。post_to_meta は、今から十分後から30日後までの scheduleAt を受け取り、タイミングの処理を Meta 自身に任せます。Instagram と Threads には、Meta の API にそのような機能がないため、それらに指定すると、黙って今すぐ投稿するのではなく、拒否されます。
自動化の前に知っておくべき Facebook の上限
| テキスト | Facebook の投稿は63,206文字まで可能で、事実上無制限です。投稿の作成またはキューに入れる時点で適用されるので、上限を超えた投稿は、黙って途中で切られるのではなく、あなたがまだそこにいるうちに拒否され、修正できます。 |
|---|---|
| 公開範囲 | 公開または下書き。下書きは、本当に未公開の Page 投稿で、レビューに役立つものです。Meta Business Suite には存在し、外部の誰にも見えません。限定公開や非公開の選択肢はありません。「Facebook の Page 投稿は、公開されているか、未公開の下書きとして保留されているかのどちらかです」。 |
| カルーセル | 2枚以上、写真のみ。Meta は、私たちが入手できる attached_media の最大数を公表していないので、Hermoso はそれを作って Facebook の仕様とはしません。唯一の上限は当社の30枚で、拒否メッセージがそれが誰の上限かを示します。「Facebook は attached_media の文書化された最大数を公表していないため、この上限は Facebook のものではなく当社のものです」。動画は Facebook の写真カルーセルには載せられません。これは Meta の API の別の制約で、Hermoso は、動画を黙って落とすのではなく拒否します。 |
| どのアカウントか | pageId。ブランドが複数のページを接続した瞬間に重要になります。投稿の経路は、一つを勝手に選ぶのではなく、名前を挙げて拒否します。また、その答えを運べない予約は、その拒否を、誰も見ていない数時間後の失敗に変えてしまいます。 |
Codex で試す
普通の言葉で頼んでください。これは DSL ではなく、普通の文章です。
「非対話: ブランドプロフィールから 1:1 の画像広告をレンダリングし、未公開の下書きとして Facebook ページに投稿して、投稿 ID を JSON で出力してください。」
これは find_competitors → search_meta_ads → plan_ad → render_ad → list_meta_pages → post_to_meta の流れです。対話モードでは、Codex は実行前にその呼び出しを表示します。非対話モードでは確認する相手がいないため、投稿や支出を伴う手順は、その前提で設計する必要があります。
Facebook での Codex:要注意の点
プロンプトまたは設定でページを指定してください。接続済みのページが複数ある場合、公開の経路は1つを勝手に選ばず、名前で指定するよう求めて拒否します。これは正しい動作です。無人の codex exec 実行では確認する相手がいないため、その拒否は失敗したジョブになります。一度 list_meta_pages で解決し、ID を固定してください。
無人実行では、ツールマニフェスト全体ではなく、--json 付きの hermoso CLI を使うことをおすすめします。コンテキストの消費がはるかに少なく、結果の検証もしやすくなります。
投稿の前に Facebook をリサーチする
Meta 広告ライブラリは、公開されているクリエイティブのアーカイブとして最も豊富なもので、search_meta_ads はキーワードまたはページで検索し、Facebook と Instagram の配置の両方を対象にします。pull_competitor_ads と competitor_teardown はその上に作られ、find_competitors は、どこを対象にすべきかを割り出します。
有料の側
Facebook は、Hermoso が持つ中で最も深い有料の面です。create_meta_campaign、create_meta_adset、create_meta_ad は、実際のターゲティングを使ってツリー全体を構築します。地域は都市の半径まで、興味、行動、カスタムオーディエンス、類似オーディエンス、配置、時間帯別の配信、入札とコストの上限に対応します。すべてが呼び出し元による上書きなしの一時停止で作成され、エージェントが報告する要約は、要求された内容からではなく、Meta が実際に保存した内容の読み戻しから作られます。予算を確定する前に、preview_meta_ad が配置ごとの実際の広告をリンクとしてレンダリングし、estimate_meta_reach が、ターゲティングが実際に届く人数を示します。お金を節約する注意点が一つあります。地域を指定せずに作られた広告セットは、米国だけがデフォルトになり、読み戻しがそれをはっきり伝えます。
Codex だけではできないこと
予算を持ったエージェントは、被害の範囲が限られていて初めて役に立つので、囲いはプロンプトではなくサーバー側にあります。すべての広告キャンペーン、広告セット、広告グループ、広告は一時停止の状態で作成され、実際のお金を動かす支出の切り替えは、明示的な確認フラグなしでは実行されません。すべてのレンダリングは、まず見積もられます(hermoso_capabilities が、支出の前に各モデルの正確なクレジット費用を公開します)。クレジットは最初のプロバイダー呼び出しの前に確保され、後で正確な費用で精算されるので、送信に失敗しても、何も得られないのに請求されることはありません。削除も確認が必要で、エージェントが何を作ったかを伝える前に、すべてのキャンペーンのツリーは広告プラットフォームから読み戻されます。
あえて完全なヘッドレスにしていない手順が一つあります。アカウントの接続は OAuth の同意画面なので、ブラウザでチャンネルを一度接続します。そのあとはすべてツール呼び出しです。
その他のマトリクス
Codex からの投稿先: Instagram · Threads · TikTok · YouTube · X · LinkedIn · Pinterest · Bluesky · Telegram。または Codex から投稿できるすべての先をご覧ください。
Facebook への投稿元: Claude · ChatGPT · Claude Code · Cursor · Cline · OpenClaw · Grok Bot · Hermes · Gemini CLI · Perplexity · Le Chat · Claude Cowork · Perplexity Computer · Paperclip · コマンドラインからの広告
よくある質問
Codex から Facebook に投稿できますか?
はい、Hermoso の Codex プラグイン経由で可能です。codex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermoso を実行し、Hermoso のスキルをインストールします。その後、npx -y hermoso auth login で一度サインインしてください。ブラウザが開き、認証情報は自動で保存されるため、キーの作成も貼り付けも不要です。MCP サーバーも使う場合は、codex mcp add hermoso -- npx -y hermoso mcp を実行します。その後、Codex では 922 以上のツールが使えます。Facebook に投稿するツールや、市場で配信中の広告を調べるツール、クリエイティブを作成するツールも含まれます。
Facebook を Codex に接続するには?
手順は2つ、それぞれ一度だけです。codex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermoso を実行し、Hermoso のスキルをインストールします。その後、npx -y hermoso auth login で一度サインインしてください。ブラウザが開き、認証情報は自動で保存されるため、キーの作成も貼り付けも不要です。MCP サーバーも使う場合は、codex mcp add hermoso -- npx -y hermoso mcp を実行します。次に Hermoso の 設定 → コネクタ で Facebook を接続します。ブラウザ上の OAuth 同意画面です。以降、Codex は通常のツール呼び出しとして Facebook に投稿します。
Codex から投稿するときの Facebook の文字数上限は?
Facebook の投稿は63,206文字まで可能で、事実上無制限です。Hermoso は、投稿を作成またはキューに入れる時点で上限を適用するので、後で誰も見ていないときに失敗するのではなく、Codex にすぐ伝わります。
Codex で Facebook の投稿を後から予約できますか?
はい。schedule_post は、他のすべてのチャンネルと共有する一つのカレンダーに投稿を入れます。キャプションを変えたい場合は、チャンネルごとに付けられます。list_scheduled と cancel_scheduled で読み取りと取り消しができます。Facebook は、キューに入る十一チャンネルの一つです。
Codex から Facebook に非公開や下書きで投稿できますか?
はい。Facebook は、本当の下書きを持つ唯一のチャンネルです。Meta Business Suite に存在し、外部の誰にも見えない、未公開の Page 投稿です。Hermoso は、Facebook が今その公開範囲を満たせない場合、依頼された時点で拒否し、黙ってより弱い形で公開することはありません。
Codex から Facebook に投稿するのにコストはかかりますか?
Facebook への投稿は、Meta が API 呼び出しごとに料金を取らないため、クレジットはかかりません。クレジットが使われるのは生成、つまり投稿に載せる画像や動画のレンダリングです。プランは月額 $29、$69、$149 で、それぞれ 1,200、3,000、7,000 クレジットです。すべての機能が Free を含むすべてのプランに含まれます。例外はエンタープライズ向けの SSO だけです。