postking-mcp について
postking-mcpは、ブランドコンテンツと公開業務を管理するチーム向けのPostKing公式MCPサーバーです。SNS投稿、ブログ、SEO/GEOワークフロー、アカウント操作を扱い、postking-cliと同等の機能を提供します。
主な機能
- 01ブランドとボイスプロファイルの管理
- 02SNS投稿の生成と予約
- 03URLや既存コンテンツの再利用
- 04ブログ記事の作成と公開
- 05SEO/GEOリサーチの実行
- 06公開接続とアセットの管理
活用シーン
- 01ブランドのSNS投稿を計画・予約
- 02記事URLをSNSコンテンツに転用
- 03SEOを意識したブログ記事の作成・公開
- 04コンテンツ業務全体でブランド情報を管理
MCP 対応
ローカルstdioとリモートHTTPのトランスポートで、PostKingのコンテンツ・アカウント操作ツールをMCPクライアントに公開します。ローカル認証はデバイスログイン方式、リモートHTTPはOAuth bearer token認証です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.postking.app/mcpclaude mcp add --transport http bitsandtea-postking https://mcp.postking.app/mcp{"mcpServers":{"bitsandtea-postking":{"type":"http","url":"https://mcp.postking.app/mcp"}}}Cursor で開く{"servers":{"bitsandtea-postking":{"type":"http","url":"https://mcp.postking.app/mcp"}}}VS Code で開く{"mcpServers":{"bitsandtea-postking":{"type":"http","url":"https://mcp.postking.app/mcp"}}}{"mcpServers":{"bitsandtea-postking":{"serverUrl":"https://mcp.postking.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
PostKing MCP Server
PostKing の公式 Model Context Protocol サーバーです。PostKing は、ソーシャルメディアへの投稿スケジュール管理、ブログ公開、ブランド管理を行う AI 搭載のコンテンツプラットフォームです。
Claude(Desktop、Cursor、または任意の MCP クライアント)を PostKing アカウントに接続し、会話を通じてコンテンツ運用全体を管理できます。投稿の生成とスケジュール設定、URL のソーシャルコンテンツへの再利用、ブログ記事の執筆と公開、ランディングページやサブページの生成、SEO/GEO の調査と原稿作成、アセットライブラリと週間投稿スケジュールの管理、ドメインと API キーの管理などが可能です。
このサーバーは、postking-cli と完全に同等の 33 モジュールにわたる 291 個のツールを公開します。
トランスポートに関する注意: リモート HTTP トランスポート(
mcp.postking.app)を含め、両方のトランスポートに 291 個すべてのツールが登録されます。4 つの認証ツール(login_start、login_complete、logout、whoami)もリモート HTTP トランスポートに登録されます。ただし、このトランスポートではツール呼び出しの前にすでに認証されているため、デバイスコードフローを実行するのではなく、OAuth ベアラートークン方式について説明します。
クイックスタート
Claude Desktop
方法 A — GUI を使用:
- Claude Desktop を開き、Settings(歯車アイコン)→ Developer → Edit Config を選択します
- 既定のエディターで
claude_desktop_config.jsonが開きます - 以下を貼り付けて保存します:
{
"mcpServers": {
"postking": {
"command": "npx",
"args": ["-y", "postking-mcp"]
}
}
}
- Claude Desktop を再起動します
方法 B — 設定ファイルを直接編集:
テキストエディターで ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を開き、上記と同じ JSON を貼り付けて保存します。
再起動したら、Claude に 「Login to PostKing」 と伝えます。
Claude Code(CLI)
claude mcp add postking -- npx -y postking-mcp
Hermes
npm i -g postking-mcp
hermes mcp add postking --command postking-mcp
続いて Hermes で 「Login to PostKing」 と伝えます。
Cursor/その他の MCP クライアント
クライアントの MCP サーバー設定で、同じ npx -y postking-mcp コマンドを使用します。
ログインフロー
API キーをコピーする必要はありません。PostKing はデバイスログインフローを使用します。
- Claude に 「Login to PostKing」 と伝えます
- Claude が
login_startを呼び出し、URL と短いコードを表示します - ブラウザーで URL にアクセスし、ログインして承認します
- Claude に 「Done」 と伝えます
- Claude が
login_completeを呼び出し、トークンを~/.postking/credentials.jsonに保存します
再度ログインする必要はありません。トークンは永続します。
できること
認証
stdio/ローカルトランスポートでのみ利用できます。リモート HTTP トランスポートでは、セッション作成前に OAuth ベアラートークンで認証します。
| ツール | 説明 |
|---|---|
login_start | デバイスログインを開始します。ブラウザーで承認するための URL とコードを取得します |
login_complete | ブラウザーでの承認後にログインを完了し、トークンを保存します |
logout | ローカルに保存された認証情報を消去します |
whoami | 現在認証されているユーザーのプロフィール(メールアドレス、プラン、クレジット残高)を返します |
ブランド
| ツール | 説明 |
|---|---|
list_brands | アカウントのすべてのブランドを一覧表示します |
set_active_brand | このセッションのデフォルトのブランドを設定します |
get_brand_info | ブランドのプロフィール(トーン、オーディエンス、テーマ)を確認します |
create_brand | ブランドを手動で作成します(手動オンボーディングのステップ1) |
onboard_brand | ウェブサイトをクロールし、ブランドプロフィールと10個のテーマを自動生成します(ウェブサイトを使ったオンボーディングのステップ1) |
set_brand_mediums | ブランドが投稿するプラットフォームの一覧を保存します(オンボーディングのステップ2) |
get_brand_mediums | ブランドが投稿するプラットフォームを確認します |
get_brand_content_language | ブランドのAI生成コンテンツが書かれる言語と、対応言語の一覧を確認します |
set_brand_content_language | 今後のすべてのコンテンツの生成言語を設定します — en、es、pt-BR、de、fr、cs |
get_onboarding_status | バックグラウンドで実行されるオーディエンス分析とテーマ生成の進捗を確認します(オンボーディングのステップ3) |
コンテンツテーマ
| ツール | 説明 |
|---|---|
list_themes | ID付きですべてのコンテンツテーマを一覧表示します |
generate_themes | AIで新しいテーマを生成します(クレジットを使用します) |
edit_theme | テーマのタイトルまたは指示を更新します |
delete_theme | テーマを削除します |
ソーシャル投稿
| ツール | 説明 |
|---|---|
generate_post | プラットフォーム向けの投稿をAIで生成します |
create_post | 手動で作成した投稿の下書きを1つ以上のプラットフォームに保存します |
list_posts | ステータスまたはプラットフォームで絞り込んだ投稿を一覧表示します |
get_post | 個別の投稿を確認します |
approve_post | 投稿の下書きを承認して予約投稿します |
schedule_post | 既存の投稿に予約時刻を設定します |
reschedule_post | 予約済みの投稿を新しい時刻に変更します |
reply_to_x_post | ブランドのアカウントからX(Twitter)の投稿に返信します(PROプラン以上) |
cancel_post | 予約済みの投稿を削除せずにキャンセルします |
delete_post | 投稿をキャンセルして削除します |
get_calendar | 今後予約されているコンテンツを確認します |
generate_bulk_posts | 指定した期間をAI生成の投稿で埋めます |
コンテンツの再利用
| ツール | 説明 |
|---|---|
repurpose_content | URL、テキスト、または既存の投稿を、新しいソーシャルコンテンツやブログコンテンツに変換します |
ボイスプロフィール
| ツール | 説明 |
|---|---|
list_voices | 利用可能なボイスプロフィールを一覧表示します |
rewrite_with_voice | 特定のボイスでテキストを書き換えます |
ソーシャルアカウント
| ツール | 説明 |
|---|---|
check_social_accounts | 接続済みおよび未接続のプラットフォームを一覧表示します |
generate_connect_link | プラットフォームを接続するための安全なOAuthリンクを取得します |
disconnect_social_account | ソーシャルアカウントの接続を解除します |
Reddit は、スケジュール投稿用の媒体ではなく、コンテンツを Reddit 向けに再利用するワークフローです。フロー:reddit_generate_pool → reddit_get_pool → reddit_suggest → reddit_rewrite → reddit_list_posts。
| ツール | 説明 |
|---|---|
reddit_get_pool | ブランドに関連するサブレディットの保存済みプールを、関連度スコア順に表示します |
reddit_generate_pool | 非同期:Reddit をクロールして、ブランドに関連するサブレディットを見つけ、スコアを付けます |
reddit_global_pool | グローバルなサブレディットデータセットの統計情報を返します(参考情報のみ) |
reddit_discover_subreddits | 同期:ユーザー指定のクエリ(自由記述の曖昧さ解消コンテキストを含む)で Reddit を検索し、登録者数順に並べ、ブランドのプールに含まれているかを示します — 1 回の呼び出しにつき 15 クレジット |
reddit_add_to_pool | 名前を指定してサブレディットをブランドのプールに追加します(Reddit から最新情報を取得し、名前ごとに成功状況を報告します) — 無料 |
reddit_remove_from_pool | 名前を指定してサブレディットをブランドのプールから削除します(ブランドの範囲内のみ。グローバルキャッシュには一切触れません) — 無料 |
reddit_suggest | 同期:特定のコンテンツに最適なサブレディットを最大 8 件提案し、それぞれに 2~3 件の投稿アングル、プロモーションモード、購入意向を示します |
reddit_rewrite | 非同期:ブログ記事または生のコンテンツを、対象のサブレディット向けのネイティブな Reddit 投稿に書き換えます |
reddit_list_posts | 保存済みの Reddit 投稿(reddit_rewrite の出力)をカーソルページネーションで一覧表示します |
ブログ
| ツール | 説明 |
|---|---|
list_blogs | 公開物と記事を一覧表示します(ステータスで絞り込み可能) |
list_publications | 公開物のみを一覧表示します |
create_publication | 新しいブログ公開物を作成します |
update_publication | 既存の公開物のタイトル、説明、ドメイン/ルーティング、またはレイアウトを更新します(一部更新) |
generate_blog_post | 音声を任意で指定して、ブログ記事全体を AI で生成します |
get_blog_article | 特集画像/ヘッダー画像(featuredImageUrl、featuredImageAlt、featuredImageDescription)を含む、記事の全文を取得します |
get_blog_status | 記事の生成/公開ステータスを確認します |
update_blog_article | タイトル、コンテンツ、SEO フィールド、著者、カテゴリ、ステータス、または特集画像/ヘッダー画像(featuredImageUrl、featuredImageAlt、featuredImageDescription)を編集します |
delete_blog_article | 記事を完全に削除します |
blog_cta_list | 記事内のすべての CTA を、アンカーデータの生データとともに個別に一覧表示します — ctaId または未使用のアンカースロットを探します |
blog_cta_add | 既存の CTA に触れずに、記事に新しい CTA を追加します |
blog_cta_update | 他の CTA に触れずに、ID を指定して 1 つの CTA(url/label/headline/body/style/anchor/sidePageId/slug)を編集します |
blog_cta_delete | 他の CTA に触れずに、ID を指定して 1 つの CTA を削除します |
publish_blog_article | WordPress、Medium、Substack などに公開します |
list_publishing_connections | 外部プラットフォームとの接続を一覧表示します |
import_blog_articles | RSS フィードまたは Blogger の URL からインポートします |
list_blog_authors | ブログの著者を一覧表示します |
create_blog_author | 新しいブログ著者を作成します |
list_blog_categories | 公開物のカテゴリを一覧表示します |
create_blog_category | 新しいカテゴリを作成します |
get_seo_roadmap | SEO/GEO のトピック提案と完了状況を確認します |
SEO / GEO
標準的なフロー:seo_add_seeds → seo_generate_keywords → seo_categorize → seo_generate_clusters → クラスターを承認 → seo_generate_roadmap → ブリーフを確認 → seo_approve_briefs(記事生成が自動的に開始されます)→ get_job をポーリング → 監査して公開。
| ツール | 説明 |
|---|---|
seo_add_seeds | 3~10 個のトピックキーワードを使って SEO / GEO 調査を開始します |
seo_generate_keywords | 非同期:シードを拡張して、包括的なキーワード群を生成します(get_job でポーリング) |
seo_list_keywords | 調査済みのキーワードを、検索意図、優先度、検索ボリュームとともに一覧表示します |
seo_edit_keyword | キーワードを編集します。検索意図の上書き、優先度の調整、ユーザータグの設定、クラスタリング対象からの除外ができます |
seo_delete_keyword | 調査対象から単一のキーワードを論理削除します |
seo_categorize | キーワードに検索意図やユーザータグを付与します |
seo_generate_clusters | 非同期:キーワードをトピッククラスターにグループ化します(get_job でポーリング) |
seo_list_clusters | ブリーフ生成のステータスとともにキーワードクラスターを一覧表示します |
seo_bulk_approve_clusters | 1 回の呼び出しで N 個のクラスターを一括承認し、それぞれのブリーフ生成を非同期で開始します |
seo_approve_cluster | 単一のクラスターを承認し、そのクラスターのブリーフ生成を許可します |
seo_reject_cluster | 単一のクラスターを却下します。却下済みとしてマークし、キーワードを切り離します |
seo_bulk_reject_clusters | 1 回の呼び出しで N 個のクラスターを一括却下します |
seo_unapprove_cluster | 承認済みのクラスターを pending_review に戻します |
seo_restore_cluster | 却下済みのクラスターを pending_review に戻します |
seo_generate_roadmap | 1 つ以上のクラスターを、優先順位付けされたコンテンツロードマップに変換します |
seo_list_roadmap | ロードマップ項目(執筆待ちのブログトピック)を一覧表示します |
seo_roadmap_get | 単一のロードマップ項目を取得します |
seo_roadmap_edit | ロードマップ項目のタイトル、ステータス、優先度を編集します |
seo_roadmap_delete | ロードマップ項目を完全に削除します |
seo_roadmap_stats | ロードマップの完了状況の統計を表示します |
seo_list_briefs | すべてのクラスターとステータスにわたるコンテンツブリーフを一覧表示します |
seo_get_brief | 構造化されたアウトライン全体を含む単一のブリーフを取得します |
seo_edit_brief | ブリーフの構造化されたアウトラインを編集するか、承認または却下します |
seo_approve_briefs | ブリーフを一括承認し、記事生成を自動的に開始します |
seo_regenerate_brief | 単一のブリーフの生成を再実行します |
seo_resolve_brief_truths | ブリーフのページの執筆元となるブランドの真実を再解決します |
seo_list_results | SEO パイプラインで生成された結果(ブログ記事、サイドページ、比較記事)を一覧表示します |
seo_write_article | 手動の方法:ロードマップ項目からブログ記事の下書きを作成します(seo_approve_briefs を使用しない場合のみ使用してください) |
seo_gap | 既存コンテンツと比較して、キーワードやトピックのギャップを特定します |
seo_competitor | 競合ドメインとキーワードの網羅状況を比較します |
seo_publish_article | SEO 用に作成された記事を公開先に公開するか、公開予約します |
seo_auto_assign_cta | 公開済みのブログ記事に対して、サイドページの CTA を自動提案して割り当てます |
seo_generate_side_page | SEO クラスターに任意でリンクされたサイドページを生成します |
ランディングページ
| ツール | 説明 |
|---|---|
list_landing_pages | ブランドのすべてのランディングページを一覧表示します |
generate_landing_page | ランディングページを新規作成し、AI で生成します(非同期。get_job でポーリングします) |
import_landing_page_bundle | URL でホストされている静的ビルドのバンドル(エントリー HTML +アセット)をインポートします。ローカルフォルダーの場合は、代わりに postking-cli の import-bundle コマンドを使用してください |
view_landing_page | セクションの内容全体を含むランディングページを表示します |
view_lp_draft | 現在の未公開の下書きを表示します |
edit_landing_page | ランディングページのタイトルまたは指示を編集します(メタデータのみ。ページのコンテンツには触れません) |
set_landing_page_section | ランディングページの下書きで、1 つのフィールド(ドットパス)を設定するか、セクション全体を置き換えます |
regenerate_landing_page | AI を使用してランディングページのコンテンツを再生成します(非同期。get_job でポーリングします) |
vibe_edit_landing_page | 自然言語による AI 編集をランディングページに適用します(非同期。提案 → レビュー → 適用のフロー) |
get_vibe_edit_status | バイブ編集セッションのステータスをポーリングし、フィールド単位のchanges差分を確認します |
apply_vibe_edit | 完了したバイブ編集のすべて、または一部を、1 つの新しいバージョンとして下書きに適用します |
set_lp_section_layout | ランディングページのセクションの順序を変更し、表示/非表示を切り替えます |
publish_landing_page | 現在の下書きを公開します |
delete_landing_page | ランディングページを完全に削除します |
list_lp_versions | ランディングページの過去のバージョンを一覧表示します |
view_lp_version | 指定した過去のバージョンを表示します |
restore_lp_version | 下書きを以前のバージョンに戻します |
delete_lp_version | 過去のバージョンを完全に削除します |
list_side_pages | ランディングページに紐付けられたサイドページを一覧表示します |
generate_side_page | 親ランディングページの下にサイドページを AI で生成します(非同期。get_job でポーリングします) |
view_side_page | セクションとレンダリング済み HTML を含むサイドページを表示します |
edit_side_page | サイドページの指示またはメタデータを更新します |
set_side_page_section | サイドページ内の特定のセクションのコンテンツを更新します |
set_side_page_state | サイドページを公開または非公開にします |
delete_side_page | サイドページを削除します |
週間スケジュール
| ツール | 説明 |
|---|---|
get_weekly_schedule | 有効な週間投稿スケジュールを取得します |
set_weekly_schedule | 曜日ごとのプラットフォーム、時間、テーマを設定します |
enable_weekly_schedule | 週間自動生成を有効にします |
disable_weekly_schedule | 週間自動生成を無効にします |
delete_weekly_schedule | スケジュールを完全に削除します |
run_weekly_schedule_day | 指定した 1 日分の投稿をオンデマンドで生成します |
ビジュアル(アセットライブラリ)
| ツール | 説明 |
|---|---|
list_assets | フィルターを指定してブランドのアセット(画像/動画)を一覧表示します |
view_asset | 1 つのアセットのメタデータと URL を取得します |
upload_asset | 画像/動画をアップロードします(base64) |
import_asset_from_url | リモート URL からアセットを取り込みます |
import_assets_csv | 公開 URL のリストから最大 50 件のアセットを一括インポートします |
tag_asset | アセットのタグを追加または削除します |
delete_asset | アセットを削除します(確認が必要です) |
list_asset_tags | すべてのアセットで使用されているタグを一覧表示します |
suggest_assets_for_post | 特定の投稿におすすめのアセットを AI で取得します |
search_stock_images | ストックフォトライブラリを検索します |
投稿ビジュアル(カードとカルーセル)
| ツール | 説明 |
|---|---|
generate_post_visual_options | 投稿で利用できるビジュアルの選択肢(カードテンプレート、ライブラリ内の一致候補、ストック写真)を取得します |
regenerate_post_visual | 投稿のストック写真と引用/カードテンプレートを更新します(ライブラリアセットの再マッチングは行いません) |
pick_post_visual | 指定したプラットフォームの投稿に、テンプレート/ストックビジュアルを選択するか、ライブラリのアセットを1つ以上添付します |
clear_post_visual | 投稿から選択済みのビジュアルを削除します |
list_post_cards | 投稿に添付されているカルーセルカードを一覧表示します |
edit_post_card | 1始まりのインデックスで指定した単一のカルーセルカードを編集します |
set_post_cards | 投稿のすべてのカルーセルカードを一括で置き換えます |
generate_post_carousel | 現在のカードからカルーセルPDFをレンダリングします |
ジョブ(非同期ポーラー)
| ツール | 説明 |
|---|---|
list_jobs | アクティブなブランドの最近の非同期ジョブを一覧表示します |
list_operations | 種類と状態のフィルターを指定して、新しい非同期オペレーションシステムの最近のオペレーションを一覧表示します |
get_job | IDまたはpollUrlで特定のオペレーションをポーリングします。完了までブロックするにはwait=trueを指定できます |
cancel_job | operationIdで保留中または実行中のジョブ/オペレーションをキャンセルします |
APIキー(セルフサービス)
| ツール | 説明 |
|---|---|
list_api_keys | PostKing APIキーを一覧表示します |
create_api_key | 新しいAPIキーを発行します |
revoke_api_key | APIキーを失効させます(確認が必要です) |
ドメイン
| ツール | 説明 |
|---|---|
list_domains | 検証とSSLの状態を含めてドメインを一覧表示します |
add_domain | 新しいカスタムドメインを追加します |
verify_domain | DNSを確認し、ドメインを有効化します |
delete_domain | ドメインを削除します(コンテンツは保持されます) |
connect_domain_to_publication | 検証済みドメインをブログのパブリケーションに接続します |
文章作成ツール
| ツール | 説明 |
|---|---|
rewrite_text | 音声プロファイルまたはブランドルールに基づいてテキストを書き換えます |
humanize_text | テキスト内のAI検出シグナルを低減します |
check_ai_content | AI生成の可能性についてテキストをスコアリングします |
get_credits | 現在のクレジット残高と無料プランの状態を確認します |
health | PostKing APIの状態とバージョンを確認します(認証不要) |
ストーリーライン(マーケティングプラン)
標準的なフロー:storyline_create → storyline_clarify(ループ) → storyline_generate_brief(ポーリング) → storyline_get → storyline_edit_brief → storyline_confirm_brief → storyline_generate_strategy(ポーリング) → ラインアイテムを選定 → storyline_estimate → storyline_execute(ポーリング)。
| ツール | 説明 |
|---|---|
storyline_list | ブランドのストーリーライン(マーケティングプラン)を一覧表示します |
storyline_create | キャンペーンの目標または意図を示すプロンプトを使って、新しいストーリーラインを作成します |
storyline_get | 単一のストーリーラインの全状態(ブリーフ、戦略、ラインアイテム、ステータス)を取得します |
storyline_update | ストーリーラインのメタデータ(タイトル、公開ステータス、開始日/終了日/公開日)を更新します |
storyline_delete | ストーリーラインをアーカイブ(ソフト削除)します。storyline_restore で元に戻せます |
storyline_restore | アーカイブされたストーリーラインをアクティブな状態に復元します |
storyline_clarify | 受付/明確化の手順を実行します(システムが十分なコンテキストを得るまで、反復的に質疑応答を行います) |
storyline_generate_brief | 非同期:マーケティングブリーフ(ポジショニング、主要メッセージ、オーディエンス、タイミング)を生成します(get_job でポーリング) |
storyline_set_brief | ストーリーラインのブリーフ全体を手動で設定(置換)します |
storyline_edit_brief | 自然言語の指示を使って、AI でブリーフを編集します |
storyline_confirm_brief | ブリーフを確認し、戦略生成に進めるようにします |
storyline_get_strategy | 生成された戦略とそのラインアイテムを取得します |
storyline_generate_strategy | 非同期:実行戦略とラインアイテム一式を生成します(get_job でポーリング) |
storyline_edit_strategy | 自然言語の指示を使って、AI で戦略を編集します |
storyline_estimate | ストーリーラインを実行するためのクレジット数をドライランで見積もります |
storyline_add_line_item | 戦略に新しいコンテンツのラインアイテムを追加します |
storyline_update_line_item | 既存のラインアイテム(チャネル、種類、タイトル、選択フラグなど)を編集します |
storyline_delete_line_item | 戦略からラインアイテムを完全に削除します(confirm: true が必要です) |
storyline_regenerate_line_item | 非同期:戦略の単一ラインアイテムを再生成します(get_job でポーリング) |
storyline_execute | 非同期:戦略で選択されたすべての下書きを生成します(get_job でポーリング) |
競合他社(インテリジェンス)
標準フロー:competitor_probe → competitor_probe_status → competitor_probe_classify → competitor_add(ポーリング)→ competitor_analyze(ポーリング)→ competitor_list → competitor_get_comparison/recompute → competitor_get_overview/generate_overview(ポーリング)。名前空間:competitor_*(seo_competitor/seo_gap とは別です)。
| ツール | 説明 |
|---|---|
competitor_list | 追跡中の競合他社を、ステータス、分析状態、ダッシュボードへのディープリンクとともに一覧表示します |
competitor_add | 非同期:競合他社のドメインを1~20件まとめて追加し、クロールとプロフィール分析を開始します(get_job でポーリング) |
competitor_update | 競合他社の設定を更新します。例:excludeFromSeoPull の切り替え |
competitor_delete | 追跡中の競合他社を論理削除します(空の本文で competitor_update を呼び出すと復元できます) |
competitor_analyze | 非同期:分析待ちまたは分析に失敗した競合他社の行を再分析します(get_job でポーリング) |
competitor_refresh | 非同期:アクティブな競合他社をすべて更新し、再クロールとプロフィールの再作成を行います(get_job でポーリング) |
competitor_get_comparison | ブランドと競合他社の比較結果を取得します |
competitor_recompute_comparison | 新しい比較の再計算を開始します(競合他社の追加または分析後に呼び出します) |
competitor_get_overview | 保存済みの競争環境の概要を取得します |
competitor_generate_overview | 非同期:AI が統合した新しい競争環境の概要を生成します(get_job でポーリング) |
competitor_comparison_sources | 競争比較に使用される SEO キーワードソースを一覧表示します |
competitor_probe | 非同期:ブランドに基づいて競合ドメイン候補を検出し、提示します(get_job でポーリング) |
competitor_probe_status | プローブ実行のステータスを確認し、検出された候補を一覧表示します |
competitor_probe_classify | プローブ候補を追加、スキップ、またはブラックリスト登録に分類します |
ナレッジベース
標準フロー:knowledge_list → knowledge_get → knowledge_create(get_job をポーリング)→ knowledge_update → knowledge_delete。
| ツール | 説明 |
|---|---|
knowledge_list | ナレッジベースの項目を一覧表示します。タグ、アクティブ状態、またはグローバルフラグで絞り込めます |
knowledge_create | 非同期:任意の AI による拡充を含めて、ナレッジベースの項目を作成します(get_job でポーリング) |
knowledge_get | ナレッジベースの項目を1件取得し、全コンテンツとメタデータを表示します |
knowledge_update | ナレッジベースの項目の名前、説明、コンテンツ、またはタグを更新します |
knowledge_delete | ナレッジベースの項目を論理削除します |
ブランドの事実
生成の根拠として使用される、ブランドに関する個別の事実や所見(確定した事実、オーディエンスに関する真実、戦略メモ、対応しない領域、コンテンツに関する洞察、トピック)です。ブランドの事実は PostKing 独自のモデルが管理します。呼び出し元が name/description/content/type/tags/personaScope を直接書き込むことはありません。標準フロー:brand_truth_list → brand_truth_get → brand_truth_create(LLM による抽出で保存内容を決定)→ brand_truth_update(LLM を介した修正、またはピン留めの切り替え)→ brand_truth_delete(論理削除)→ 必要に応じて brand_truth_restore。
| ツール | 説明 |
|---|---|
brand_truth_list | 保存済みのブランドの事実を一覧表示します。タイプ、personaScope、タグ、またはフリーテキスト検索で絞り込めます。includeDeleted を指定すると、論理削除された行も表示します |
brand_truth_get | ブランドの事実を1件取得し、全コンテンツとメタデータを表示します |
brand_truth_create | 事実を自然な言葉で説明します。LLM による抽出パイプラインが、保存する個別の事実とスキップする事実を決定します(added と skipped を返します) |
brand_truth_update | 修正内容を自然な言葉で説明したり、pinned を切り替えたりします。PostKing のモデルが項目を書き換えるかどうか、またその方法を決定します(applied:false と reason を伴って拒否される場合があります)。フィールドを直接編集することはできません |
brand_truth_delete | 事実を論理削除し(取り消し可能)、再提案されないよう却下の記憶を記録します |
brand_truth_restore | brand_truth_delete を取り消し、deletedAt と却下の記憶を消去します |
オーディエンス/ICP
ブランドのウェブサイトとオンボーディングから抽出した、ブランドのオーディエンスに関するインテリジェンス(理想的な顧客プロファイル)です。標準的なフロー:get_audience → preview_audience_edit(編集可能なセクションを確認)→ edit_audience(非同期のLLM AI編集。get_jobでポーリング)。
| ツール | 説明 |
|---|---|
get_audience | ブランドのICPを取得します。構造化されたaudienceData、ポジショニング、ゴーストライターのpersona、およびcontentModulation(短・中・全体)を含みます |
preview_audience_edit | 読み取り専用です。edit_audienceを呼び出す前に、このブランドで編集可能なsections/subsectionsを確認します |
edit_audience | オーディエンス/ICPを非同期でLLM AI編集します(sectionsは必須。get_jobでポーリング)。編集処理が進行中の場合はalready_runningを返します |
トレンドとコンテンツテンプレート
標準的なフロー:trends_list → template_extract、または(template_list + template_pick)→ template_create → 既存の投稿生成ツール。注:trends_listはアカウント単位であり、ブランドは不要です。
| ツール | 説明 |
|---|---|
trends_list | ニッチとプラットフォーム別にトレンドの投稿を一覧表示します。アカウント単位であり、ブランドは不要です |
template_list | ブランドに保存されているコンテンツテンプレートを一覧表示します |
template_create | 新しいコンテンツテンプレートを保存または作成します |
template_update | テンプレートのタイトル、コンテンツ、お気に入りフラグを更新します |
template_delete | 保存済みのコンテンツテンプレートを削除します |
template_extract | AI:トレンドの投稿を分解し、再利用可能なコンテンツテンプレートにします |
template_pick | AI:指定されたテーマまたはコンテンツの目標に基づいて、既存のテンプレートを評価し、順位付けします |
請求(エージェントのウォレット+サブスクリプション)
標準的なフロー(都度購入):billing_list_packs → billing_topup →(Stripe Linkまたはブラウザー)→ billing_wallet(残高が増えるまでポーリング)。サブスクリプション:billing_list_tiers → billing_subscribe →(人手、または初回請求用のLink)→ サブスクリプションが自動的に有効になります。
| ツール | 説明 |
|---|---|
billing_list_packs | SKU、価格、クレジット数を含む、購入可能なエージェント用クレジットパックを一覧表示します |
billing_topup | エージェントのウォレットに都度購入のクレジットパックを追加するためのStripe Checkoutセッションを作成します |
billing_wallet | エージェントのプリペイドクレジット残高と最近の台帳エントリーを取得します |
billing_list_tiers | 料金と月間クレジット数を含む、利用可能なPostKingサブスクリプションプランを一覧表示します |
billing_subscribe | GROWTH、PRO、またはENTERPRISEサブスクリプション用のStripe Checkoutセッションを作成します |
検索パフォーマンスとAI可視性
標準的なフロー:search_sources(コネクターが稼働中か確認)→ search_performance(SEOのクリック数/表示回数/CTR/掲載順位)→ search_ai_visibility/search_ai_citations(AI回答エンジンでの可視性)→ search_worklist(上記すべてから統合された「次に実行すること」)。
| ツール | 説明 |
|---|---|
search_sources | ステータスと最終同期時刻を含む、ブランドに接続済みの検索パフォーマンスソース(Google Search Console、Bing Webmaster、Google Analytics)を一覧表示します |
search_performance | Search Console(Google/Bing)+GA4のパフォーマンス概要を取得します。クリック数、表示回数、CTR、掲載順位を含み、セクション(summary/queries/pages/timeseries)を選択できます |
search_ai_visibility | Deep AI Dive(GEO)の可視性を詳しく取得します。トピック別に、AI回答エンジン(Google AI Overview、ChatGPT、Perplexity、Claude)での競合他社に対する言及・引用のカバレッジを確認できます。PRO以上のプランが必要です |
search_ai_citations | Bing「AI Performance」の引用状況を取得します。インポートしたCSVエクスポートから、日別の引用件数と、最新のグラウンディングクエリおよび引用ページのスナップショットを確認できます |
search_worklist | 上記のツールから統合された、優先順位付きの「次に実行すること」SEO+GEOワークリストです |
ダッシュボード
| ツール | 説明 |
|---|---|
dashboard_link | PostKingダッシュボードの任意のセクション(概要、SEO、投稿、ブログ、ランディングページ、reddit、ストーリーライン、ナレッジ、トレンド、競合他社、検索パフォーマンス、ジョブなど)を開くクリック可能なブラウザーURLを取得します |
ガイド付きプロンプト
このサーバーには、Claude Desktop のプロンプト選択画面から利用できる組み込みプロンプトが用意されています。
| プロンプト | 説明 |
|---|---|
getting_started | 初回セットアップ:ログイン → ブランド → 接続 → 最初の投稿 |
repurpose_and_schedule | URL/テキスト → 再活用 → 下書き → 承認 → カレンダー |
connect_social_accounts | LinkedIn、X、Instagram、Threads、Facebook の確認と接続 |
manage_posts | 投稿の表示、再スケジュール、削除 |
manage_themes | コンテンツテーマの生成、編集、整理 |
blog_publishing | ブログ記事の生成、編集、公開 |
use_voice_profiles | 生成または書き換えたコンテンツに声のスタイルを適用 |
plan_storyline_campaign | マーケティングのストーリーライン全体:明確化 → ブリーフ → 戦略 → キュレーション → 実行 |
competitor_intelligence | 競合情報の構築:調査 → 追加 → 分析 → 比較 → 概要 |
manage_knowledge_base | ブランドのナレッジベース項目の閲覧、作成、更新、論理削除 |
trends_to_post | トレンドの投稿を閲覧し、テンプレートを抽出/選択してから投稿を生成 |
ワークフローの例
ブログ記事を LinkedIn と X 向けに再活用する:
「https://myblog.com/my-article を、ブランドの声を使って LinkedIn と X 向けに再活用して」
1 週間分のコンテンツを生成してスケジュールする:
「成長テーマを使って LinkedIn の投稿を 7 件生成し、月曜日から毎日午前 9 時にスケジュールして」
ブログ記事を作成して公開する:
「AI 生産性ツールについて 1500 語の記事を書いて、ブログに公開して」
既存のコンテンツをインポートして再活用する:
「https://myblog.com/feed から直近 20 件の投稿をインポートして、上位 5 件を LinkedIn の投稿に変換して」
要件
- Node.js 18 以降
- PostKing アカウント — postking.app で無料登録
外部プラットフォームへの公開
PostKing は、ブログ記事を次の場所に直接公開できます。
- WordPress(REST API 経由)
- Medium
- Substack
- Webflow
- 公開接続に対応したすべてのプラットフォーム
PostKing ダッシュボードの Blog → Publishing Connections で接続を設定し、Claude から publish_blog_article を使用してください。
開発
git clone https://github.com/bitsandtea/postking-mcp
cd postking-mcp
npm install
npm run build
ビルドしたファイルを Claude Desktop に指定して、ローカルでテストします。
{
"mcpServers": {
"postking": {
"command": "node",
"args": ["/absolute/path/to/postking-mcp/dist/index.js"]
}
}
}
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
POSTKING_API_URL | https://try.postking.app | API のベース URL を上書きします |
POSTKING_API_TOKEN | — | トークンを直接指定してデバイスログインを省略します |
コントリビューション
Issue やプルリクエストを歓迎します。このリポジトリは MCP クライアントレイヤーのみを提供します。PostKing API を呼び出し、MCP 対応のあらゆる AI クライアントにツールを公開します。バグを見つけた場合、ツールを追加したい場合、またはプロンプトを改善したい場合は、Issue または PR を作成してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。