MisarMisar Docs
MisarMailMisar.BlogMisarReachMisarPostMisar.DevMisarSEOMisar PlatformMisar SSO
MCP

MCP Tools

Complete reference for all MisarPost MCP server tools — inputs, outputs, and usage examples.

The MisarPost MCP server exposes 21 tools grouped into five areas: connections, posts, drafts, generation, and ContentRipple. Tool names below match the server implementation exactly.

Connections

list_connections

Lists all active connected social accounts for the authenticated user. Returns the account IDs needed for scheduling posts.

Input — none

Output — array of { id, platform, display_name, avatar_url, status }.


get_stats

Gets dashboard overview stats.

Input — none

Output{ connectedAccounts, queuedPosts, publishedThisWeek, publishedThisMonth, drafts, lastPost, topPerformingPost, avgEngagementRate }


Posts

list_posts

Lists the authenticated user's scheduled/published posts with optional status filter and pagination.

Input

FieldTypeRequiredDescription
statusstringNoFilter by status: pending, queued, publishing, published, failed, rejected
pagenumberNoPage number (default: 1, page size 20)

Output — array of posts with id, platform, content_text, status, scheduled_at, published_at.


update_post

Edits a pending or queued post's content, scheduled time, or first comment.

Input

FieldTypeRequiredDescription
idstringYesPost UUID
contentTextstringNoNew post text (max 5000 chars)
scheduledAtstringNoNew ISO 8601 datetime with timezone offset
firstCommentstringNoFirst comment text, or null to remove

Output — the updated post object.


cancel_post

Cancels a pending or queued post.

Input

FieldTypeRequiredDescription
idstringYesUUID of the post to cancel

Output{ ok: true }


schedule_post

Schedules a new post to a connected social account.

Input

FieldTypeRequiredDescription
connectedAccountIdstringYesUUID of the connected account (use list_connections)
platformstringYestwitter, linkedin, instagram, threads, tiktok, bluesky
contentTextstringYesPost content (max 5000 chars)
scheduledAtstringYesISO 8601 datetime or "now"
mediaUrlsstring[]NoMedia attachment URLs (max 10)
firstCommentstringNoFirst comment text (LinkedIn/Instagram, max 2200 chars)

Output — created post object with id, status, and queue_job_id.


Drafts

list_drafts

Lists draft and pending-review post variants (generated from GitHub webhooks or AI). Returns up to 50.

Input — none

Output — array of { id, platform, caption, hashtags, tone, status, source }.


bulk_action_drafts

Approves or rejects multiple draft variants by their IDs.

Input

FieldTypeRequiredDescription
actionstringYes"approve" or "reject"
idsstring[]YesArray of draft variant UUIDs (at least 1)

Output{ updated: number }


Generation

generate_posts

Generates AI post variants for one or more platforms. Returns up to 5 variants per platform, saved as drafts.

Input

FieldTypeRequiredDescription
topicstringYesTopic or brief for the post (3–500 chars)
platformsstring[]YesTarget platforms: twitter, linkedin, instagram, threads, tiktok, bluesky, youtube
tonestringNoprofessional, casual, technical, inspirational (default: professional)
countnumberNoVariants per platform (1–5, default 3)

Output{ variants: [{ platform, variants: [{ caption, hashtags }] }] }


enhance_topic

Rewrites a raw topic into a structured content brief: enhanced topic, suggested tone, content angles, and key messages.

Input

FieldTypeRequiredDescription
rawTopicstringYesRaw topic or idea (3–500 chars)
platformsstring[]YesTarget platforms (at least one)
goalstringNoawareness, engagement, conversion, viral (default: engagement)
audiencestringNoTarget audience description

Output{ enhancedTopic, suggestedTone, contentAngles, keyMessages }


generate_plan

Generates hook options, best time slots, and trending hashtags for a topic across platforms.

Input

FieldTypeRequiredDescription
enhancedTopicstringYesEnhanced topic or content brief (3–1000 chars)
platformsstring[]YesTarget platforms (at least one)

Output{ hooks, bestTimeSlots, trendingHashtags, suggestedImageStyle }


get_optimization_insights

Gets AI-powered optimization insights based on post performance from the last 30 days. Returns best time of day, best tone, top hashtags, and platform-specific insights.

Input

FieldTypeRequiredDescription
platformstringNoFilter to a specific platform. Omit for all platforms.

Output{ bestTimeOfDay, bestTone, topHashtags, promptSuggestions, platformInsights }


research_hashtags

Generates a tiered hashtag strategy for a keyword across platforms, including per-platform algorithm signals.

Input

FieldTypeRequiredDescription
keywordstringYesPrimary keyword or topic (2–200 chars)
platformsstring[]YesTarget platforms (at least one)
nichestringNoContent niche (max 100 chars)
goalstringNoawareness, engagement, conversion, viral (default: awareness)

Output — tiered hashtag strategy keyed by platform.


ContentRipple

get_contentripple_usage

Gets the current month's ContentRipple repurpose usage and limit for the authenticated user.

Input — none

Output{ count, limit, tier }


repurpose_content

Repurposes a URL or raw text into multiple platform-native content variants. Requires a ContentRipple plan allowance.

Input

FieldTypeRequiredDescription
sourceTypestringYesurl, text, docforge, or github_release
sourceUrlstringConditionalRequired when sourceType is url
rawContentstringConditionalRequired when sourceType is text (max 20000 chars)
platformsstring[]NoTarget platforms (omit for all supported platforms)
tonestringNoWriting tone (default: professional)

Output{ source: { id, title, core_message }, variants: [{ platform, content, hashtags }] }


update_content_variant

Edits a generated ContentRipple content variant — updates its text or sets its status.

Input

FieldTypeRequiredDescription
variantIdstringYesContent variant UUID
contentstringNoNew variant text (max 20000 chars)
statusstringNogenerated, edited, queued, posted

Output{ variant }


schedule_content_variant

Schedules a ContentRipple variant to a connected social account via the EchoForge queue.

Input

FieldTypeRequiredDescription
variantIdstringYesContent variant UUID to schedule
connectedAccountIdstringYesUUID of the connected social account
scheduledAtstringYesISO 8601 datetime for when to publish

Output{ post }


get_trends

Fetches the latest trending hashtags and content hooks for the user's configured niches. Returns cached results (< 2 hours old) or triggers a live refresh.

Input — none

Output{ trends: [{ hashtag, niche, score, growth_pct, volume, lifecycle }], source }


queue_trend_drafts

Triggers the TrendPulse pipeline: takes trend snapshots and creates draft post variants in the EchoForge queue for each connected platform.

Input

FieldTypeRequiredDescription
snapshotIdsstring[]YesArray of trend snapshot UUIDs (1–3)

Output{ queued: string[] }


get_calendar

Gets scheduled posts in a date range for the content calendar view.

Input

FieldTypeRequiredDescription
fromstringNoStart date YYYY-MM-DD (default: 7 days ago)
tostringNoEnd date YYYY-MM-DD (default: 30 days from now)

Output{ posts }