Hermoso はマーケティング用の MCP サーバーです。922+ のツールを一つの OAuth 対応エンドポイントで提供し、エージェントが市場で既に配信されている広告をリサーチし、完成した画像と動画の広告を生成し、それらを投稿し、その背後にある有料キャンペーンを作れるようにします。Cursor は一つの接続からこれらすべてを使えます。このページでは、その中の一部を扱います。Cursor が Facebook で実際に何をできて、Facebook が何をさせないかです。
Hermoso を Cursor に接続する
- インストールとサインイン。
ブラウザが1回開きます。作成も貼り付けも不要です。認証情報は所有者のみが読める形でnpm install -g hermoso && hermoso auth login~/.hermoso/config.jsonに保存されます。ブラウザのないマシンでは、MCP & CLI → Terminal & API keys で作成したキーをhermoso auth login --token hmk_…で渡してください。 ~/.cursor/mcp.jsonに追加(またはプロジェクトの.cursor/mcp.json)。hermoso mcpは上で行ったサインインを読み込むため、ファイルにキーは書きません:{ "mcpServers": { "hermoso": { "command": "npx", "args": ["-y", "hermoso", "mcp"] } } }- またはワンクリックインストールは MCP のページから行えます。このディープリンクは、ホストされた URL をインストールし、認証は Cursor 自身の OAuth フローに任せます。どちらも使えますが、前提条件が異なります。
- Cursor に何かを頼みます。「競合上位3社の、最も長く配信されている広告を取得して、一番良いフックを9:16の動画にリミックスして」、または「このレンダリングをチャンネルに投稿して」。エージェントがツールを選び、支出はあなたが承認します。
上のブロックは、公開済みの hermoso npm パッケージをマシン上で実行します。そのためキーを貼り付ける必要はなく、ツールを呼び出すまではツール一覧のコストもかかりません。代わりにディープリンクを使う場合は、Cursor が認可サーバーに対して動的クライアント登録を行うため、やはりキーを持つ必要はありません。
その後、Hermoso の 設定 → コネクタ で Facebook 自体を一度接続してください。これはブラウザでの OAuth 同意画面なので、唯一ブラウザが必要な手順です。そのあとはすべてツール呼び出しです。
Cursor が使える 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。ブランドが複数のページを接続した瞬間に重要になります。投稿の経路は、一つを勝手に選ぶのではなく、名前を挙げて拒否します。また、その答えを運べない予約は、その拒否を、誰も見ていない数時間後の失敗に変えてしまいます。 |
Cursor で試す
普通の言葉で頼んでください。これは DSL ではなく、普通の文章です。
「このブランチのヒーロー画像を Facebook ページに下書きとして投稿し、Business Suite のリンクを PR の説明に入れてください。」
これは find_competitors → search_meta_ads → plan_ad → render_ad → list_meta_pages → post_to_meta の流れです。Cursor は各ツール呼び出しを、実行前にコンポーザーに表示します。そのため、投稿は偶然起きる副作用ではなく、クリック1回の操作になります。
Facebook での Cursor:要注意の点
エディタでの便利な使い方は「投稿して、どこに投稿されたか教えて」です。ツールの結果には投稿 ID が含まれるため、Cursor はそれを PR やリリースノートにそのまま書き込めます。Facebook ページで別の人の承認が必要な場合は、下書きを頼んでください。Facebook の下書きは、Hermoso が保留しているキューの項目ではなく、本当に未公開の投稿です。
特定のブランドに常に紐づけたいリポジトリでは、ホームディレクトリではなくプロジェクトの .cursor/mcp.json に設定を置いてください。そうしないと、hermoso auth login が使うワークスペースが固定されません。
投稿の前に 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 が、ターゲティングが実際に届く人数を示します。お金を節約する注意点が一つあります。地域を指定せずに作られた広告セットは、米国だけがデフォルトになり、読み戻しがそれをはっきり伝えます。
Cursor だけではできないこと
予算を持ったエージェントは、被害の範囲が限られていて初めて役に立つので、囲いはプロンプトではなくサーバー側にあります。すべての広告キャンペーン、広告セット、広告グループ、広告は一時停止の状態で作成され、実際のお金を動かす支出の切り替えは、明示的な確認フラグなしでは実行されません。すべてのレンダリングは、まず見積もられます(hermoso_capabilities が、支出の前に各モデルの正確なクレジット費用を公開します)。クレジットは最初のプロバイダー呼び出しの前に確保され、後で正確な費用で精算されるので、送信に失敗しても、何も得られないのに請求されることはありません。削除も確認が必要で、エージェントが何を作ったかを伝える前に、すべてのキャンペーンのツリーは広告プラットフォームから読み戻されます。
あえて完全なヘッドレスにしていない手順が一つあります。アカウントの接続は OAuth の同意画面なので、ブラウザでチャンネルを一度接続します。そのあとはすべてツール呼び出しです。
その他のマトリクス
Cursor からの投稿先: Instagram · Threads · TikTok · YouTube · X · LinkedIn · Pinterest · Bluesky · Telegram。または Cursor から投稿できるすべての先をご覧ください。
Facebook への投稿元: Claude · ChatGPT · Claude Code · Codex · Cline · OpenClaw · Grok Bot · Hermes · Gemini CLI · Perplexity · Le Chat · Claude Cowork · Perplexity Computer · Paperclip
よくある質問
Cursor から Facebook に投稿できますか?
はい、Hermoso の MCP サーバー経由で可能です。npm install -g hermoso && hermoso auth login を実行し、~/.cursor/mcp.json が npx -y hermoso mcp を指すようにします。ブラウザでサインインすると認証情報が保存されるため、ファイルにキーは書かれません。その後、Cursor では 922 以上のツールが使えます。Facebook に投稿するツールや、市場で配信中の広告を調べるツール、クリエイティブを作成するツールも含まれます。
Facebook を Cursor に接続するには?
手順は2つ、それぞれ一度だけです。npm install -g hermoso && hermoso auth login を実行し、~/.cursor/mcp.json が npx -y hermoso mcp を指すようにします。ブラウザでサインインすると認証情報が保存されるため、ファイルにキーは書かれません。次に Hermoso の 設定 → コネクタ で Facebook を接続します。ブラウザ上の OAuth 同意画面です。以降、Cursor は通常のツール呼び出しとして Facebook に投稿します。
Cursor に Facebook のパスワードを渡す必要がありますか?
いいえ。Facebook は、ブラウザでの OAuth 同意画面を通して一度だけ Hermoso に接続します。その後、Cursor はツール呼び出しとしてそれを使います。アカウントの接続は唯一ヘッドレスではない手順で、それ以降はパスワードは不要で、認証情報がモデルに渡されることは一切ありません。
Cursor は、投稿の前に Facebook をリサーチできますか?
はい。Meta 広告ライブラリは、search_meta_ads でキーワードまたはページから検索できます。Facebook と Instagram の掲載面をまとめて対象にしています。
Cursor で Facebook にカルーセルを投稿できますか?
はい。Facebook の複数写真投稿として可能です。2枚以上、写真のみです。Meta は、当社が確認できた範囲では上限を公表していないため、Hermoso は独自に30枚の上限を設けています。その上限は Facebook のものではなく、当社の制限であることを明記します。Cursor はどちらの場合も同じ公開ツールを呼び出し、カルーセルを扱えないチャネルには、その理由を添えて拒否されます。
Cursor で、投稿だけでなく Facebook 広告も運用できますか?
はい。Meta のキャンペーンツリー全体を構築できます(キャンペーン、広告セット、広告、ターゲティング、オーディエンス、予算)。予算を確定する前に、プレビューとリーチ推定のツールも使えます。