mcpField
P
PostPulse

PostPulse

リモート
github.com/PostPulseメディア・デザイン11 日前に更新
リポジトリ

PostPulse について

PostPulseは、PostPulseプラットフォームを通じてソーシャルアカウントや投稿を管理するMCPサーバーです。10のソーシャルプラットフォームへの投稿予約、メディアのアップロード、アカウント接続、投稿状況と指標の取得に対応します。

主な機能

  1. 0110プラットフォームへの投稿予約
  2. 02URLまたはデータによる画像・動画のアップロード
  3. 03ソーシャルアカウントの一覧表示と接続
  4. 04投稿状況、リンク、指標の取得
  5. 05OAuth 2.0認証

活用シーン

  1. 01接続済みアカウントへの投稿予約
  2. 02予定投稿用メディアのアップロード
  3. 03再認証が必要なアカウントの再接続
  4. 04公開結果と投稿指標の確認

MCP 対応

ホスト型またはセルフホスト型サーバーを介してMCPクライアントをPostPulseに接続します。アカウント管理、メディアアップロード、投稿予約、投稿取得のツールとアカウントリソースを公開し、OAuth 2.0で認証します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.post-pulse.com
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

PostPulse MCP サーバー

smithery badge

AI アシスタントをソーシャルメディア管理プラットフォームの PostPulse に接続する MCP(Model Context Protocol)サーバーです。Instagram、Facebook、YouTube、TikTok、Threads、LinkedIn、Pinterest、X(Twitter)、Bluesky、Telegram で、自然言語を使って投稿の予約、メディアのアップロード、アカウントの管理ができます。

機能

  • 複数プラットフォームへの投稿 — 1 つのインターフェースから、10 のソーシャルメディアプラットフォームへの投稿を予約できます
  • メディア管理 — URL またはバイナリデータで画像や動画をアップロードし、投稿に利用できます
  • アカウント管理 — 接続済みのソーシャルメディアアカウントをすべて一覧表示して管理できます
  • 投稿の確認 — 期間を指定して投稿を一覧表示し、各投稿のプラットフォームごとのステータス、公開リンク、エラー、指標を確認できます
  • チャットからソーシャルアカウントを接続 — PostPulse アプリを開かずに、アカウントの接続や再接続に使える安全なリンクを取得できます
  • OAuth 2.0 認証 — Auth0 ベースのトークン検証による安全なアクセス
  • ストリーミング可能な HTTP トランスポート — 信頼性の高い通信を実現する最新の MCP トランスポートプロトコル

対応プラットフォーム

プラットフォーム掲載先コンテンツタイプ要件
Instagramフィード、リール、ストーリーズ画像、動画ビジネスアカウント
Facebookフィード、リール、ストーリーズ画像、動画ページ
YouTube動画、ショート動画チャンネル
TikTok動画、カルーセル画像、動画アカウント
Threads投稿画像、動画アカウント
LinkedIn投稿画像、動画個人アカウント
Pinterestピン画像、動画、カルーセル(2~5 枚の画像)ボード
X (Twitter)投稿画像、動画アカウント
Bluesky投稿画像アカウント
Telegramメッセージテキスト、画像、動画チャンネル/チャット

クイックスタート

ホステッドサーバー(推奨)

PostPulse はホステッド MCP サーバー https://mcp.post-pulse.com を運用しているため、セットアップは不要です。MCP クライアントの接続先にこの URL を指定し、OAuth で認証してください。

MCP クライアントの設定例:

{
  "mcpServers": {
    "postpulse": {
      "url": "https://mcp.post-pulse.com"
    }
  }
}
Smithery 経由でインストール

Smithery 経由でもインストールできます。

npx -y @smithery/cli install post-pulse/mcp-server --client claude
セルフホスト

サーバーを自分で実行する場合:

  1. リポジトリをクローンします:
git clone https://github.com/PostPulse/mcp-server-postpulse.git
cd mcp-server-postpulse
  1. 依存関係をインストールしてビルドします:
npm install
npm run build
  1. サーバーを起動します:
npm start

または、Docker を使います:

docker build -t mcp-server-postpulse .
docker run -p 3000:3000 mcp-server-postpulse
環境変数
変数デフォルト値説明
HOST0.0.0.0サーバーのバインドアドレス
PORT3000サーバーのポート
PUBLIC_URL—外部公開 URL(OAuth メタデータの検出用)
POSTPULSE_AUTH_ISSUERhttps://auth.post-pulse.com/Auth0 発行者 URL
POSTPULSE_AUTH_US_JWKS_URIhttps://dev-yb150m5gz2ss41sl.us.auth0.com/.well-known/jwks.json米国 Auth0 テナントの JWKS。空にすると米国のキーセットが無効になります
POSTPULSE_AUTH_US_ISSUERSPOSTPULSE_AUTH_ISSUER の値米国のキーで信頼する発行者(カンマ区切り)
POSTPULSE_AUTH_EU_JWKS_URI—EU Auth0 テナントの JWKS。空にすると EU のキーセットが無効になります
POSTPULSE_AUTH_EU_ISSUERS—EU のキーで信頼する発行者(カンマ区切り)
POSTPULSE_AUDIENCEhttps://api.post-pulse.comAPI オーディエンス
POSTPULSE_API_URLhttps://api.post-pulse.comPostPulse API のベース URL
REDIS_URL—セッション/イベントの永続化に使う Redis 接続 URL(必須)

ツール

list_accounts

接続済みのすべてのソーシャルメディアアカウントについて、ID、プラットフォーム、ユーザー名、表示名を一覧表示します。投稿のスケジュール設定やチャットへのアクセスを行う前に、利用可能なアカウントを確認するための最初のステップとして使用してください。

パラメーター: なし

戻り値: アカウントオブジェクトの JSON 配列(id、platform、username、name、needsReauthorization)。新規ユーザーにはアカウントがまだありません。結果は [] と、connect_account を使うよう案内するヒントです。needsReauthorization: true のアカウントは、投稿の前に connect_account で再接続する必要があります。該当するアカウントは、結果の2つ目のテキストブロックに表示されます。

connect_account

チャットから直接、ソーシャルメディアアカウントを PostPulse に接続(または再接続)するための安全なリンクを取得します。ユーザーがリンクを任意のブラウザーで開くと、接続先となる PostPulse アカウント(メールアドレスは一部マスキング表示)を示す PostPulse のページが表示されます。Continue をクリックしてプラットフォームでアクセスを許可すると、ページに「アカウントが接続されました — チャットに戻ってください」と表示されます。このツールは完了を待ちません。ユーザーが完了したと伝えたら、list_accounts を呼び出してアカウントを確認してください。

パラメーター:

名前型必須説明
platformstring2つのうちいずれかINSTAGRAM、FACEBOOK、YOUTUBE、TIKTOK、THREADS、LINKEDIN、X_TWITTER、BLUE_SKY、TELEGRAM、PINTEREST
accountIdnumber2つのうちいずれか既存のアカウントを再接続します(list_accounts で取得。通常は needsReauthorization: true のアカウント)。プラットフォームはアカウントから取得されます

動作:

  • 新規接続の場合、ツールはまずユーザーがアカウントを追加できるか(プランまたはクレジット)を確認します。追加できない場合は、その理由と請求ページへのリンクを返します。
  • リンクは1回のみ使用でき、ユーザーの PostPulse アカウントに紐付けられ、24時間有効です。プラットフォームでの同意手続きが始まるのは、ユーザーがページで Continue をクリックしたときです。リンクを共有してはいけません。手続きを完了した人のソーシャルメディアアカウントが、この PostPulse アカウントに紐付けられます。
  • 短時間にリンクが多くリクエストされると、数分待ってから再試行するよう求められます。
  • Telegram はリンクで接続できません。代わりに https://post-pulse.com/app/accounts で接続する手順を返します。
  • 新しい Facebook 接続では、選択した Page ごとに FACEBOOK_PAGE アカウントが1つ作成されます。このアカウントには list_chats を使わず、直接投稿してください。TELEGRAM と再接続した FACEBOOK アカウントでは、その後 list_chats を呼び出してチャンネルまたは Page を選択してください。
  • URL モードの入力要求に対応したクライアントでは、ネイティブの「このリンクを開く」ダイアログも表示されます。リンクは常にテキストの結果にも含まれます。
  • ブラウザー内で発生するエラー(アカウント上限、別の PostPulse ユーザーがすでに使用しているアカウント、リンクの有効期限切れ)はツールから返されず、ページに表示されます。
list_chats

サブ宛先があるアカウントの投稿先を一覧表示します。Facebook アカウントの投稿先は Pages、Telegram アカウントの投稿先は チャンネルまたはチャット、Pinterest アカウントの投稿先は ボードです。これらのプラットフォームへの投稿をスケジュール設定する前に呼び出してください。返された id は、schedule_post の facebookPageId、telegramChannelId、または pinterestBoardId として使用します。

対応するアカウントは、プラットフォームが FACEBOOK、TELEGRAM、または PINTEREST のものに限られます。FACEBOOK_PAGE(1つの Page を表すアカウント)を含むその他のプラットフォームにはサブ宛先がないため、直接投稿してください。

パラメーター:

名前型必須説明
accountIdnumberはいlist_accounts から取得したアカウント ID

戻り値: 宛先オブジェクトの JSON 配列(id、title、type、platform)。

upload_media

予約投稿で使用するメディアファイル(画像、動画)をアップロードします。公開 URL からインポートする(自動処理あり)方法と、バイナリデータを base64 として直接アップロードする方法の 2 つに対応しています。schedule_post で参照するメディアキーを返します。

パラメーター:

名前型必須説明
mediaUrlstringいいえインポートするメディアファイルの公開 URL
mediaDatastringいいえbase64 でエンコードされたメディアファイルの内容
mediaTypestringいいえMIME タイプ(例:image/jpeg、video/mp4)。mediaData を使用する場合は必須です
mediaNamestringいいえアップロードするメディアのファイル名

mediaUrl、または mediaData と mediaType の両方を指定する必要があります。

schedule_post

接続済みの 1 つ以上のアカウントにソーシャルメディア投稿を予約します。投稿タイプ(フィード、リール、ストーリー)、動画タイトル、トピックタグなど、プラットフォーム固有のオプションに対応しています。投稿は ISO-8601 タイムスタンプで指定した未来の時刻に予約されます。

パラメーター:

名前型必須説明
accountIdnumberはいlist_accounts で取得したアカウント ID
platformstringはい対象プラットフォーム:INSTAGRAM、FACEBOOK、TELEGRAM、YOUTUBE、TIKTOK、THREADS、LINKEDIN、PINTEREST、X_TWITTER、BLUE_SKY
contentstringいいえ投稿テキスト/キャプション
mediaPathsstring[]いいえupload_media が返すメディアキー
scheduledTimestringはいISO-8601 タイムスタンプ(例:2025-01-15T10:00:00Z)
facebookPageIdstringはい(Facebook)list_chats で取得した Facebook ページ ID。プラットフォームが FACEBOOK の場合は必須です
telegramChannelIdstringはい(Telegram)list_chats で取得した Telegram チャンネル/チャット ID。プラットフォームが TELEGRAM の場合は必須です
pinterestBoardIdstringはい(Pinterest)list_chats で取得した Pinterest ボード ID。プラットフォームが PINTEREST の場合は必須です
publicationTypestringいいえFEED、REELS、または STORY(Instagram/Facebook。デフォルトは FEED)
titlestringいいえ動画タイトル(YouTube、TikTok)または Pin のタイトル(Pinterest、最大 100 文字)
topicTagstringいいえトピックタグ(Threads)
linkstringいいえPin をクリックしたときに開くリンク先 URL(Pinterest)
altTextstringいいえPin 画像の代替テキスト(Pinterest)
boardSectionIdstringいいえボード内のセクション(Pinterest)
list_posts

指定した期間内に予約または公開された投稿を、予約時刻の古い順に一覧表示します。表示内容は、ID、全体のステータス、予約時刻、プラットフォーム、テキストです。この API はページネーションに対応していないため、1 回の呼び出しで対象にできる期間は最大 93 日です。それより長い期間は複数回に分けて呼び出してください。予約時刻が設定されていない下書きは一覧に表示されません。

パラメーター:

名前型必須説明
fromDatestringはいISO-8601 の日付(2026-10-01、その UTC 日の開始時点)またはタイムスタンプ
toDatestringはいISO-8601 の日付(2026-10-31、その UTC 日の終了時点)またはタイムスタンプ
platformstringいいえこのプラットフォームへの投稿のみを対象にします。プラットフォーム名は list_accounts が返す値を指定します
statusstringいいえDRAFT、SCHEDULED、AWAITING_MEDIA、MEDIA_IMPORT_FAILED、IN_PROGRESS、COMPLETED、FAILED、または PARTIALLY_COMPLETED
get_post

各アカウントにおける1件の投稿の結果を取得します。内容は、プラットフォーム、ステータス、公開済み投稿への公開リンク(url)、プラットフォームの投稿 ID、エラーメッセージ、テキスト、添付メディア(ファイル名と種類)、および PostPulse が取得している最新の指標です。

  • すべてのプラットフォームに共通する impressions、engagements、likes、shares、comments、profileClicks。プラットフォームが報告しない指標は null です。
  • lastUpdatedTime。
  • platformAnalytics:プラットフォーム独自の投稿分析データです。view_count(TikTok)や views、quotes(Threads)のように、プラットフォームのフィールド名で返されます。フィールドはプラットフォームと投稿の種類によって異なるため、固定の項目があるとは限りません。プラットフォームから報告されない場合は null です。

公開済み投稿の指標は、呼び出しごとにプラットフォームから更新されます。

パラメーター:

名前型必須説明
postIdnumberはいlist_posts または schedule_post で取得した投稿 ID

リソース

postpulse://accounts

接続済みのすべてのソーシャルメディアアカウントの一覧を提供する MCP リソースです。needsReauthorization を含む、list_accounts ツールと同じデータを JSON 形式で返します。

認証

このサーバーは Auth0 を使用した OAuth 2.0 を採用しています。OAuth メタデータは /.well-known/oauth-protected-resource および /.well-known/oauth-authorization-server から取得できます。

既存の PostPulse アカウントは必要ありません。MCP クライアントからサインインすると(Google またはパスワードレスのメールコードを使用)、初回利用時に PostPulse アカウントが作成されます。その後、ユーザーは connect_account でソーシャルアカウントを接続します。

動的クライアント登録(DCR)

OAuth に対応した MCP クライアントは、動的クライアント登録(RFC 7591)を使って自動的に登録できます。サーバーは OAuth メタデータで registration_endpoint を公開するため、準拠しているクライアント(Claude Desktop、Cursor など)は、ユーザーが手動で設定しなくても、登録、認証、トークン交換を含む OAuth フロー全体を処理します。

登録済みクライアントの認証情報

PostPulse Developer Portal から作成したクライアント認証情報をすでにお持ちの場合は、DCR を使わず、それらを直接使用するように MCP クライアントを設定できます。PostPulse 認可サーバーに対する OAuth 認可コードフローで、client_id と client_secret を渡してください。

HTTP エンドポイント

パス用途
POST /、POST /sseMCP Streamable HTTP トランスポート(初期化とメッセージ)。Bearer トークンが必要です
Mcp-Session-Id を指定した GET /、GET /sse既存セッションの SSE ストリーム
Accept: text/html を指定した GET /、GET /sseブラウザーとクローラー向けの簡易ランディングページ(セットアップガイドと API ドキュメントへのリンク)。セッションがない状態でそれ以外の Accept を指定した場合は、400 が返されます
GET /healthヘルスチェック(ok)
GET /robots.txtUser-agent: * / Disallow: / — このホストはウェブサイトではありません
GET /.well-known/*OAuth メタデータと Smithery サーバーカード
その他すべて404({"error":"Not found"} または HTML クライアント向けのプレーンテキスト)

すべてのレスポンスには X-Robots-Tag: noindex, nofollow が含まれるため、検索エンジンにこのホストがインデックスされることはありません。

ワークフローの例

PostPulse MCP サーバーでの一般的なやり取り:

  1. 接続済みのソーシャルメディアプロフィールを探すため、アカウントを一覧表示します
  2. プラットフォームが見つからない場合は、connect_account でアカウントを接続します
  3. 画像や動画を準備するため、(任意で)メディアをアップロードします
  4. コンテンツ、メディア、将来の公開時刻を指定して、投稿を予約します
User: "Schedule an Instagram reel for tomorrow at 9am with the video at https://example.com/video.mp4 and caption 'Check this out!'"
初回実行(新規ユーザー)
User:      "Post 'Hello LinkedIn!' to my LinkedIn tomorrow at 10:00 UTC"
Assistant: list_accounts → [] ("No social accounts are connected yet")
           connect_account(platform: LINKEDIN) → link
           "Open this link, check the PostPulse account on the page, approve access on LinkedIn, then tell me when you are done."
User:      "Done"
Assistant: list_accounts → [{ id: 123, platform: LINKEDIN, ... }]
           schedule_post(accountId: 123, platform: LINKEDIN, content: "Hello LinkedIn!", scheduledTime: ...)

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。