Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Postking

БесплатноНе проверен

PostKing MCP server for managing brands, generating posts, scheduling content, and publishing blogs.

GitHubEmbed

Описание

PostKing MCP server for managing brands, generating posts, scheduling content, and publishing blogs.

README

npm version License: MIT MCP

The official Model Context Protocol server for PostKing — an AI-powered content platform for social media scheduling, blog publishing, and brand management.

Connect Claude (Desktop, Cursor, or any MCP client) to your PostKing account and manage your entire content operation through conversation — generate posts, schedule them, repurpose URLs into social content, write and publish blog articles, generate landing pages and side pages, run SEO / GEO research and drafting, manage your asset library and weekly posting schedule, handle domains and API keys, and more.

The server exposes 207 tools across 26 modules — full parity with the postking-cli.

Transport note: On the remote HTTP transport (mcp.postking.app), 203 tools are available. The 4 authentication tools (login_start, login_complete, logout, whoami) are omitted on that transport because it uses OAuth bearer tokens rather than device-code login. All other 203 tools are identical across both transports.


Quick start

Claude Desktop

Option A — Via the GUI:

  1. Open Claude Desktop → Settings (gear icon) → DeveloperEdit Config
  2. This opens claude_desktop_config.json in your default editor
  3. Paste the following and save:
{
  "mcpServers": {
    "postking": {
      "command": "npx",
      "args": ["-y", "postking-mcp"]
    }
  }
}
  1. Restart Claude Desktop

Option B — Edit the config file directly:

Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) in any text editor, paste the same JSON above, and save.

Once restarted, tell 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

Then in Hermes: "Login to PostKing".

Cursor / other MCP clients

Use the same npx -y postking-mcp command in your client's MCP server config.


Login flow

No API keys to copy. PostKing uses a device login flow:

  1. Tell Claude: "Login to PostKing"
  2. Claude calls login_start → shows a URL and short code
  3. Visit the URL in your browser, log in, approve
  4. Tell Claude: "Done"
  5. Claude calls login_complete → saves your token to ~/.postking/credentials.json

You never need to log in again. The token is permanent.


What you can do

Authentication

Available on stdio/local transport only. Remote HTTP transport authenticates via OAuth bearer token before the session is created.

Tool Description
login_start Begin device login — get a URL and code to approve in browser
login_complete Finish login and save token after browser approval
logout Clear locally stored credentials
whoami Return the profile of the currently authenticated user (email, plan, credit balance)

Brands

Tool Description
list_brands List all brands on your account
set_active_brand Set the default brand for this session
get_brand_info View brand profile — tone, audience, themes
create_brand Create a brand manually (step 1 of manual onboarding)
onboard_brand Crawl a website and auto-generate a brand profile + 10 themes (step 1 of website onboarding)
set_brand_mediums Save the list of platforms the brand publishes on (step 2 of onboarding)
get_brand_mediums Read which publishing platforms a brand posts to
get_onboarding_status Poll background audience analysis + theme generation (step 3 of onboarding)

Content themes

Tool Description
list_themes List all content themes with IDs
generate_themes AI-generate new themes (uses credits)
edit_theme Update a theme's title or instructions
delete_theme Remove a theme

Social posts

Tool Description
generate_post AI-generate a post for a platform
create_post Save a manual post draft to one or more platforms
list_posts List posts filtered by status or platform
get_post View a single post
approve_post Approve and schedule a draft post
schedule_post Set a scheduled time on an existing post
reschedule_post Move a scheduled post to a new time
cancel_post Cancel a scheduled post without deleting it
delete_post Cancel and delete a post
get_calendar View upcoming scheduled content
generate_bulk_posts Fill a date range with AI-generated posts

Repurpose

Tool Description
repurpose_content Turn a URL, text, or existing post into new social or blog content

Voice profiles

Tool Description
list_voices List available voice profiles
rewrite_with_voice Rewrite text in a specific voice

Social accounts

Tool Description
check_social_accounts List connected and disconnected platforms
generate_connect_link Get a secure OAuth link to connect a platform
disconnect_social_account Disconnect a social account

Reddit

Reddit is a repurpose-to-Reddit workflow, not a scheduled publishing medium. Flow: reddit_generate_poolreddit_get_poolreddit_suggestreddit_rewritereddit_list_posts.

Tool Description
reddit_get_pool View the brand's saved pool of relevant subreddits, sorted by relevance score
reddit_generate_pool Async: discover and score relevant subreddits for the brand by crawling Reddit
reddit_global_pool Return stats on the global subreddit dataset (informational only)
reddit_suggest Sync: suggest up to 8 best-fit subreddits for a specific piece of content, each with 2-3 posting angles, promotion mode, and buyer intent
reddit_rewrite Async: rewrite a blog article or raw content as a native Reddit post for a target subreddit
reddit_list_posts List saved Reddit posts (outputs of reddit_rewrite), cursor-paginated

Blog

Tool Description
list_blogs List publications and articles (filterable by status)
list_publications List publications only
create_publication Create a new blog publication
update_publication Update an existing publication's title, description, domain/routing, or layout (partial update)
generate_blog_post AI-generate a full blog article with optional voice
get_blog_article Fetch full article content, including the featured/header image (featuredImageUrl, featuredImageAlt, featuredImageDescription)
get_blog_status Poll generation/publish status for an article
update_blog_article Edit title, content, SEO fields, author, category, status, or the featured/header image (featuredImageUrl, featuredImageAlt, featuredImageDescription)
delete_blog_article Permanently delete an article
publish_blog_article Push to WordPress, Medium, Substack, etc.
list_publishing_connections List external platform connections
import_blog_articles Import from RSS feed or Blogger URL
list_blog_authors List blog authors
create_blog_author Create a new blog author
list_blog_categories List categories for a publication
create_blog_category Create a new category
get_seo_roadmap View SEO / GEO topic suggestions and completion stats

SEO / GEO

Canonical flow: seo_add_seedsseo_generate_keywordsseo_categorizeseo_generate_clusters → approve clusters → seo_generate_roadmap → review briefs → seo_approve_briefs (auto-fires article generation) → poll get_job → audit & publish.

Tool Description
seo_add_seeds Seed SEO / GEO research with 3–10 topic keywords
seo_generate_keywords Async: expand seeds into a full keyword universe (poll via get_job)
seo_list_keywords List researched keywords with intent, priority, and volume
seo_edit_keyword Edit a keyword — override intent, adjust priority, set user tags, or exclude from clustering
seo_delete_keyword Soft-delete a single keyword from the research set
seo_categorize Tag keywords by search intent and/or user tags
seo_generate_clusters Async: group keywords into topic clusters (poll via get_job)
seo_list_clusters List keyword clusters with brief-generation status
seo_bulk_approve_clusters Bulk-approve N clusters in one call, kicking off async brief generation for each
seo_approve_cluster Approve a single cluster, gating brief generation for it
seo_reject_cluster Reject a single cluster — marks it rejected and detaches its keywords
seo_bulk_reject_clusters Bulk-reject N clusters in one call
seo_unapprove_cluster Revert an approved cluster back to pending_review
seo_restore_cluster Restore a rejected cluster back to pending_review
seo_generate_roadmap Turn one or more clusters into a prioritized content roadmap
seo_list_roadmap List roadmap items (blog topics queued for writing)
seo_roadmap_get Fetch a single roadmap item
seo_roadmap_edit Edit a roadmap item's title, status, or priority
seo_roadmap_delete Permanently delete a roadmap item
seo_roadmap_stats Roadmap completion stats
seo_list_briefs List content briefs across all clusters and statuses
seo_get_brief Fetch a single brief including its full structured outline
seo_edit_brief Edit a brief's structured outline or approve/reject it
seo_approve_briefs Bulk-approve briefs and auto-fire article generation
seo_regenerate_brief Re-run brief generation for a single brief
seo_list_results List generated results (blog articles, side pages, comparisons) from the SEO pipeline
seo_write_article Manual path: draft a blog article from a roadmap item (use only when not going through seo_approve_briefs)
seo_gap Find keyword / topic gaps vs. existing content
seo_competitor Compare keyword coverage against a competitor domain
seo_publish_article Publish or schedule an SEO-drafted article to a publication
seo_auto_assign_cta Auto-suggest and assign side-page CTAs to published blog articles
seo_generate_side_page Generate a side page optionally linked to an SEO cluster

Landing pages

Tool Description
list_landing_pages List all landing pages for a brand
generate_landing_page Create and AI-generate a new landing page (async; poll via get_job)
view_landing_page View a landing page including full section content
view_lp_draft View the current unpublished draft
edit_landing_page Edit landing page title or instructions (metadata only — does not touch page content)
set_landing_page_section Set one field (dot-path) or replace a whole section on a landing page's draft
regenerate_landing_page Re-generate a landing page's content using AI (async; poll via get_job)
vibe_edit_landing_page Apply a natural-language AI edit to a landing page (async; propose → review → apply flow)
get_vibe_edit_status Poll vibe-edit session status and review the field-level changes diff
apply_vibe_edit Apply a completed vibe edit (all or a subset) to the draft as one new version
set_lp_section_layout Reorder and/or toggle visibility of landing page sections
publish_landing_page Publish the current draft
delete_landing_page Permanently delete a landing page
list_lp_versions List historical versions of a landing page
view_lp_version View a specific historical version
restore_lp_version Roll the draft back to a prior version
delete_lp_version Permanently delete a historical version
list_side_pages List side pages attached to a landing page
generate_side_page AI-generate a side page under a parent landing page (async; poll via get_job)
view_side_page View a side page including sections and rendered HTML
edit_side_page Update the instructions or metadata of a side page
set_side_page_section Update the content of a specific section within a side page
set_side_page_state Publish or unpublish a side page
delete_side_page Delete a side page

Weekly schedule

Tool Description
get_weekly_schedule Fetch the active weekly posting schedule
set_weekly_schedule Configure platforms, times, and themes per day
enable_weekly_schedule Turn the weekly auto-generator on
disable_weekly_schedule Turn the weekly auto-generator off
delete_weekly_schedule Remove the schedule entirely
run_weekly_schedule_day Generate a single day's posts on demand

Visuals (asset library)

Tool Description
list_assets List brand assets (images/videos) with filters
view_asset Fetch a single asset's metadata and URL
upload_asset Upload an image/video (base64)
import_asset_from_url Pull an asset from a remote URL
import_assets_csv Batch-import up to 50 assets from a list of public URLs
tag_asset Add or remove tags on an asset
delete_asset Remove an asset (requires confirm)
list_asset_tags List all tags used across assets
suggest_assets_for_post Get AI-suggested assets for a specific post
search_stock_images Search stock-photo libraries

Post visuals (cards & carousels)

Tool Description
generate_post_visual_options Fetch available visual options for a post (card templates, library matches, stock photos)
regenerate_post_visual Regenerate the visual option set for a post
pick_post_visual Select a visual for a post on a given platform
clear_post_visual Remove the selected visual from a post
list_post_cards List the carousel cards attached to a post
edit_post_card Edit a single carousel card by 1-based index
set_post_cards Bulk-replace all carousel cards for a post
generate_post_carousel Render a carousel PDF from the current cards

Jobs (async poller)

Tool Description
list_jobs List recent async jobs for the active brand
list_operations List recent Operations (the newer async-op system) with kind and state filters
get_job Poll a specific operation by ID or pollUrl; supports wait=true to block until done
cancel_job Cancel a pending or running job/operation by operationId

API keys (self-service)

Tool Description
list_api_keys List your PostKing API keys
create_api_key Mint a new API key
revoke_api_key Revoke an API key (requires confirm)

Domains

Tool Description
list_domains List domains with verification and SSL status
add_domain Add a new custom domain
verify_domain Check DNS and activate a domain
delete_domain Remove a domain (content is preserved)
connect_domain_to_publication Wire a verified domain to a blog publication

Writing tools

Tool Description
rewrite_text Rewrite text using a voice profile or brand rules
humanize_text Reduce AI detection signals in text
check_ai_content Score text for AI detection likelihood
get_credits Check your current credit balance and free-tier status
health Check PostKing API health and version (no authentication required)

Storylines (marketing plans)

Canonical flow: storyline_createstoryline_clarify (loop) → storyline_generate_brief (poll) → storyline_getstoryline_edit_briefstoryline_confirm_briefstoryline_generate_strategy (poll) → curate line items → storyline_estimatestoryline_execute (poll).

Tool Description
storyline_list List the brand's storylines (marketing plans)
storyline_create Create a new storyline with a campaign goal or intent prompt
storyline_get Fetch a single storyline with full state (brief, strategy, line items, status)
storyline_update Update storyline metadata: title, live status, or start/end/launch dates
storyline_delete Archive (soft-delete) a storyline — reversible via storyline_restore
storyline_restore Restore an archived storyline back to active state
storyline_clarify Run the intake/clarification step (iterative Q&A until system has enough context)
storyline_generate_brief Async: generate the marketing brief — positioning, key messages, audience, timing (poll via get_job)
storyline_set_brief Manually set (replace) the full brief for a storyline
storyline_edit_brief AI-edit the brief using natural-language instructions
storyline_confirm_brief Confirm the brief and gate strategy generation
storyline_get_strategy Fetch the generated strategy and its line items
storyline_generate_strategy Async: generate the execution strategy and line item set (poll via get_job)
storyline_edit_strategy AI-edit the strategy using natural-language instructions
storyline_estimate Dry-run credit estimate for executing the storyline
storyline_add_line_item Add a new content line item to the strategy
storyline_update_line_item Edit an existing line item (channel, type, title, selected flag, etc.)
storyline_delete_line_item Permanently remove a line item from the strategy (confirm: true required)
storyline_regenerate_line_item Async: regenerate a single strategy line item (poll via get_job)
storyline_execute Async: generate all selected drafts from the strategy (poll via get_job)

Competitors (intelligence)

Canonical flow: competitor_probecompetitor_probe_statuscompetitor_probe_classifycompetitor_add (poll) → competitor_analyze (poll) → competitor_listcompetitor_get_comparison/recomputecompetitor_get_overview/generate_overview (poll). Namespace: competitor_* (distinct from seo_competitor/seo_gap).

Tool Description
competitor_list List tracked competitors with status, analysis state, and a dashboard deep-link
competitor_add Async: batch-add 1–20 competitor domains and trigger crawl + profile analysis (poll via get_job)
competitor_update Update competitor settings — e.g. toggle excludeFromSeoPull
competitor_delete Soft-delete a tracked competitor (restorable via competitor_update with empty body)
competitor_analyze Async: re-analyze pending or failed competitor rows (poll via get_job)
competitor_refresh Async: refresh all active competitors — re-crawl + re-profile (poll via get_job)
competitor_get_comparison Get the brand's head-to-head competitive comparison
competitor_recompute_comparison Trigger a fresh comparison recompute (call after adding/analyzing competitors)
competitor_get_overview Get the saved competitive landscape overview
competitor_generate_overview Async: generate a fresh AI-synthesized landscape overview (poll via get_job)
competitor_comparison_sources List SEO keyword sources that feed the competitive comparison
competitor_probe Async: discover and surface rival domain candidates based on the brand (poll via get_job)
competitor_probe_status Check the status of a probe run and list discovered candidates
competitor_probe_classify Classify a probe candidate as add, skip, or blacklist

Knowledge base

Canonical flow: knowledge_listknowledge_getknowledge_create (poll get_job) → knowledge_updateknowledge_delete.

Tool Description
knowledge_list List knowledge base items — filter by tag, active status, or global flag
knowledge_create Async: create a knowledge base item with optional AI enrichment (poll via get_job)
knowledge_get Fetch a single knowledge base item with full content and metadata
knowledge_update Update a knowledge base item's name, description, content, or tags
knowledge_delete Soft-delete a knowledge base item

Brand truth

Atomic facts/observations about a brand (hard facts, audience truths, strategy notes, negative space, content insights, topics) used to ground generation. Canonical flow: brand_truth_listbrand_truth_getbrand_truth_create (LLM extraction decides what to store) → brand_truth_updatebrand_truth_delete.

Tool Description
brand_truth_list List stored brand truths — filter by type, personaScope, tags, or free-text query
brand_truth_get Fetch a single brand truth with full content and metadata
brand_truth_create Describe facts in plain language; an LLM extraction pipeline decides which atomic truths to store vs skip (returns added + skipped)
brand_truth_update Direct field edit of a known truth (name, description, content, tags, type, personaScope, pinned) — does not re-run the LLM
brand_truth_delete Delete a truth and record rejection memory so it stops being re-suggested

Audience / ICP

The brand's audience intelligence (ideal customer profile) mined from its website + onboarding. Canonical flow: get_audiencepreview_audience_edit (discover valid sections) → edit_audience (async LLM ai-edit; poll get_job).

Tool Description
get_audience Fetch the brand's ICP — structured audienceData, positioning, ghostwriter persona, and contentModulation (short/medium/full)
preview_audience_edit Read-only: discover which sections/subsections are valid to edit for this brand before calling edit_audience
edit_audience Async LLM ai-edit of the audience/ICP (sections required; poll via get_job) — returns already_running if an edit is in flight

Trends and content templates

Canonical flow: trends_listtemplate_extract OR (template_list + template_pick) → template_create → existing post-generation tools. Note: trends_list is account-scoped (no brand required).

Tool Description
trends_list List trending posts by niche and platform — account-scoped, no brand required
template_list List saved content templates for the brand
template_create Save or build a new content template
template_update Update a template's title, content, or favorite flag
template_delete Delete a saved content template
template_extract AI: deconstruct a trending post into a reusable content template
template_pick AI: score and rank existing templates for a given theme or content goal

Billing (agent wallet + subscription)

Canonical flow (one-off): billing_list_packsbilling_topup → (Stripe Link or browser) → billing_wallet (poll until balance rises). Subscription: billing_list_tiersbilling_subscribe → (human or first-invoice Link) → subscription activates automatically.

Tool Description
billing_list_packs List available agent credit packs with SKU, price, and credit amount
billing_topup Create a Stripe Checkout session to top up the agent wallet with a one-off credit pack
billing_wallet Fetch the agent's prepaid credit balance and recent ledger entries
billing_list_tiers List available PostKing subscription tiers with pricing and monthly credits
billing_subscribe Create a Stripe Checkout session for a GROWTH, PRO, or ENTERPRISE subscription

Dashboard

Tool Description
dashboard_link Get a clickable browser URL to any section of the PostKing dashboard (overview, SEO, posts, blogs, landing pages, reddit, storylines, knowledge, trends, competitors, jobs, etc.)

Guided prompts

The server ships with built-in prompts accessible from the prompt picker in Claude Desktop:

Prompt Description
getting_started First-time setup: login → brand → connect → first post
repurpose_and_schedule URL/text → repurpose → draft → approve → calendar
connect_social_accounts Check and connect LinkedIn, X, Instagram, Threads, Facebook
manage_posts View, reschedule, and delete posts
manage_themes Generate, edit, and organize content themes
blog_publishing Generate, edit, and publish blog posts
use_voice_profiles Apply a voice style to generated or rewritten content
plan_storyline_campaign Full marketing storyline: clarify → brief → strategy → curate → execute
competitor_intelligence Build competitive intelligence: probe → add → analyze → comparison → overview
manage_knowledge_base Browse, create, update, and soft-delete brand knowledge base items
trends_to_post Browse trending posts, extract/pick a template, then generate a post

Example workflows

Repurpose a blog post to LinkedIn and X:

"Repurpose https://myblog.com/my-article for LinkedIn and X, using my brand voice"

Generate and schedule a week of content:

"Generate 7 LinkedIn posts using my growth themes, schedule them daily at 9am starting Monday"

Write and publish a blog post:

"Write a 1500-word post about AI productivity tools, publish it to my blog"

Import and repurpose existing content:

"Import the last 20 posts from https://myblog.com/feed and convert the top 5 into LinkedIn posts"


Requirements


Publishing to external platforms

PostKing supports publishing blog articles directly to:

  • WordPress (via REST API)
  • Medium
  • Substack
  • Webflow
  • Any platform with a publishing connection

Set up connections in your PostKing dashboard under Blog → Publishing Connections, then use publish_blog_article from Claude.


Development

git clone https://github.com/bitsandtea/postking-mcp
cd postking-mcp
npm install
npm run build

Test locally by pointing Claude Desktop at the built file:

{
  "mcpServers": {
    "postking": {
      "command": "node",
      "args": ["/absolute/path/to/postking-mcp/dist/index.js"]
    }
  }
}

Environment variables

Variable Default Description
POSTKING_API_URL https://try.postking.app Override the API base URL
POSTKING_API_TOKEN Skip device login by providing a token directly

Contributing

Issues and pull requests are welcome. This repo is the MCP client layer only — it calls the PostKing API and exposes tools to any MCP-compatible AI client. If you find a bug, want to add a tool, or improve the prompts, open an issue or PR.


License

MIT

from github.com/bitsandtea/postking-mcp

Установить Postking в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install postking-mcp

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add postking-mcp -- npx -y postking-mcp

FAQ

Postking MCP бесплатный?

Да, Postking MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Postking?

Нет, Postking работает без API-ключей и переменных окружения.

Postking — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Postking в Claude Desktop, Claude Code или Cursor?

Открой Postking на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Postking with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development