Hermoso はマーケティング用の MCP サーバーです。922+ のツールを一つの OAuth 対応エンドポイントで提供し、エージェントが市場で既に配信されている広告をリサーチし、完成した画像と動画の広告を生成し、それらを投稿し、その背後にある有料キャンペーンを作れるようにします。Gemini CLI は一つの接続からこれらすべてを使えます。このページでは、その中の一部を扱います。Gemini CLI が LinkedIn で実際に何をできて、LinkedIn が何をさせないかです。
Hermoso を Gemini CLI に接続する
- 拡張機能をインストールします。
Hermoso の公開リポジトリの最新リリースをインストールします。これには 5 つのスキル(research、ad-from-brand、generate、product-photoshoot、marketing)とgemini extensions install https://github.com/hermoso-ai/hermosoGEMINI.mdコンテキストファイルが含まれます。スキルはnpxを通じてhermosoコマンドを実行するため、Gemini CLI のツール一覧には何も追加されず、コマンドが実行されるまでコンテキストも消費しません。gemini extensions listでは、スキルが Agent skills の下に表示されます。 - 一度サインインします。
ブラウザでのサインインが開き、所有者のみが読める認証情報をnpx -y hermoso auth login~/.hermoso/config.jsonに保存します。Gemini CLI は、Hermoso が初めて必要になったときに、代わりにこれを実行できます。そのマシンにブラウザがない場合は、MCP & CLI → Terminal & API keys でキーを作成し、npx -y hermoso auth login --token hmk_…を実行してください。 - 任意: MCP サーバーも追加する場合。
最初の接続が 401 を返すと、Gemini CLI は Hermoso の認可サーバーを見つけて自分自身を登録するため、gemini mcp add --scope user --transport http hermoso https://app.hermoso.ai/mcpsettings.jsonにキーを書く必要はありません。セッション内で/mcp auth hermosoを実行するとサインインできます。スキルは、これがなくてもすべてのツールに届きます。 - Gemini CLI に何かを頼みます。「競合上位3社の、最も長く配信されている広告を取得して、一番良いフックを9:16の動画にリミックスして」、または「このレンダリングをチャンネルに投稿して」。エージェントがツールを選び、支出はあなたが承認します。
上記のインストールは、2026-09-23 に、クリーンなホームディレクトリで Gemini CLI 0.60.0 を使って実行しました。hermoso-ai/hermoso の最新リリースを取得し、gemini extensions list に 5 つのスキルとコンテキストファイルが表示されました。拡張機能は独自の MCP サーバーを持ちません。これは意図的です。ツール一覧はすべてのセッションに読み込まれますが、スキルは実行されるまで何のコストもかからないからです。Hermoso は Google と提携しておらず、そのように主張することもありません。
その後、Hermoso の 設定 → コネクタ で LinkedIn 自体を一度接続してください。これはブラウザでの OAuth 同意画面なので、唯一ブラウザが必要な手順です。そのあとはすべてツール呼び出しです。
Gemini CLI が使える LinkedIn のツール
post_to_linkedin_page: 会社ページに、テキスト、画像、動画、複数画像の投稿を代替テキスト付きで公開します。post_to_linkedin: 個人プロフィールに公開します。この投稿元は、明示的に共有するまでオフのままです。list_linkedin_pages: このブランドと共有しているページを、組織 ID とともに表示します。schedule_post:linkedinOrganizationIdを付けてキューに入れ、正しい投稿元から投稿されるようにします。manage_linkedin_post: 投稿の文面を編集するか、投稿を削除します。linkedin_page_analytics: オーガニックのページの実績を表示します。フォロワーの増加、ページビュー、投稿のインプレッション、クリック、エンゲージメントを、ページ単位または投稿単位で確認できます。search_linkedin_ads: LinkedIn 広告ライブラリを検索します。実際のインプレッション数を公開している、数少ない公開広告ライブラリのひとつです。
LinkedIn では、投稿元の ID は好みではなく権限の問題です。1人が複数の会社ページを管理していることが多いため、Hermoso は投稿できる ID を明示的に選ばせます。「Manage accounts」でチェックしたページにだけ投稿でき、チェックのないページはUIだけでなくサーバー側で拒否されます。個人プロフィールは、オンにしない限りオフのままです。推測せずにどのページかを確認するエージェントは、正しく動いています。
自動化の前に知っておくべき LinkedIn の上限
| テキスト | LinkedIn の投稿は3,000文字が上限です。投稿の作成またはキューへの追加時に適用されるため、文字数オーバーの投稿は、送信途中で黙って切られるのではなく、あなたがその場で修正できるうちに拒否されます。 |
|---|---|
| 公開範囲 | 公開のみ。LinkedIn の投稿はプロフィールか会社ページに公開されます。「LinkedIn には限定公開、非公開、下書きの投稿はありません。」 |
| カルーセル | 会社ページからの2〜20枚の画像。上限と下限はどちらも LinkedIn 自身の仕様です。「MultiImage 投稿は複数の画像を含む投稿です(最少2枚、最多20枚)」とあり、スキーマには「画像のみ対応」とあります。そこから2つの拒否が生じます。どちらも黙ってダウングレードするのではなく、理由を明記して拒否されます。1つは動画のスライドで、LinkedIn の複数画像投稿では動画を扱えないため拒否されます。もう1つは個人プロフィールのカルーセルで、今後の方法を示したうえで拒否されます。linkedinOrganizationId(list_linkedin_pages から取得)を渡してください。「個人プロフィールのカルーセルは、Hermoso では投稿できません。」 |
| どのアカウントか | linkedinOrganizationId。未設定の場合はメンバー本人のプロフィールを意味し、「たぶん会社ページ」という扱いにはなりません。このフィールドは、どのページから投稿するかを指定するためのものです。省略するのは偶然ではなく、明示的な判断になります。 |
Gemini CLI で試す
普通の言葉で頼んでください。これは DSL ではなく、普通の文章です。
“共有済みの LinkedIn Page を一覧にしてから、./drafts/case-study.md を、./assets の 4 つのグラフを使ったカルーセルとして会社 Page に投稿し、各画像に代替テキストを付けてください。”
流れは list_linkedin_pages → plan_ad → render_ad → post_to_linkedin_page → linkedin_page_analytics です。Gemini CLI はシェルコマンドを実行する前に確認を求め、スキルは hermoso コマンドを通じて動くため、公開は「はい」と答える前に読める 1 行として表示されます。MCP ツールについては、1 回だけ許可するか、そのツールを常に許可するか、サーバーを常に許可するかを選べます。
LinkedIn での Gemini CLI:要注意の点
組織 ID を省くと、個人プロフィールが使われます。「たぶん会社のほう」にはなりません。個人プロフィールは、共有するまでオフのままです。複数画像の投稿は会社 Page からのみ行われるため、カルーセルには結局 Page が必要です。list_linkedin_pages を一度実行して ID をプロジェクトに保存してください。プロジェクト単位の Gemini CLI 設定が、1 つのリポジトリを 1 つのブランドに固定するのと同じ方法です。
Gemini CLI で、この安全性を決める 2 つの詳細があります。gemini mcp add は、--scope user を渡さない限り、プロジェクトの .gemini/settings.json に書き込みます。1 つのリポジトリを常に 1 つのブランドで動かしたい場合は、これが役立ちます。また、Hermoso を --trust 付きで追加しないでください。サーバーに対するすべての確認をスキップしてしまい、公開の前に出る確認も含まれます。MCP ツールは mcp_hermoso_ とツール名を組み合わせた名前で届き、--exclude-tools を使えば、いくつでも完全に除外できます。
投稿の前に LinkedIn をリサーチする
search_linkedin_ads は LinkedIn 広告ライブラリを読み取ります。公開広告ライブラリの中では珍しく、実際のインプレッション数を公開しています。そのため、LinkedIn での B2B の競合リサーチを、何が配信されているかの推測ではなく、実際の配信量で順位付けできます。
有料の側
create_linkedin_ads_campaign_group → create_linkedin_ads_campaign → create_linkedin_ads_creative でツリーを構築し、すべては下書きとして作成されます。実際の費用を発生させるスイッチは set_linkedin_ads_status だけで、明示的な確認がないと動きません。事前に伝えておくべきアクセスの注意点があります。LinkedIn は、ご自身の広告アカウントが持つ API のティアによって広告の書き込みを制限しています。レポートと読み取りには制限がありません。開発ティアでは、アプリは手動で登録された少数の広告アカウントしか編集できません。
Gemini CLI だけではできないこと
予算を持ったエージェントは、被害の範囲が限られていて初めて役に立つので、囲いはプロンプトではなくサーバー側にあります。すべての広告キャンペーン、広告セット、広告グループ、広告は一時停止の状態で作成され、実際のお金を動かす支出の切り替えは、明示的な確認フラグなしでは実行されません。すべてのレンダリングは、まず見積もられます(hermoso_capabilities が、支出の前に各モデルの正確なクレジット費用を公開します)。クレジットは最初のプロバイダー呼び出しの前に確保され、後で正確な費用で精算されるので、送信に失敗しても、何も得られないのに請求されることはありません。削除も確認が必要で、エージェントが何を作ったかを伝える前に、すべてのキャンペーンのツリーは広告プラットフォームから読み戻されます。
あえて完全なヘッドレスにしていない手順が一つあります。アカウントの接続は OAuth の同意画面なので、ブラウザでチャンネルを一度接続します。そのあとはすべてツール呼び出しです。
その他のマトリクス
Gemini CLI から次に投稿: Facebook · Instagram · Threads · TikTok · YouTube · X · Pinterest · Bluesky · Telegram。またはGemini CLI で投稿できるすべてをご覧ください。
次から LinkedIn に投稿: Claude · ChatGPT · Claude Code · Cursor · Codex · Cline · OpenClaw · Grok Bot · Hermes · Perplexity · Le Chat · Claude Cowork · Perplexity Computer · Paperclip
よくある質問
Gemini CLI から LinkedIn に投稿できますか?
はい、Hermoso の Gemini CLI 拡張機能で可能です。gemini extensions install https://github.com/hermoso-ai/hermoso を実行すると、hermoso コマンドを操作する Hermoso のスキルが 5 つ追加されます。その後、npx -y hermoso auth login で一度サインインしてください。サインインではブラウザが開き、認証情報は自動的に保存されるため、作成するキーも貼り付けるキーもありません。Gemini CLI 自身のツール一覧にも Hermoso のツールを入れたい場合は、gemini mcp add --scope user --transport http hermoso https://app.hermoso.ai/mcp で、OAuth でサインインするホスト型サーバーを追加できます。これで Gemini CLI は 922+ のツールを使えるようになります。LinkedIn への投稿ツールや、市場で配信中の広告をリサーチするツール、そもそもクリエイティブをレンダリングするツールも含まれます。
LinkedIn を Gemini CLI に接続するには?
2 つの手順で、それぞれ 1 回だけ行います。gemini extensions install https://github.com/hermoso-ai/hermoso を実行すると、hermoso コマンドを操作する Hermoso のスキルが 5 つ追加されます。その後、npx -y hermoso auth login で一度サインインしてください。サインインではブラウザが開き、認証情報は自動的に保存されるため、作成するキーも貼り付けるキーもありません。Gemini CLI 自身のツール一覧にも Hermoso のツールを入れたい場合は、gemini mcp add ... で OAuth でサインインするホスト型サーバーを追加できます。次に Hermoso の 設定 → コネクタ で LinkedIn を接続します。これはブラウザで表示される OAuth の同意画面です。その後は、Gemini CLI が LinkedIn への投稿を通常のツール呼び出しとして実行できます。
Gemini CLI に LinkedIn のパスワードを渡す必要がありますか?
いいえ。LinkedIn は、ブラウザでの OAuth 同意画面を通して一度だけ Hermoso に接続します。その後、Gemini CLI はツール呼び出しとしてそれを使います。アカウントの接続は唯一ヘッドレスではない手順で、それ以降はパスワードは不要で、認証情報がモデルに渡されることは一切ありません。
Gemini CLI で、投稿だけでなく LinkedIn 広告も運用できますか?
はい。LinkedIn 広告のツリーを構築できます(キャンペーングループ、キャンペーン、クリエイティブ)。すべては下書きとして作成され、ステータスの切り替えには確認が必要です。LinkedIn は、ご自身の広告アカウントが持つ API のティアによって広告の書き込みを制限しています。
Gemini CLI で LinkedIn にカルーセルを投稿できますか?
はい。会社ページからの、2〜20枚の画像のみです。これらは LinkedIn が公表している上限と下限です。個人プロフィールのカルーセルは、1枚目だけを投稿するのではなく、対処法を添えて理由を明記して拒否されます。Gemini CLI はどちらの場合も同じ公開ツールを呼び出し、カルーセルを扱えないチャネルには、その理由を添えて拒否されます。
Gemini CLI は、投稿の前に LinkedIn をリサーチできますか?
はい。しかも非常に有用です。search_linkedin_ads は LinkedIn 広告ライブラリを読み取ります。実際のインプレッション数を公開している、唯一の公開広告ライブラリです。