Hermoso はマーケティング用の MCP サーバーです。922+ のツールを一つの OAuth 対応エンドポイントで提供し、エージェントが市場で既に配信されている広告をリサーチし、完成した画像と動画の広告を生成し、それらを投稿し、その背後にある有料キャンペーンを作れるようにします。Cursor は一つの接続からこれらすべてを使えます。このページでは、その中の一部を扱います。Cursor が Instagram で実際に何をできて、Instagram が何をさせないかです。
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 の 設定 → コネクタ で Instagram 自体を一度接続してください。これはブラウザでの OAuth 同意画面なので、唯一ブラウザが必要な手順です。そのあとはすべてツール呼び出しです。
Cursor が使える Instagram のツール
post_to_meta:target: "instagram"を指定して Instagram に公開します。Instagram はビジュアルのチャンネルで、API もそれを前提にしています。投稿には画像か動画が必要です。schedule_post:共有カレンダーにキューします。キャプションを Facebook や LinkedIn 版と変えたい場合は、チャンネルごとに付けられます。list_meta_comments / reply_to_meta_comment / moderate_meta_comment:投稿へのコメントを読み、返信し、管理します。meta_page_insights / meta_post_insights:アカウント単位と投稿単位のリーチ、インプレッション、保存、エンゲージメント。search_instagram:公開された Instagram のリールをキーワードで検索します。公開ではなくリサーチのためのものです。
自動化の前に知っておきたい Instagram の事実が二つあります。Meta の API にはInstagram のネイティブな予約機能はありません。そのため、予約は Instagram のものではなく Hermoso のキューになり、Instagram に対して Facebook の scheduleAt を渡すと、黙って今すぐ投稿するのではなく拒否されます。また、公開後の Instagram のキャプションは編集できません。Meta が公開済みの投稿で変更を許すのは、コメントを有効にするかどうかだけです。投稿の削除は可能です。manage_meta_post は、通常の投稿、ストーリーズ、リール、カルーセルのアルバム全体を削除できますが、アルバムの中の一枚だけを削除することはできません。
自動化の前に知っておくべき Instagram の上限
| テキスト | Instagram のキャプションは2,200文字が上限です。投稿の作成またはキューに入れる時点で適用されるので、上限を超えた投稿は、黙って途中で切られるのではなく、あなたがまだそこにいるうちに拒否され、修正できます。 |
|---|---|
| 公開範囲 | 公開のみ。Meta のコンテンツ公開 API は即時に公開するか、まったく公開しないかのどちらかで、Instagram には「限定公開、非公開、下書きの投稿はない」とされています。Instagram でレビューの工程が必要なら、呼び出しの後ではなく、前に行う必要があります。 |
| カルーセル | 2〜10枚のスライド、画像と動画は混在可能。上限の10は Meta 自身のもので、それが適用する対応表に引用されています。「カルーセルは、画像、動画、またはその両方の混在で最大10件までです」。下限の2は当社のもので、どのプラットフォームでも1枚のスライドはカルーセルではないからです。1枚のリクエストは、拒否されるのではなく、通常の投稿として公開されます。 |
| どのアカウントか | pageId。Instagram は接続された Facebook ページを通して公開するので、同じ識別フィールドで選びます。 |
Cursor で試す
普通の言葉で頼んでください。これは DSL ではなく、普通の文章です。
「./public/social の6つの書き出しファイルを、その順番のまま Instagram にカルーセルとして投稿し、その投稿のパーマリンクを公開チェックリストに追加してください。」
これは search_instagram → plan_ad → render_ad → post_to_meta(target: "instagram")の流れです。Cursor は各ツール呼び出しを、実行前にコンポーザーに表示します。そのため、投稿は偶然起きる副作用ではなく、クリック1回の操作になります。
Instagram での Cursor:要注意の点
カルーセルでは、スライドの順番がそのまま作品のストーリーになり、エディタではそれを正しく扱いやすくなっています。ファイルは目の前にあり、Hermoso は渡された順番をそのまま保持し、完全に同じものだけを重複として除きます。10 枚のスライドは Meta の上限であり、Hermoso 独自の制限ではありません。Instagram のキャプションは公開後に編集できないため、確認はコンポーザーで行ってください。レンダリングに問題があった場合でも、manage_meta_post で投稿自体を削除できます。
特定のブランドに常に紐づけたいリポジトリでは、ホームディレクトリではなくプロジェクトの .cursor/mcp.json に設定を置いてください。そうしないと、hermoso auth login が使うワークスペースが固定されません。
投稿の前に Instagram をリサーチする
search_meta_ads は一つのライブラリなので、Facebook に加えて Instagram の配置も対象にします。オーガニックについては、search_instagram が公開リールをキーワードで検索します。これは形式が実際に動いている面です。プロフィールとハッシュタグの取得は fetch_social_data と search_instagram_hashtag を通します。
有料の側
Instagram の配置は、Facebook と同じ Meta のキャンペーンツリーを通して購入します。create_meta_campaign → create_meta_adset → create_meta_ad。配置はプラットフォームと位置ごとに選べます。preview_meta_ad は、支出の前に配置ごとの実際にレンダリングされた広告を表示し、meta_insights は結果を年齢、性別、配置、国別に分けます。その内訳が次のクリエイティブを形作ります。
Cursor だけではできないこと
予算を持ったエージェントは、被害の範囲が限られていて初めて役に立つので、囲いはプロンプトではなくサーバー側にあります。すべての広告キャンペーン、広告セット、広告グループ、広告は一時停止の状態で作成され、実際のお金を動かす支出の切り替えは、明示的な確認フラグなしでは実行されません。すべてのレンダリングは、まず見積もられます(hermoso_capabilities が、支出の前に各モデルの正確なクレジット費用を公開します)。クレジットは最初のプロバイダー呼び出しの前に確保され、後で正確な費用で精算されるので、送信に失敗しても、何も得られないのに請求されることはありません。削除も確認が必要で、エージェントが何を作ったかを伝える前に、すべてのキャンペーンのツリーは広告プラットフォームから読み戻されます。
あえて完全なヘッドレスにしていない手順が一つあります。アカウントの接続は OAuth の同意画面なので、ブラウザでチャンネルを一度接続します。そのあとはすべてツール呼び出しです。
その他のマトリクス
Cursor からの投稿先: Facebook · Threads · TikTok · YouTube · X · LinkedIn · Pinterest · Bluesky · Telegram。または Cursor から投稿できるすべての先をご覧ください。
Instagram への投稿元: Claude · ChatGPT · Claude Code · Codex · Cline · OpenClaw · Grok Bot · Hermes · Gemini CLI · Perplexity · Le Chat · Claude Cowork · Perplexity Computer · Paperclip
よくある質問
Cursor から Instagram に投稿できますか?
はい、Hermoso の MCP サーバー経由で可能です。npm install -g hermoso && hermoso auth login を実行し、~/.cursor/mcp.json が npx -y hermoso mcp を指すようにします。ブラウザでサインインすると認証情報が保存されるため、ファイルにキーは書かれません。その後、Cursor では 922 以上のツールが使えます。Instagram に投稿するツールや、市場で配信中の広告を調べるツール、クリエイティブを作成するツールも含まれます。
Instagram を Cursor に接続するには?
手順は2つ、それぞれ一度だけです。npm install -g hermoso && hermoso auth login を実行し、~/.cursor/mcp.json が npx -y hermoso mcp を指すようにします。ブラウザでサインインすると認証情報が保存されるため、ファイルにキーは書かれません。次に Hermoso の 設定 → コネクタ で Instagram を接続します。ブラウザ上の OAuth 同意画面です。以降、Cursor は通常のツール呼び出しとして Instagram に投稿します。
Cursor から投稿するときの Instagram の文字数上限は?
Instagram のキャプションは2,200文字が上限です。この上限は、投稿の発火時ではなく、キューに入れた時点で適用されます。Hermoso は投稿の作成またはキューへの追加時に適用するため、Cursor にはすぐに伝わります。誰も見ていないときに後から失敗することはありません。
Cursor で、投稿だけでなく Instagram 広告も運用できますか?
はい。Meta のキャンペーンツリーを通じて可能です。Instagram の掲載面は、Meta の広告セット内で選択します。preview_meta_ad は、費用をかける前に掲載面ごとの実際の広告を表示します。
Cursor から Instagram に非公開や下書きで投稿できますか?
いいえ。Instagram のコンテンツ公開 API は、公開するか何もしないかのどちらかです。限定公開、非公開、下書きの投稿はありません。公開済みのキャプションは編集できません。Meta が公開中の投稿で変更を許しているのは、コメントを有効にするかどうかだけです。投稿の削除には対応しており、通常の投稿、ストーリーズ、リール、カルーセルのアルバム全体が対象です。Hermoso は、Instagram が対応できない公開範囲を指定された場合、より弱い形で黙って公開するのではなく、その場で拒否します。
Cursor は、投稿の前に Instagram をリサーチできますか?
はい。search_meta_ads は Meta 広告ライブラリの Instagram の掲載面を対象にし、search_instagram はキーワードで公開リールを検索します。