MCP.Market

MisarPost MCP Server

online · 100% uptime
by Misar-AI·io.github.Misar-AI/misarpost-mcp·v3.0.0

Plan, generate, schedule and repurpose posts across every channel, and track what performs.

A87/100grade A
What users say
No reviews yet
Be the first
Safety scan
A87/100

full report

Adoption
Growing

0 stars58 downloads/wk

Reviews

Write one

Nobody has reviewed MisarPost MCP Server yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

MisarPost MCP Server tools (85, 31 write)

write = sends, deletes, buys or posts
  • analyze_competitorFree

    Analyse a competitor's public X (Twitter) or LinkedIn account — posting frequency, content pillars, gaps, engagement and best posting time — and save it (re-analysing the same handle updates it). Needs a plan that includes competitor analysis; otherwise it returns an upgrade message.

  • cancel_postwrite actionFree

    Cancel a post that is still pending or queued, so it never publishes. Posts that are already publishing or published cannot be cancelled, and a cancelled post cannot be re-queued — it must be scheduled again. To change a post instead, use update_post. Confirm with the user first.

  • configure_account_plugFree

    Turn a plug on or off for one connected account and set its configuration, replacing the plug's previous configuration. An activated plug later acts on that account's published posts automatically, in public, without asking again — confirm the exact plug and settings with the user first. Get valid plug keys and config fields from list_account_plugs.

  • create_personawrite actionFree

    Start learning a writing persona from recent posts — either a connected account (instagram, twitter, youtube) or a public profile (youtube, medium, mastodon, bluesky). Fetches the posts and analyses them with AI in the background (counts against the plan's AI image allowance, for the persona cover); returns a job id to poll with get_persona_job_status.

  • create_post_tagwrite actionFree

    Create a post tag with a name and colour, for grouping posts by campaign or theme. Names must be unique per user.

  • create_post_templatewrite actionFree

    Save a reusable post template: default text, optional per-platform text, target accounts, platform settings, media and first comment. Saving publishes nothing.

  • create_video_scriptwrite actionFree

    Write a short talking-presenter video script from a post's text. Saves nothing; counts against the monthly AI allowance. Show the script to the user before generate_video.

  • create_webhookwrite actionFree

    Register an outbound webhook: MisarPost will POST signed payloads for the chosen events to this URL from now on. The response carries the signing secret exactly once — tell the user to store it; it cannot be shown again. Sending account data to a new URL needs the user's explicit approval of that URL.

  • delete_mediawrite actionFree

    Permanently delete a file from the media library and storage. Posts that already include its URL keep their own copy of the URL, but the file behind it is gone. Confirm with the user first.

  • delete_personawrite actionFree

    Permanently delete a persona and its learned voice. Recreating it means re-running create_persona. Confirm with the user first.

  • delete_post_tagwrite actionFree

    Permanently delete a post tag and remove it from every post that carries it. The posts themselves are not affected. Confirm with the user first.

  • delete_post_templatewrite actionFree

    Permanently delete a saved post template. Posts already scheduled from it are not affected. Confirm with the user first.

  • delete_repurpose_sourcewrite actionFree

    Delete one repurposed source and its variants from ContentRipple history. Posts already scheduled or published from it are not touched. This cannot be undone — confirm with the user first.

  • delete_webhookwrite actionFree

    Permanently remove an outbound webhook; events stop being delivered to its URL. Confirm with the user first.

  • enhance_topicFree

    Rewrite a raw topic or idea into a structured content brief: a sharper topic, suggested tone, content angles and key messages for the chosen platforms. Saves nothing; counts against the monthly AI allowance. Feed the result to generate_plan or generate_posts.

  • fetch_content_feedFree

    Read an RSS or Atom feed and return its entries, so the user can pick one to repurpose with repurpose_content (source_type rss). Nothing is saved.

  • generate_bio_variantsFree

    Generate two profile-bio variants for one platform in the user's trained voice — A authority-focused, B curiosity-focused — and save them as a bio A/B test. Optionally pass the current bio to improve on. Uses one AI text action. Nothing is changed on the platform itself.

  • generate_imageFree

    Generate an image for a post from a text prompt, sized for the platform (16:9 for X, LinkedIn and YouTube, square for Instagram and Threads, 9:16 for TikTok), and store it in the user's media. Returns its URL to attach to a post. Uses one AI image action from the plan's quota. Nothing is posted.

  • generate_persona_postwrite actionFree

    Write a post about a topic in a persona's voice (or the user's own trained voice when no persona is given), with a voice-match score. The post is saved for review, not scheduled. Counts against the monthly PersonaForge post allowance.

  • generate_persona_replyFree

    Draft a reply, in the user's trained voice, to an inbound comment or message on one of their posts. The draft is saved as pending for review (list_persona_replies) — nothing is sent. Needs a plan with PersonaForge replies.

  • generate_planFree

    For a topic or brief, suggest hook options, the best posting time slots, and trending hashtags per platform. Saves nothing and schedules nothing; counts against the monthly AI allowance.

  • generate_postswrite actionFree

    Write AI post variants about a topic for one or more platforms — up to 5 per platform — and save them as drafts (visible in list_drafts). Nothing is scheduled or published. Each call counts against the plan's monthly AI generation allowance.

  • generate_trend_platform_contentFree

    Generate per-platform content (hashtags, and titles where a platform needs them) for one trend snapshot, for the platforms asked (default: all seven). Regenerating replaces the earlier content for those platforms. Nothing is posted — turn one into a draft with use_trend_platform_content.

  • generate_videoFree

    Start rendering an AI presenter video from a script, avatar and voice. Returns a job id immediately; poll get_video_status until it completes. Rendering is metered and spends the user's video allowance — confirm the script first.

  • get_analytics_trendsFree

    Get per-channel daily trends for the last 7, 30 or 90 days: posts published and failed, engagement and impressions, totals, and the change against the previous period. Each channel's metric field says whether real engagement data exists for it (engagement) or only publish volume (posts) — never present a posts-only channel's zero engagement as a real result.

  • get_calendarFree

    Get every post scheduled between two dates (default: 7 days ago to 30 days ahead), oldest first, with platform, status, time, text, media, first comment and tags — the content calendar view. Optionally only posts with one tag. Needs a plan that includes the content calendar; otherwise it returns an upgrade message.

  • get_contentripple_usageFree

    Show how many ContentRipple repurposes the user has run this month, their monthly limit (null means unlimited), and their plan tier. Check before a large repurposing run so it does not stop halfway.

  • get_growth_overviewFree

    Get the Growth Hub overview for the last 7, 30 or 90 days: per-platform engagement trend lines, the weakest-performing platforms (bottlenecks), which post formats perform best, and which platforms have real trend data behind their suggestions. Requires the Empire plan; on other plans it returns an upgrade message.

  • get_next_growth_opportunityFree

    Get the single best next content opportunity for the user's connected platforms and niches — a compact version of list_growth_opportunities. Returns `{ opportunity: null }` rather than an invented one when there is no real signal. Requires the Empire plan; on other plans it returns an upgrade message.

  • get_optimization_insightsFree

    Analyse the last 30 days of post metrics with AI and return the best time of day, best tone, top hashtags, prompt suggestions and per-platform insights. Changes nothing, but each call counts against the monthly AI allowance.

  • get_personaFree

    Get one persona in full: its name, cover image, source account, and the style profile used when writing in it.

  • get_persona_job_statusFree

    Check a persona extraction job started by create_persona: its status, the new persona's id once done, or the error.

  • get_post_templatewrite actionFree

    Get one saved post template in full, by id — to reuse its text, accounts and settings in schedule_post.

  • get_statsFree

    Get the account overview: connected accounts, posts queued, published this week and this month, drafts waiting, the last published post, the top performing post of the month, and the average engagement rate (null when no metrics exist yet).

  • get_trend_hooksFree

    Get the content hooks (opening lines and angles) for one trend snapshot — snapshot ids come from get_trends.

  • get_trend_performanceFree

    Show how the user's trend-sourced posts actually performed: each TrendPulse draft (last 100) joined to whether it was scheduled or published and its likes, comments, reposts, impressions and reach.

  • get_trend_platform_contentFree

    Get the per-platform content already generated for one trend snapshot — hashtags, plus title/description for YouTube and title/subtitle for Medium. Empty until generate_trend_platform_content has run for it.

  • get_trendsFree

    Get the latest trending hashtags and content hooks for the user's TrendPulse niches, each with a snapshot id. Returns cached results under two hours old, or refreshes them live from the trend sources.

  • get_video_statusFree

    Check an AI video job: processing, failed (with the error), or completed with the video's URL in the media storage — ready for schedule_post's media_urls.

  • get_voice_modelFree

    Get the user's own trained voice model — tone breakdown, signature phrases, emoji patterns, average post length, preferred hooks, hashtag style and how many posts it learned from. `model` is null until train_voice_model has run.

  • list_account_plugsFree

    Show the plugs (automatic follow-up actions — e.g. reposting or resharing a post once it passes a likes or reactions threshold, on X, Bluesky, Threads and LinkedIn) available for one connected account, how each is currently configured and activated, and the account's 20 most recent plug runs.

  • list_competitor_personasFree

    List the competitor accounts the user has analysed, newest first, with posting frequency, content pillars, gaps, average engagement and best posting time.

  • list_connectionsFree

    List the user's active connected social accounts with their account ID, platform and display name. Call this before scheduling: schedule_post needs the connected_account_id, and a post can only go to an account that is connected and active.

  • list_draftsFree

    List up to 50 draft post variants awaiting review (status draft or pending_review), newest first — including AI-generated drafts from generate_posts — with platform, caption, hashtags, tone and source.

  • list_growth_opportunitiesFree

    List rising trends worth posting about now, limited to the user's niches and to platforms they have connected, each with the hashtag, its growth, and a posting suggestion. Returns an empty list — never an invented one — when no real signal exists. Requires the Empire plan; on other plans it returns an upgrade message.

  • list_growth_playbooksFree

    Get per-platform growth playbooks for the user's connected platforms — cadence, format, timing and anti-spam guidance compiled from each platform's official creator documentation, with source links. Requires the Empire plan; on other plans it returns an upgrade message.

  • list_mediaFree

    List the user's uploaded media library, newest first, 24 per page, with each file's public URL — usable directly in schedule_post's media_urls.

  • list_notificationsFree

    List the user's MisarPost notifications (publish results, account problems and the like), newest first, with the unread count.

  • list_persona_repliesFree

    List AI-drafted replies to inbound comments and messages, by status (default pending — the ones waiting for review).

  • list_personasFree

    List the user's PersonaForge personas — writing styles learned from a real account — plus extraction jobs still running and recent failures.

  • list_post_tagswrite actionFree

    List the user's post tags (id, name, colour). Tag ids filter list_posts and get_calendar and are applied with schedule_post or update_post.

  • list_post_templateswrite actionFree

    List the user's saved post templates, most recently updated first — reusable composer states with text, per-platform overrides, target accounts, platform settings, media and first comment.

  • list_postsFree

    List the user's scheduled and published posts, newest-scheduled first, 20 per page, with platform, status, scheduled/published time, post URL, tags and engagement metrics. Filter by status (e.g. queued or pending for what is coming up — the content calendar — or published for what went out) or by tag.

  • list_publish_optionswrite actionFree

    Look up the destinations a connected account can publish into — Discord or Slack channels, Pinterest boards, Reddit post flairs, Hashnode or Medium publications, Hashnode tags, Lemmy communities, Listmonk lists or templates, Skool groups, Whop forums, or WordPress categories and tags. Use the returned ids in schedule_post's platform_meta. Reads live from the platform, so an empty list can also mean the platform could not be reached.

  • list_repurpose_historyFree

    List past ContentRipple repurposes, newest first: each source (type, URL, title, core message) with its variants and, for variants that were scheduled, the post's status, URL and engagement.

  • list_video_avatarsFree

    List the stock presenter avatars available for AI video generation. Pass an avatar's id to generate_video.

  • list_video_voicesFree

    List the stock voices available for AI video generation. Pass a voice's id to generate_video.

  • list_webhooksFree

    List the user's outbound webhooks — the URLs MisarPost sends signed event payloads to — with their events and whether each is active. Signing secrets are never returned.

  • list_workspacesFree

    List the workspaces the user belongs to. When workspace scoping is on, posts, accounts and stats are limited to the active workspace.

  • mark_all_notifications_readFree

    Mark every unread notification as read. There is no way to mark them unread again.

  • mark_notification_readFree

    Mark one notification as read, e.g. after relaying it to the user. It drops out of the unread count.

  • parse_content_sourceFree

    Extract the core message, key points and structure from a URL, pasted text (50-20,000 characters) or Markdown, without generating any variants — a preview of what repurpose_content would work from. Counts against the monthly repurpose limit and uses one AI text action, so prefer repurpose_content when the user wants variants anyway.

  • queue_trend_draftsFree

    Turn 1–3 trend snapshots (from get_trends) into draft posts — one per snapshot for each platform the user has connected — saved to the draft queue (list_drafts). Nothing is scheduled or published.

  • refresh_trendsFree

    Force a fresh fetch of trending hashtags from every trend source for the user's niches and store new snapshots, instead of waiting for the scheduled refresh. Needs a plan that includes manual refresh; otherwise it returns an upgrade message. Use get_trends afterwards to read them.

  • rename_personaFree

    Rename a persona. Its learned voice is unchanged.

  • reply_to_postwrite actionFree

    Post a public reply/comment on one of the user's ALREADY-PUBLISHED posts, on the platform it was published to. It goes live immediately and cannot be recalled from here. Show the user the exact text and get their explicit approval before calling. Not every platform supports replies; an unsupported one returns an error.

  • repurpose_contentFree

    Turn one source — a URL, pasted text or markdown, or an RSS item — into channel-native variants such as an X thread, LinkedIn post or carousel, Instagram caption or reel script, newsletter, or YouTube description. Fetches the URL, extracts the core message, writes each variant with AI, and saves source and variants. Returns each saved variant with its id. Nothing is scheduled or published. Counts against the monthly ContentRipple allowance.

  • research_hashtagsFree

    Build a tiered hashtag strategy for a keyword across platforms — broad, mid and niche tags plus each platform's algorithm signals. Saves nothing; counts against the monthly AI allowance.

  • revert_postwrite actionFree

    Delete an ALREADY-PUBLISHED post from the platform it went out on (unlike cancel_post, which only stops a post that has not published yet). This removes it from the user's live profile and cannot be undone. Get the user's explicit approval for this exact post first. The response includes the post's postBatchId, for revert_post_batch.

  • revert_post_batchwrite actionFree

    "Delete everywhere": delete every published post from one batch (one compose or repurpose action sent to several accounts) from all of its platforms. Each platform is attempted separately and reported separately; some platforms (e.g. TikTok) have no delete API and need manual clean-up. Cannot be undone — get the user's explicit approval first.

  • review_draftsFree

    Approve or reject several drafts at once by ID. Approving does NOT schedule or publish anything — use schedule_post for that. Rejected drafts drop out of list_drafts. Returns how many drafts were updated.

  • review_persona_replyFree

    Approve, edit or reject one pending AI-drafted reply. Approving or editing adds the final text to the draft queue (list_drafts) — it is not posted. Reject marks it skipped. Act only on the user's decision.

  • schedule_content_variantFree

    Schedule a saved ContentRipple variant (its text plus hashtags) to a connected account of the matching platform at a given time. Only these formats can be published: twitter_thread, linkedin_post, linkedin_carousel, instagram_caption, instagram_reel_script, threads_post, mastodon_post, bluesky_post — the rest are copy-only. This queues real content for a real audience; confirm the text, account and time with the user first.

  • schedule_postwrite actionFree

    Schedule a post to ONE connected account at a given time, or publish it immediately with scheduled_at="now". This queues real content for a real audience — show the user the exact text, account and time and get explicit approval first. To post the same content to several accounts, call once per account with the same post_batch_id. The user's post signature is appended server-side, and the safety gateway may refuse a post (account health, daily limits, duplicates).

  • schedule_trend_postswrite actionFree

    Publish posts about 1–3 trend snapshots to the given connected accounts, scheduled five minutes from now — one post per content hook per account, written from the trend's hooks. This puts real content in front of a real audience almost immediately and the user does not see the text first: show them get_trends' hooks and get explicit approval. Prefer queue_trend_drafts when they want to review.

  • send_trend_digestwrite actionFree

    Email the user their trend digest (top recent trends for their niches) now. It always goes to the account owner's own address — never anyone else. Returns `skipped` when the digest is turned off or there are no recent trends.

  • share_postwrite actionFree

    Create (or return the existing) public preview link for one of the user's posts. Anyone with the link can view the post without signing in, so get the user's explicit approval before sharing. Revoke it with unshare_post.

  • train_voice_modelFree

    Train (or retrain) the user's own voice model from their last 50 published posts. Replaces the existing voice model. Uses one AI text action from the plan's quota and fails with a clear message when the user has no published posts yet. Confirm with the user before retraining.

  • unshare_postwrite actionFree

    Revoke a post's public preview link, so the old link stops working. Safe to call when no link exists.

  • update_content_variantwrite actionFree

    Edit a saved ContentRipple variant's text (which marks it edited) and/or set its status. Use the variant id returned by repurpose_content. Publishes nothing.

  • update_postwrite actionFree

    Edit a post that has not gone out yet (status pending, queued or draft): its text, its scheduled time, its first comment, or its tags. Changing the time moves when it publishes, so confirm the new text and time with the user first. Published posts cannot be edited.

  • update_post_tagwrite actionFree

    Rename and/or recolour a post tag. Posts keep the tag.

  • update_post_templatewrite actionFree

    Change a saved post template. Only the fields passed are changed, and each one passed replaces the stored value entirely (e.g. account_ids replaces the whole list).

  • update_webhookwrite actionFree

    Change an outbound webhook's URL or events, or pause/resume it with active. Only the fields passed change.

  • use_trend_platform_contentFree

    Turn one platform's generated trend content into a draft post (generating it first if needed). The draft lands in the review queue (list_drafts) — nothing is published or scheduled.

Public scan report

scanner v0.1.10 · 2026-10-28 · same rubric, same numbers if you re-run it

no findings
  • Code scan78 source files scanned25/25
  • Live reliabilityremote reachable in 2884ms17/20
  • Tool poisoning85 tool descriptions checked15/15
  • Auth qualityAPI key sent as a header8/15
  • Maintenancelast push 5 days ago15/15
  • Maintainer identityregistry namespace matches repository owner7/10
Overall 87/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How MisarPost MCP Server compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
87/100
higher than 73% of 48,255 servers
Tools
85
the typical server has 7
Tools that change things
36%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
724 ms
faster than 19% of 30,031 servers
Downloads a week
58
more than 48% of 12,191 servers with a package

What its tools let an agent do: 45 read · 13 create · 17 change · 7 delete · 3 send or post

Install MisarPost MCP Server in Claude Code, Cursor or VS Code

claude mcp add --transport http misarpost-mcp https://api.misar.io/post/mcp
Add to Cursor

What the publisher says

From the MisarPost MCP Server repository's README, as published. We do not edit it. Read it on GitHub

MisarPost MCP Server

Plan, generate, schedule and repurpose posts across every connected channel, and track what performs — from any AI assistant.

85 tools · 8 prompts · 6 resources · 8 agent skills

Works with Claude (Desktop, Code, and web), Cursor, VS Code, Windsurf, Cline, Zed, Gemini CLI, ChatGPT, and any other MCP-compatible client — over stdio or Streamable HTTP.

Install

Smithery (recommended)

npx -y @smithery/cli install misar/misarpost-mcp --client claude

Claude Code

claude mcp add misarpost -- npx -y @misarpost/mcp@latest

Manual (any client)

{
  "mcpServers": {
    "misarpost": {
      "command": "npx",
      "args": ["-y", "@misarpost/mcp@latest"],
      "env": { "MISARPOST_API_KEY": "mpk_your_key_here" }
    }
  }
}

Ready-made configs for every client live in connectors/.

Remote (no install)

{
  "mcpServers": {
    "misarpost": {
      "type": "streamable-http",
      "url": "https://api.misar.io/post/mcp",
      "headers": { "Authorization": "Bearer mpk_your_key_here" }
    }
  }
}

Authentication

Create an API key at https://post.misar.io/dashboard/api-keys (Dashboard → API keys) — it starts with mpk — and give it to the server in one of three ways: the MISARPOSTAPIKEY environment variable, your MCP client's env block, or { "apikey": "mpk_…" } in ~/.misarpost/config.json.

Self-hosted instances: set MISARPOSTBASEURL.

Tools

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

MisarPost MCP Server: common questions

Is MisarPost MCP Server safe?
Yes, by our scan: it is graded A (87/100). Read the MisarPost MCP Server safety report
How do I install MisarPost MCP Server?
It runs remotely at api.misar.io. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does MisarPost MCP Server need an API key?
Yes. The registry entry asks for MISARPOST_API_KEY, Authorization.
Is MisarPost MCP Server maintained?
The last commit was 12 days ago (2026-10-23). The latest release is v3.0.0.
Is MisarPost MCP Server up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does MisarPost MCP Server compare with other MCP servers?
safety score 87/100 (higher than 73% of 48,255 servers); tools 85 (the typical server has 7); tools that change things 36% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

More from Misar-AI →