Postfast について
Postfastは、AIクライアントからSNS投稿やコメントを管理するMCPサーバーです。11のプラットフォームに対応し、ホスト型OAuth接続またはAPIキーを使ったローカル実行を選べます。
主な機能
- 01投稿の予約と管理
- 0211のSNSへの投稿
- 03メディアと文書のアップロード
- 04投稿分析とフォロワー履歴の確認
- 05コメント受信箱と返信の管理
活用シーン
- 01複数のSNSアカウントへの投稿予約
- 02投稿の成果とフォロワー変化の確認
- 03投稿コメントの確認と返信
MCP 対応
MCPクライアント向けに、PostFastのアカウント、投稿、メディア、分析、ソーシャル受信箱の操作をツールとして提供します。ホスト型OAuthエンドポイントまたはAPIキーによるローカル実行で利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
13掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| from | string | いいえ | 開始日のフィルター(ISO 8601、例:2025-01-01T00:00:00.000Z) |
| ids | array | いいえ | これらの投稿 ID のみを取得します(ワークスペース内に限定、最大 100 件) |
| limit | integer | いいえ | ページあたりの投稿数(最大 50 件) |
| page | integer | いいえ | ページ番号(0 始まり) |
| platforms | array | いいえ | プラットフォームで絞り込む |
| statuses | array | いいえ | 投稿ステータスで絞り込む |
| to | string | いいえ | 終了日のフィルター(ISO 8601、例:2025-01-31T23:59:59.999Z) |
詳細
PostFast MCP サーバー
PostFast API 用の MCP サーバーです。Claude、Cursor、VS Code などの AI ツールから、ソーシャルメディアの投稿を予約・管理できます。
ホステッドコネクター(インストール不要)
ローカルで何も実行せずに使いたいですか?ホステッドエンドポイントに接続し、OAuth で認証できます。npx も、管理が必要な API キーも不要です。
https://mcp.postfa.st/mcp
OAuth に対応した任意のクライアント(ChatGPT、Claude など)で、リモート/ストリーマブル HTTP MCP サーバーとして追加してください。初回使用時に PostFast へのサインインとアクセスの許可を求められます。
代わりにサーバーを自分で実行しますか?以下のクイックスタートで、npx と API キーを使ってセットアップしてください。
クイックスタート
1. API キーを取得する
PostFast にログインし、サイドバーの API を開いて、キーを生成してください。
2. インストールする
お好みの方法を選択してください。
Claude Desktop(推奨)
Claude Desktop 拡張機能ディレクトリから拡張機能をダウンロードするか、手動でインストールしてください。
claude_desktop_config.jsonに追加します。
{
"mcpServers": {
"postfast": {
"command": "npx",
"args": ["-y", "postfast-mcp"],
"env": {
"POSTFAST_API_KEY": "your-api-key-here"
}
}
}
}
- Claude Desktop を再起動します。
Claude Code
プラグイン経由:
すでに PostFast を手動で追加している場合は、プラグインをインストールする前にそのエントリーを削除してください。削除しないと、Claude Code に PostFast ツールが 2 セット表示されます。
/plugin marketplace add peturgeorgievv-factory/postfast-mcp
/plugin install postfast@postfast-mcp
インストール後、次のいずれかの方法で API キーを設定してください。
# Option A: Add to your shell profile (~/.zshrc or ~/.bashrc)
export POSTFAST_API_KEY="your-api-key-here"
# Option B: Add to ~/.claude/settings.json
# { "env": { "POSTFAST_API_KEY": "your-api-key-here" } }
その後、Claude Code を再起動します。
手動設定:
プロジェクトの .mcp.json に追加します。
{
"mcpServers": {
"postfast": {
"type": "stdio",
"command": "npx",
"args": ["-y", "postfast-mcp"],
"env": {
"POSTFAST_API_KEY": "your-api-key-here"
}
}
}
}
または、すべてのプロジェクトで使えるように追加します。
claude mcp add --scope user postfast --env POSTFAST_API_KEY=your-api-key-here -- npx -y postfast-mcp
Cursor
このリポジトリは Cursor プラグインとしても利用できます。投稿予約用とコメント受信トレイ用の 2 つのスキルと、PostFast MCP サーバーが含まれています。
インストールするには、Cursor で Customize を開き、マーケットプレイスで PostFast を検索して Install を選択し、Cursor から求められたら API キーを貼り付けてください。Cursor はそのキーを使ってサーバーを起動するため、ほかに設定する必要はありません。PostFast がまだマーケットプレイスに表示されない場合は、以下の設定を使ってサーバーを手動で追加してください。
Cursor/VS Code/Windsurf/その他の MCP クライアント
MCP の設定(.mcp.json、mcp.json、またはツールの設定 UI)に追加します。
{
"mcpServers": {
"postfast": {
"type": "stdio",
"command": "npx",
"args": ["-y", "postfast-mcp"],
"env": {
"POSTFAST_API_KEY": "your-api-key-here"
}
}
}
}
3. 使用する
AI アシスタントに、次のように頼んでみましょう。
- 「接続しているソーシャルアカウントを一覧表示して」
- 「明日の午前 9 時に Instagram の投稿を予約して」
- 「今週の予約済み投稿をすべて表示して」
- 「この画像をアップロードして、それを使った LinkedIn の投稿を作成して」
- 「この動画を使って Facebook リールを作成して」
- 「今月の Instagram 投稿の分析データを表示して」
利用可能なツール
| ツール | 説明 |
|---|---|
list_accounts | 接続済みのソーシャルメディアアカウントを一覧表示します(各アカウントの connectionStatus — CONNECTED/DISABLED —、disabledReason、followerCount/followerCountUpdatedAt、inboxCapable を含みます) |
list_posts | フィルター(特定の ID、アカウント、プラットフォーム、ステータス、日付範囲)を指定して投稿を一覧表示します。各投稿の主な設定は controls に含まれます(Threads のトピック、Instagram/Facebook の形式、TikTok の下書きフラグ、YouTube のプライバシー設定) |
create_posts | 投稿を作成し、スケジュール設定します(一括で最大 15 件) |
delete_post | ID を指定して PostFast から投稿を削除します(プラットフォームで公開済みの投稿は削除されません) |
delete_posts | 1 回の呼び出しで最大 100 件の投稿を PostFast から削除します。deletedIds と notFoundIds を返します(プラットフォームで公開済みの投稿は削除されません) |
upload_media | ローカルファイルをアップロードし、メディアキーを取得します(処理全体を実行します) |
get_upload_urls | メディアファイルをアップロードするための署名付き URL を取得します |
list_pinterest_boards | アカウントの Pinterest ボードを取得します |
list_youtube_playlists | アカウントの YouTube 再生リストを取得します |
list_gbp_locations | アカウントの Google Business Profile のロケーションを取得します |
search_places | 投稿にタグ付けする場所を検索します(id は facebookPlaceId と instagramLocationId の両方に使用できます) |
generate_connect_link | クライアントがアカウントを接続するためのリンクを生成します。特定のプラットフォームに任意で限定でき、ユーザーの戻り先となる redirectUrl を指定できます(status、platform、accountId、独自の externalId を含み、Facebook または LinkedIn のページ選択後は accountIds も含まれます) |
get_post_analytics | 公開済み投稿のパフォーマンス指標を取得します — Instagram、Facebook、TikTok、Threads、YouTube、LinkedIn(会社ページ)、Pinterest(ビジネスアカウント) |
get_follower_history | アカウントの日別フォロワー数履歴を取得します(日付範囲内の現在の数と delta)— Facebook Pages、Instagram、YouTube、Pinterest、Threads、Bluesky、Telegram、LinkedIn(会社ページ)、TikTok |
list_tiktok_sounds | TikTok アカウント向けの、トレンドの事前承認済み Commercial Music Library トラックを取得します(controls.tiktokMusicSoundId で添付) |
ソーシャル受信箱(コメント)
TikTok、Instagram、Facebook Pages、Threads の投稿へのコメントを 1 つの受信箱で管理できます(アカウントの inboxCapable フラグで、現在利用可能な機能を確認できます)。対象はコメントのみ(ダイレクトメッセージは対象外)で、接続後のコメントが対象です(過去の履歴は遡って取得されません)。返信機能は会話ごとにサーバー側で常に計算されます(canReply、maxReplyLength、windowState、disabledReason)。プラットフォームに関する推測ではなく、これらのフィールドに基づいて表示してください。
| ツール | 説明 |
|---|---|
list_inbox_conversations | コメントの会話を一覧表示します(フィルター:プラットフォーム、アカウント、ステータス、未読のみ、担当者) |
get_inbox_conversation | 返信機能を示すフィールドとともに、1 件の会話を取得します |
list_inbox_items | 会話のコメントと返信を一覧表示します(state と、Instagram の場合は canPrivateReply を含みます) |
get_inbox_unread_count | ワークスペース全体の未読コメント数を取得します |
reply_to_inbox_item | 特定のコメントに公開返信します |
send_inbox_private_reply | Instagram 専用:コメントごとに 1 回、7 日以内に非公開で返信します |
set_inbox_item_state | プラットフォーム上のコメントを HIDE/UNHIDE/DELETE します(DELETE は取り消せません) |
mark_inbox_conversation_read | 会話の未読数を 0 にします |
set_inbox_conversation_status | トリアージ:OPEN/SNOOZED/CLOSED |
assign_inbox_conversation | 会話をワークスペースのメンバーに割り当てます(または割り当てを解除します) |
対応プラットフォーム
Facebook、Instagram、X(Twitter)、TikTok、LinkedIn、YouTube、BlueSky、Threads、Pinterest、Telegram、Google Business Profile
プラットフォーム固有の設定
投稿を作成する際は、controls パラメーターを使ってプラットフォーム固有の設定を渡せます。
| プラットフォーム | 設定 |
|---|---|
| X (Twitter) | xRetweetUrl |
instagramPublishType(TIMELINE/STORY/REEL)、instagramTrialReelStrategy(MANUAL/SS_PERFORMANCE — フォロワー以外に表示されるトライアルリール。リールのみ、コラボレーターなし)、instagramPostToGrid、instagramCollaborators、instagramLocationId/instagramLocationName(search_places で取得した位置情報タグ)、instagramIsAiGenerated(「AI情報」ラベルを追加。作成時のみ設定可能) | |
facebookContentType(POST/REEL/STORY)、facebookAllowComments、facebookPrivacy、facebookCarouselMainLink、facebookCarouselShowEndCard、facebookReelsCollaborators、facebookTargetCountries(ISO alpha-2、最大25か国)、facebookPlaceId/facebookPlaceName(search_places で取得した位置情報タグ) | |
| TikTok | tiktokTitle(写真投稿、最大90文字)、tiktokMusicSoundId/tiktokMusicSoundName(list_tiktok_sounds で取得した商用ミュージックライブラリのサウンド。写真、カルーセル、動画の投稿で使用可能。動画では元の音声を50%の音量で再生し、その上に50%の音量で再生。tiktokAutoAddMusic とは併用不可)、tiktokIsDraft、tiktokAllowComments、tiktokAllowDuet、tiktokAllowStitch、tiktokBrandOrganic、tiktokBrandContent、tiktokAutoAddMusic(写真/カルーセル投稿)、tiktokIsAigc、tiktokPrivacy(非推奨 — アカウントのデフォルト設定が適用されます) |
| YouTube | youtubeTitle、youtubePrivacy(PUBLIC/PRIVATE/UNLISTED)、youtubeTags、youtubeCategoryId、youtubeIsShort、youtubeMadeForKids、youtubeContainsSyntheticMedia(改変/合成コンテンツの開示。作成時のみ設定可能)、youtubePlaylistId、youtubeThumbnailKey、youtubeLanguage(en-GB や pt-BR などのBCP-47コード。動画の言語とタイトル・説明の言語を設定)、youtubeCaptionKey(アップロード済みの .srt/.vtt ファイル。youtubeLanguage で動画の字幕トラックとして追加されます。youtubeLanguage の指定が必要です) |
pinterestBoardId(必須)、pinterestLink | |
linkedinAttachmentKey(アップロード済みのPDF、Word、PowerPointファイル。最大60MB。投稿内にスワイプして閲覧するページとして表示されます。同じ投稿に画像や動画がある場合は使用できません)、linkedinAttachmentTitle(ドキュメントのタイトル。省略した場合は「ドキュメント」) | |
| Threads | threadsTopicTag(投稿のトピック。複数ではなく1つのトピックを指定。1〜50文字で、. または & は使用不可。コンテンツ内の #ハッシュタグより優先され、ハッシュタグはそのままプレーンテキストになります。すべての設定と同様に、呼び出し内のすべての投稿に適用されるため、トピックごとに呼び出しを分けてください) |
| Google Business Profile | gbpLocationId(必須)、gbpTopicType(STANDARD/EVENT/OFFER)、gbpCallToActionType、gbpCallToActionUrl、gbpEventTitle、gbpEventStartDate、gbpEventEndDate、gbpOfferCouponCode、gbpOfferRedeemUrl、gbpOfferTerms |
メディアのアップロード
upload_media ツールは、次の一連の処理を1回の呼び出しで実行します。
- ファイル拡張子からコンテンツの種類を検出します
- PostFast から署名付きアップロード URL を取得します
- ファイルをアップロードします
create_postsですぐに使用できるkeyとtypeを返します
対応形式:JPEG、PNG、GIF、WebP、MP4、WebM、MOV。YouTube 用の SRT および VTT 字幕ファイルと、LinkedIn 用の PDF、DOC、DOCX、PPT、PPTX ドキュメントにも対応しています。字幕ファイルは CAPTION 型で返されます。キーは controls.youtubeCaptionKey に渡し、mediaItems には指定しないでください。ドキュメントは DOCUMENT 型で返されます。キーは controls.linkedinAttachmentKey に渡し、mediaItems には指定しないでください。
アップロード処理をより細かく制御する必要がある場合は、get_upload_urls を直接使用することもできます。
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
POSTFAST_API_KEY | はい | ワークスペースの API キー |
POSTFAST_API_URL | いいえ | API のベース URL(デフォルト:https://api.postfa.st) |
テスト
MCP Inspector で動作を確認してください。
POSTFAST_API_KEY=your-key npx @modelcontextprotocol/inspector npx postfast-mcp
API ドキュメント
REST API の完全なドキュメント:postfa.st/docs
開発
npm install
npm run build
node dist/stdio/index.js
ツールはsrc/core(カタログ — スキーマ、説明、注釈、バインディングごとの利用可否)で一度だけ作成し、postfast-mcp/coreとして利用者に公開します。src/stdioはカタログを公開REST APIにバインドします。
リリース:PRで.changeset/*.mdを追加します。npm run versionで変更内容をバージョンアップと変更履歴に反映し、vX.Y.Zタグをプッシュすると、CIからnpm、MCP Registry、MCPBリリースが公開されます(OIDCを使用 — トークンは一切不要です)。
バッジ
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。