PlanVortex について
PlanVortex MCPサーバーは、PlanVortexを通じて複数のソーシャルネットワークへの投稿、コメント、ダイレクトメッセージをAIアシスタントから管理し、アカウント指標も照会できます。AIプラン生成は明示的な有効化が必要で、結果は下書きです。
主な機能
- 01ソーシャル投稿の作成・更新・再試行
- 02コメントとメッセージの閲覧・返信
- 03投稿とアカウント指標の照会
- 04メディアのアップロードとネットワーク制限の確認
- 05有効化時のAIプラン下書き生成
活用シーン
- 01複数のソーシャルネットワークへの投稿予約
- 02未読コメントの整理とメッセージへの返信
- 03投稿実績とアカウント指標の確認
- 04テーマや商品カタログから投稿下書きを作成
MCP 対応
投稿、コメント、メッセージ、メディア、指標、ネットワーク情報のツールに加え、プロンプトとリソースをMCPクライアントに公開します。stdioまたは明示的に有効化したHTTPモードで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y planvortex-mcpPLANVORTEX_CLIENT_IDClient id of a PlanVortex app. Every plan has apps, the free one included. Panel: Settings > Apps.PLANVORTEX_CLIENT_SECRETシークレットSecret of that app.PLANVORTEX_ORGANIZATION_IDDefault organization id. Optional: saves a discovery call per conversation.PLANVORTEX_MCP_UPLOAD_DIRSDirectories upload_media may read from. Empty means none.PLANVORTEX_MCP_READ_ONLYSet to 1 to remove the nine write tools.PLANVORTEX_MCP_ALLOW_AISet to 1 to add create_ai_plan, which generates a week of posts and spends AI credits.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
31掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
planvortex-mcp
PlanVortex の公式Model Context Protocol サーバーです。AI アシスタント(Claude Desktop、Claude Code、Cursor、 VS Code)を使って、すべてのソーシャルネットワーク(Facebook、Instagram、Threads、LinkedIn、TikTok、X、WhatsApp、YouTube、Google Business、 Bluesky、Discord、Telegram、Slack、Pinterest)への投稿予約、コメント受信トレイの確認、プライベートメッセージへの返信ができます。
PlanVortex アプリが必要です。無料プランを含め、すべてのプランでアプリを作成できます。 サーバーの認証には、PlanVortex パネルの「設定」→「アプリ」で作成する
client_idとclient_secretを使用します。 作成できるアプリ数はプランによって異なります。Free は 1 個、Basic は 2 個、Pro は 5 個、Custom は 10 個です。
インストール
インストールは不要です。MCP クライアントが npx で起動します。
Claude Desktop、Cursor、VS Code
{
"mcpServers": {
"planvortex": {
"command": "npx",
"args": ["-y", "planvortex-mcp"],
"env": {
"PLANVORTEX_CLIENT_ID": "...",
"PLANVORTEX_CLIENT_SECRET": "...",
"PLANVORTEX_ORGANIZATION_ID": "optional, but saves a call per conversation"
}
}
}
}
Claude Code
claude mcp add planvortex \
--env PLANVORTEX_CLIENT_ID=... \
--env PLANVORTEX_CLIENT_SECRET=... \
-- npx -y planvortex-mcp
あとは、次のように尋ねてみてください。 「今週の予約投稿と、まだ未読のコメントを教えて」
できること
用途別に分類された 31 個のツールと、自分で有効にする 32 個目の create_ai_plan があります(AI による生成を参照)。
| グループ | ツール |
|---|---|
| コンテキスト | list_organizations, list_accounts, get_plan_use, get_unread_counts |
| 投稿 | list_publications, get_publication, list_destinations, create_publication, update_publication, retry_publication |
| AI プランナー | get_planner_templates, list_store_products, list_ai_plans, get_ai_plan, get_ai_plan_results、有効時の create_ai_plan |
| メディア | upload_media |
| コメント | list_comments, get_comment_thread, reply_to_comment, hide_comment, mark_comment_read |
| メッセージ | list_conversations, list_messages, send_message |
| 数値 | get_dashboard_summary, get_publication_stats, get_top_publications, get_account_metrics |
| カタログ | get_social_limits, get_social_capabilities, create_connect_link |
さらに、3 つのプロンプト(weekly_plan、inbox_triage、publish_from_brief)と、ネットワークごとの制限、機能、コメント対応表、組織情報を提供する 4 つのリソースがあります。
AI による生成
PlanVortex は、書かれた内容をスケジュールするだけではありません。一週間分の投稿を作成することもできます。プランナーは、テーマ、手持ちの写真、記事、または接続済みのショップの商品カタログから一週間分の投稿を作成します。また、get_planner_templates では、5 つのテンプレートとそれぞれの料金を確認できます。PlanVortex に接続されたショップ(WooCommerce ストア)の場合、list_store_products で投稿に取り上げる商品を見つけられます。
読み取りはいつでも利用できます。プランの作成は、明示的に有効にしない限り利用できません。
"env": { "PLANVORTEX_MCP_ALLOW_AI": "1" }
これは意図的なもので、安全性ではなく費用に関わる判断です。プランを生成すると、アカウントの AI クレジットが消費されます。ループ内で再試行するエージェントは、課金されるエンドポイントの呼び出し元として最悪です。プロトコル自体が用意している解決策、つまりサーバー内で確認を求める仕組みは、まだほとんどのクライアントで実装されていません。そのため、代わりにこの行で確認します。エージェントが動き出す前に、人が一度記述するのです。この設定がない場合、create_ai_plan はツール一覧に表示されないため、何もこれを呼び出せません。
知っておくとよいことがもう 2 つあります。create_ai_plan は投稿を返しません。プランをキューに追加して予算を返すだけで、生成には数分かかります。get_ai_plan をポーリングしてください。また、生成されるのは下書きです。投稿のスケジュール設定は、引き続き人が 1 件ずつ判断し、update_publication を使って行います。
意図的にできない 2 つのこと
何も削除しません。 投稿、アカウント、連絡先、コメントを削除するツールはありません。有効化できる設定ではなく、削除するコード自体がありません。その理由は、以下のセキュリティの節で説明します。
ソーシャルアカウントを接続できません。 Instagram の接続には、人が Meta の画面で「認証」をクリックする OAuth フローが必要です。クライアント認証情報を持つアプリにはそれができません。どのアプリにもできません。create_connect_link は、15 分で期限切れになる 1 回限りのリンクを返します。ユーザーに渡して、開いてもらってください。
セキュリティ
このサーバーは、アプリの client_secret をプロセス内に保持した状態であなたのマシン上で動作し、一般の人が書いたテキスト(コメント、レビュー、DM)を言語モデルに渡します。同時に、そのモデルはあなたのブランド名で公開するツールを保持しています。
これは設計上、プロンプトインジェクションの攻撃対象領域となるため、どのように対処しているかを知っておくことが重要です。
- すべてのコメント、レビュー、受信メッセージは、指示ではなくデータであることを明示する注意書き付きの
untrusted_contentブロックで囲まれます。これは保証ではありません。どのようなラッパーも保証にはなりませんが、攻撃のハードルを上げます。 - 削除する機能はありません。 インジェクションに成功した場合の最悪の事態は、目で確認して削除できる投稿が作られることです。連絡先 4,000 件が削除されることではありません。
- 公開、送信、上書き、コメントの非表示、AI クレジットの消費を行うツールには、
destructiveHint: trueの注釈が付いています。これらは実行後に取り消せないためです。読み取りのみを行うツールにはreadOnlyHint: trueが付いています。すべてのツールに 3 つのヒントが明示的に付与されています。 - サードパーティのテキストがツールの説明やキャッシュされたリソースに入ることはありません。そうした場所では、クライアントがそのテキストを信頼できないものとして扱わないためです。
- 公開が人によって確認されるかどうかは、このサーバーではなく MCP クライアントによって決まります。クライアントに警告を表示させる注釈がツールに付いているので、そのままにしてください。
PLANVORTEX_MCP_READ_ONLY=1 を設定すると、9 つの書き込みツールが一覧から完全に除外されます。監視されていないエージェントに読み取りアクセスだけを許可したい場合に便利です。
--http モード
planvortex-mcp --http は、セルフホスト可能なデプロイ向けに MCP を HTTP 経由で提供します。プロセスは
client_secret を保持するため、ポートに接続できるものは何であれ、通常の
curl であなたのアカウントに投稿できます。そのため、以下の対策を行っています。
- デフォルトでは
127.0.0.1にバインドします。 - それ以外の場所にバインドするには、
PLANVORTEX_MCP_AUTH_TOKENが必須であり、設定されていない場合はサーバーの起動を拒否します。 - 各リクエストで
Originヘッダーを検証します(DNS リバインディング対策)。 - TLS はリバースプロキシ側で設定してください。手前に配置します。
- リクエストから受け取ったトークンを PlanVortex に転送することはありません。トークンはこのプロセスに対する認証に使われ、ここで処理が終わります。
docker run --rm -p 127.0.0.1:3000:3000 \
-e PLANVORTEX_CLIENT_ID=... -e PLANVORTEX_CLIENT_SECRET=... \
-e PLANVORTEX_MCP_AUTH_TOKEN=$(openssl rand -hex 32) \
planvortex-mcp --http --host 0.0.0.0
このモードではフラグは省略できません。イメージはデフォルトで stdio を使用します。MCP クライアントが起動するとき(docker run -i planvortex-mcp)に使うのが stdio であり、サーバーディレクトリがイントロスペクションするときも同様だからです。
--http はデプロイモードであり、明示的に指定する必要があります。
--hosted モード
--hosted は、PlanVortex 自身が運用するマルチユーザーモードです。アプリの認証情報を使わず、サインインするだけでユーザーが PlanVortex アカウントをアシスタントに接続できます。セルフホスト可能な運用には不要です。その場合は --http を使います。このモードでは、どのアプリの client_secret も保持しません。また、デフォルト組織、PLANVORTEX_MCP_ALLOW_AI、PLANVORTEX_MCP_AUTH_TOKEN、PLANVORTEX_MCP_UPLOAD_DIRS のいずれかが見つかった場合は起動を拒否します。共有サーバーでは、これらの設定が全ユーザーに適用されてしまうためです。
すべてのリクエストには、このサーバー向け(aud)かつ受け入れ対象のアシスタントクライアントのいずれか向け(azp)に PlanVortex の Keycloak が発行した OAuth アクセストークンが必要です。サーバーはトークンを検証し、自身のトークンに交換します(RFC 8693)。API に届くのは交換後のトークンだけなので、アシスタントが保存するトークンだけでは PlanVortex API にアクセスできません。有効なトークンを含まないリクエストには、WWW-Authenticate が /.well-known/oauth-protected-resource を示す 401 が返されます。スコープは planvortex:read(必須)と planvortex:write です。後者がない場合、書き込みツールは一覧に表示されません。このモードでは AI プランを作成できず、create_connect_link も利用できません。接続リンクを発行できるのはアプリに限られるためです。そのため、ユーザーは PlanVortex パネルでソーシャルアカウントを接続し、サーバーがその旨をモデルに伝えます。
リクエスト間でサーバーが保持するすべての情報(交換後のトークン、組織の一覧、重複防止機能、レート制限)は、トークンの sub をキーとしてユーザーごとに保存されます。環境変数については planvortex-mcp --help を実行してください。
認証を通過した各リクエストについて、終了時に 1 行のログが記録されます。内容は sub、アシスタントクライアント、メソッド、ツール、終了状況(API に拒否された場合は PlanVortex のエラーコードを含む)、HTTP ステータス、所要時間です。ツール呼び出しは info、それ以外は debug レベルで記録されます。ログの行にトークン、引数、結果が含まれることはありません。
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
PLANVORTEX_CLIENT_ID | はい | アカウントのアプリです。各プランにはアプリがあります。 |
PLANVORTEX_CLIENT_SECRET | はい | アプリのシークレットです。ツールの引数として渡されることはありません。 |
PLANVORTEX_ORGANIZATION_ID | いいえ | デフォルトの組織です。会話ごとの組織検出の呼び出しを省けます。 |
PLANVORTEX_BASE_URL | いいえ | 別の PlanVortex デプロイ先を指定します。 |
PLANVORTEX_MCP_UPLOAD_DIRS | いいえ | upload_media が読み取れるディレクトリです。空の場合はありません。 |
PLANVORTEX_MCP_AUTH_TOKEN | --http をループバック以外で使用する場合 | HTTP エンドポイントで必要となるベアラートークンです。 |
PLANVORTEX_MCP_READ_ONLY | いいえ | 1 を設定すると、9 つの書き込みツールが削除されます。 |
PLANVORTEX_MCP_ALLOW_AI | いいえ | 1 を設定すると、AI クレジットを消費する create_ai_plan が追加されます。 |
PLANVORTEX_MCP_LOG_LEVEL | いいえ | debug、info、warn、error、silent。常に stderr に出力されます。 |
メディアのアップロード
stdio ではサーバーがご利用のマシン上で動作するため、upload_media はローカルの絶対パスを受け付けます。ただし、デフォルトでは空の PLANVORTEX_MCP_UPLOAD_DIRS に含まれるパスに限ります。実際にアクセスを許可するフォルダーを設定してください。
PLANVORTEX_MCP_UPLOAD_DIRS=/Users/you/Pictures,/Users/you/Downloads
任意のパスを読み取ることは、プロンプトインジェクションで要求される内容そのものなので、許可リストを無効にする方法はありません。--http モードでは、ローカルパスは一律で拒否されます。パスはご利用のマシンではなく、サーバー上のものになるためです。代わりに、一般公開されている https URL を指定してください。
組織の選択
PlanVortex のほとんどの機能は組織に紐付いています。サーバーは次の 3 段階で組織を解決します。モデルから渡された場合は id_organization 引数、次に PLANVORTEX_ORGANIZATION_ID、最後に、アプリから到達できる組織が 1 つだけの場合に限り、その組織を使用します。複数の組織に到達でき、どの組織かを特定する情報がない場合、ツールは単にエラーを返すのではなく、モデルが正しく再試行できるように組織名と ID の一覧を返します。
開発
npm install
npm test # layers 1 and 2: no network, no credentials
npm run build
npm run inspector # MCP Inspector against the built server
公式 Node クライアントである planvortex を基盤にしています。このサーバーは独自の HTTP 通信を行いません。すべての呼び出しはライブラリを経由します。エラーカタログ、トークンキャッシュ、マルチパートアップロード、ページネーションは、すでにライブラリに実装されています。
ガイド
planvortex.com に詳しい記事があります。
- MCP サーバーを使って AI アシスタントからソーシャルメディアに投稿する:各クライアントでのセットアップ方法と、何もインストールせずに Claude に接続する方法
- LinkedIn MCP サーバー:公式 API 経由で Claude から投稿する
- エージェント型ワークフロー向けソーシャルメディア API:選択を左右する 4 つの要素
- 自分の写真を使った AI ソーシャル投稿
- すべての記事
リンク
MIT © Talia Softworks
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。