Postmcp MCP Server vs PlanVortex

A side-by-side look at the Postmcp MCP Server and PlanVortex MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Postmcp MCP Server logoPostmcp MCP ServerSocial Media · Local subprocess (stdio)Publish and schedule posts to LinkedIn, X, Facebook, Instagram, Threads, Bluesky and YouTube Shorts.61GoodAuth: not declaredPlanVortex logoPlanVortexSocial Media · Local subprocess (stdio)Schedule posts, read comments and answer messages across eleven social networks.61GoodAuth: not declared

Verdict: choose Postmcp MCP Server for social media work as a local process; choose PlanVortex for social media as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Postmcp MCP Server logoChoose Postmcp MCP Server when

  • You need dedicated capabilities in the Social Media domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: POSTMCPAI_API_KEY, POSTMCPAI_API_URL, POSTMCPAI_PROJECT_ID, PORT.
  • You want tools like get_user_info, list_workspaces, get_connected_accounts.
Explore Postmcp MCP Server

PlanVortex logoChoose PlanVortex when

  • You need dedicated capabilities in the Social Media domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: PLANVORTEX_CLIENT_ID, PLANVORTEX_CLIENT_SECRET, PLANVORTEX_ORGANIZATION_ID, PLANVORTEX_MCP_ALLOW_AI, PLANVORTEX_MCP_READ_ONLY, PLANVORTEX_MCP_AUTH_TOKEN, PLANVORTEX_MCP_UPLOAD_DIRS.
  • You want tools like list_organizations, list_accounts, get_plan_use.
Explore PlanVortex

Feature & specification comparison

Rows where the two servers differ are marked.

SpecPostmcp MCP Server logoPostmcp MCP ServerPlanVortex logoPlanVortex
CategorySocial MediaSocial Media
Quality signal61/100 · Good61/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsPOSTMCPAI_API_KEYPOSTMCPAI_API_URLPOSTMCPAI_PROJECT_IDPORTPLANVORTEX_CLIENT_IDPLANVORTEX_CLIENT_SECRETPLANVORTEX_ORGANIZATION_IDPLANVORTEX_MCP_ALLOW_AIPLANVORTEX_MCP_READ_ONLYPLANVORTEX_MCP_AUTH_TOKENPLANVORTEX_MCP_UPLOAD_DIRS
Verified ownerCommunity listingCommunity listing
GitHub stars00
Directory activity 2 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools1631

Tools & capabilities

Postmcp MCP Server tools 16

  • get_user_infoRetrieve details of the logged-in user including subscription plan, credit balance, AI token count, the active workspace, and the caller's role in it.
  • list_workspacesList every workspace (project) the user belongs to, with the id to pass as workspaceId, the caller's role, and which one is the default. Call this first whenever the user mentions a client, brand, or workspace by name.
  • get_connected_accountsList every connected social profile in the workspace with the profileId needed to target it. Call this before creating a post so the post reaches the intended profile rather than every account on a platform.
  • get_account_healthReport connections whose access token has expired or is about to, and which therefore need the user to reconnect. Check this before scheduling anything far out - a post scheduled onto a dead connection fails silently at publish time.
  • list_brandingsList the workspace's brand kits: tone of voice, audience, keywords, and reference style images. Use one to keep drafted copy on-brand, and pass its id to generate_image for on-brand visuals.
  • list_postsRetrieve scheduled, published, draft, and failed posts, newest first, with per-profile delivery status. Every profile that received a post carries `url`, the link to the live copy - give the user that link when they ask where a post went. Returns pagination plus counts per status.
  • get_postFetch a single post by id, including per-profile delivery status, the live URL of each published copy, and the error for any profile that failed.
  • preflight_postDry-run a post before creating it: checks copy against each platform's character limit, flags profiles that are not connected or need reconnecting, warns when a platform requires media, reports each target's video limit when a video is attached, and reports the credit cost against the workspace balance. Costs nothing and publishes nothing. Run this before create_post whenever the copy is long, carries a link, or targets several platforms.
  • create_postSchedule or immediately publish a post to specific connected social profiles. Prefer targetAccounts so the post lands only on the profiles you name. Every targeted profile becomes its own post with its own id, so each can be edited, retried or cancelled on its own - the response lists them all. With publishImmediately, each delivered profile comes back with a `url` to the live copy; pass those on to the user.
  • publish_post_nowBroadcast an existing scheduled post immediately to its platforms. Also the way to retry a failed post: profiles that already received it are skipped, so only the stragglers go out. The returned post carries a `url` per delivered profile - report those links rather than only saying it published.
  • delete_postCancel and delete a scheduled or failed post from the database.
  • update_postUpdate the fields (content, target profiles, schedule date/time) of an existing post. To move a post to a different slot without touching anything else, use reschedule_post.
  • +4 more on the listing page

PlanVortex tools 31

  • list_organizationsList the PlanVortex organizations this connection can reach, with their ids. Call this first when a tool says id_organization is required, or when the user names an organization you do not have an id for.
  • list_accountsThe social accounts connected to an organization: network, name, follower count and whether the connection is broken. An account with error_code other than 0 cannot publish until a person reconnects it, and that is usually the answer to 'why did this post not go out'. On LinkedIn, personal_profile marks the person's own profile, as opposed to the pages they manage.
  • get_plan_useWhat the organization's plan allows and what it has already used: accounts, storage and integrations. Check this before promising the user a connected account — a plan limit is not a transient error and retrying never fixes it. PUBLICATIONS ARE UNLIMITED on every plan: the count is reported for context and has no ceiling, so never refuse to schedule posts over it. What can stop a batch is rate — a per-hour cap per account and a daily cap per network, both in get_social_limits — and that one IS transient: waiting fixes it.
  • get_unread_countsHow many comments and private messages are waiting, in one call. This is the 'what do I have today?' tool: start here, then use list_comments or list_conversations to see what they are.
  • list_publicationsPosts of an organization, newest first, as a short projection: id, network, state, date and the first words of the text. States are draft, ready (scheduled), publishing, sended (published) and withErrors. Use get_publication for the full record of one, including why it failed.
  • get_publicationThe full record of one post, including publication_errors — the list of reasons it did not go out. This is the tool to call when the user asks why a post failed.
  • list_destinationsThe places INSIDE a connected account a post can be sent to: on Pinterest, the boards. Every Pinterest post needs one of these ids as destination_id in create_publication. Most networks have none — the account itself is where the post goes — and there this answers that it does not apply. Pass id_destination to get one board's sections. A SECRET board is seen by nobody else, so say so if the user picks one. Set refresh only for a board created a moment ago.
  • create_publicationPublish now or schedule a post on ONE connected account. Pass state 'ready' with a future publish_date to schedule, or 'draft' to leave it for a person to review. Media has to be uploaded first with upload_media; pass the returned ids in files. The text is validated against the network's limits before anything is sent. On Pinterest a pin needs things no other network asks for: a board (destination_id, from list_destinations), at least one image or video — a pin is never text alone — and, if it should lead somewhere, the URL in link. On TikTok the user has to choose who can see the post (visibility), whether people can comment, Duet or Stitch (interactions) and whether it is commercial content; nothing may be preselected. Call this without them and the answer lists what that account allows, so you can ask. On YouTube, ask whether the video is made for kids. An Instagram video can come back in state publishing while the network processes it: that is not a failure, PlanVortex finishes it by itself within minutes, and creating it again would publish it twice. Always show the user what you are about to publish and let them confirm it: this posts publicly under their brand.
  • update_publicationChange the text, media or scheduled date of a post that has NOT gone out yet (state draft or ready). A published post cannot be edited through PlanVortex; if you try, the error will say so. A Pinterest pin saved without a board (error 987) is fixed here by passing destination_id. On TikTok and YouTube the visibility and the other settings the user chose can be changed here too.
  • retry_publicationAsk PlanVortex to try a failed post again (state withErrors only: a post in state publishing has not failed, it is still on its way). Read get_publication first: if it failed because the text is too long or the account is disconnected, retrying changes nothing until that is fixed. On Instagram, error 999 (the network ran out of time) is worth retrying; 998 (it rejected the file) is not, until the file changes.
  • get_planner_templatesWhat an AI plan can be generated FROM, with the credits each template costs. Five of them: standard (a theme prompt, images generated by the model), from_images (the user's own photos, each with a description), from_text (an article by URL or pasted), from_catalog (products read live from a connected shop) and campaign (a countdown to a date, with a narrative arc). Read this before proposing a plan: the costs and the fields are prices, and they are not to be guessed or remembered. The ones that do not generate images cost a fraction — a week of 7 posts with a picture each is 519 credits on standard and 48 on from_images. Creating plans is off unless the server was started with PLANVORTEX_MCP_ALLOW_AI=1, because generating one spends AI credits. If create_ai_plan is not in your tool list, that is why: tell the user to add it to the env block of their MCP configuration.
  • list_store_productsThe products of a shop connected to the organization (a WooCommerce store), to choose the ones a from_catalog AI plan writes about. Without id_integration it lists the organization's connected shops, with the id to pass back. With it, one page of that shop's products, read live: search by text rather than walking the whole catalogue, and pass next_cursor back exactly as given. Out-of-stock products come marked and cannot be chosen. A product without a price has none to show, and a price is text to repeat as is, never a number to do maths with. Connecting a shop needs a person in the PlanVortex panel.
  • +19 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Postmcp MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "postmcp-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@postmcpai/server"
      ],
      "env": {
        "POSTMCPAI_API_KEY": "YOUR_POSTMCPAI_API_KEY_HERE",
        "POSTMCPAI_API_URL": "YOUR_POSTMCPAI_API_URL_HERE",
        "POSTMCPAI_PROJECT_ID": "YOUR_POSTMCPAI_PROJECT_ID_HERE",
        "PORT": "YOUR_PORT_HERE"
      }
    }
  }
}

PlanVortex

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "planvortex": {
      "command": "npx",
      "args": [
        "-y",
        "planvortex-mcp"
      ],
      "env": {
        "PLANVORTEX_CLIENT_ID": "YOUR_PLANVORTEX_CLIENT_ID_HERE",
        "PLANVORTEX_CLIENT_SECRET": "YOUR_PLANVORTEX_CLIENT_SECRET_HERE",
        "PLANVORTEX_ORGANIZATION_ID": "YOUR_PLANVORTEX_ORGANIZATION_ID_HERE",
        "PLANVORTEX_MCP_ALLOW_AI": "YOUR_PLANVORTEX_MCP_ALLOW_AI_HERE",
        "PLANVORTEX_MCP_READ_ONLY": "YOUR_PLANVORTEX_MCP_READ_ONLY_HERE",
        "PLANVORTEX_MCP_AUTH_TOKEN": "YOUR_PLANVORTEX_MCP_AUTH_TOKEN_HERE",
        "PLANVORTEX_MCP_UPLOAD_DIRS": "YOUR_PLANVORTEX_MCP_UPLOAD_DIRS_HERE"
      }
    }
  }
}

Frequently asked questions

Postmcp MCP Server is categorized under Social Media and uses a local stdio subprocess. PlanVortex belongs to Social Media and uses a local stdio subprocess. Pick Postmcp MCP Server for social media work and PlanVortex for social media.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Postmcp MCP Server has no declared pricing — check the project's own site. PlanVortex has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add postmcp-mcp-server and planvortex as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Postmcp MCP Server has a quality signal of 61/100 (Good) with 2 views, 0 installs and 0 GitHub stars. PlanVortex has 61/100 (Good) with 1 views, 0 installs and 0 GitHub stars.