SocialHive
What this MCP does
Creates, adapts, schedules, and publishes social media content while managing media, connected channels, workflows, and performance analytics.
Tools
Input schema
{'type': 'object', 'required': ['text', 'platform'], 'properties': {'text': {'type': 'string', 'maxLength': 8000, 'minLength': 1}, 'platform': {'enum': ['linkedin', 'x', 'bluesky', 'mastodon', 'instagram', 'facebook', 'threads', 'tiktok', 'youtube', 'pinterest', 'gbp'], 'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['adaptations'], 'properties': {'adaptations': {'type': 'object'}}, 'description': 'Adapted post copy keyed by channel platform'}
Input schema
{'type': 'object', 'required': ['title', 'body', 'status'], 'properties': {'body': {'type': 'string', 'minLength': 1, 'description': 'Full Markdown body of the article'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Article headline or title'}, 'status': {'enum': ['outline', 'drafting', 'ready', 'published'], 'type': 'string', 'default': 'ready', 'description': 'Article status: ready (default), drafting, outline, or published'}, 'summary': {'type': 'string', 'maxLength': 2000, 'description': 'Brief synopsis, excerpt, or meta description for SEO and social snippets'}, 'seoTitle': {'type': 'string', 'maxLength': 150, 'description': 'Optional SEO title'}}}
Output schema
{'type': 'object', 'required': ['id', 'title', 'status', 'words'], 'properties': {'id': {'type': 'string', 'description': 'Article ID'}, 'title': {'type': 'string', 'description': 'Article title'}, 'words': {'type': 'number', 'description': 'Word count'}, 'status': {'type': 'string'}, 'reviewUrl': {'type': 'string', 'description': 'URL to view or edit the article in SocialHive'}, 'monthlyRemaining': {'type': 'number', 'description': 'Remaining articles allowed via MCP this month (out of 10)'}}, 'description': 'Created article details'}
Input schema
{'type': 'object', 'required': ['channelIds'], 'properties': {'body': {'type': 'string', 'maxLength': 20000, 'description': 'Post copy text (optional if mediaIds is provided)'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40}, 'maxItems': 20}, 'title': {'type': 'string', 'maxLength': 200}, 'thread': {'type': 'array', 'items': {'type': 'string', 'maxLength': 20000}, 'maxItems': 50}, 'mediaIds': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'description': 'Array of media asset UUIDs returned by import_media or list_media'}, 'overrides': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 20000}}, 'channelIds': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': "Destination channel UUIDs or platform names (e.g. ['linkedin', 'instagram'])"}, 'scheduledAt': {'type': 'string', 'description': "ISO 8601 UTC timestamp to schedule the post (e.g. '2026-09-21T11:00:00Z'). Without this, saves as a draft."}}}
Output schema
{'type': 'object', 'required': ['id', 'status'], 'properties': {'id': {'type': 'string', 'description': 'Post ID'}, 'status': {'type': 'string'}, 'channels': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Created post draft or queue entry'}
Input schema
{'type': 'object', 'required': ['prompt'], 'properties': {'alt': {'type': 'string', 'maxLength': 300}, 'prompt': {'type': 'string', 'maxLength': 2000, 'minLength': 3}, 'quality': {'enum': ['free', 'fast', 'hq'], 'type': 'string'}, 'aspectRatio': {'enum': ['1:1', '4:5', '16:9', '9:16'], 'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Public URL of generated image'}, 'mediaId': {'type': 'string'}}, 'description': 'Generated image media details'}
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'format': {'enum': ['single', 'thread'], 'type': 'string'}, 'language': {'type': 'string', 'maxLength': 40}, 'variants': {'type': 'integer', 'maximum': 3, 'minimum': 1}, 'platforms': {'type': 'array', 'items': {'enum': ['linkedin', 'x', 'bluesky', 'mastodon', 'instagram', 'facebook', 'threads', 'tiktok', 'youtube', 'pinterest', 'gbp'], 'type': 'string'}, 'maxItems': 6, 'minItems': 1}}}
Output schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Generated copy'}, 'model': {'type': 'string'}, 'tokens': {'type': 'number'}}, 'description': 'Generated post copy and metadata'}
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'maximum': 365, 'minimum': 1}}}
Output schema
{'type': 'object', 'required': ['timezone', 'summary', 'topPosts'], 'properties': {'summary': {'type': 'object'}, 'timezone': {'type': 'string'}, 'topPosts': {'type': 'array', 'items': {'type': 'object'}}, 'recommendedSlots': {'type': 'array', 'items': {'type': 'object'}}}, 'description': 'Aggregated performance summary and recommended posting slots'}
Input schema
{'type': 'object', 'required': ['articleId'], 'properties': {'articleId': {'type': 'string', 'description': 'Article UUID'}}}
Output schema
{'type': 'object', 'required': ['id', 'title', 'body', 'status', 'words'], 'properties': {'id': {'type': 'string'}, 'body': {'type': 'string'}, 'title': {'type': 'string'}, 'words': {'type': 'number'}, 'status': {'type': 'string'}, 'summary': {'type': 'string', 'nullable': True}, 'seoTitle': {'type': 'string', 'nullable': True}, 'createdAt': {'type': 'string'}, 'reviewUrl': {'type': 'string'}, 'updatedAt': {'type': 'string'}}, 'description': 'Full article details with Markdown body'}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', 'properties': {'result': {'type': 'object', 'description': 'Structured output from tool execution'}}, 'description': 'Output payload for get_connected_social_accounts'}
Input schema
{'type': 'object', 'required': ['postId'], 'properties': {'postId': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['id', 'body', 'status', 'variants'], 'properties': {'id': {'type': 'string'}, 'body': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'metrics': {'type': 'object', 'nullable': True}, 'variants': {'type': 'array', 'items': {'type': 'object'}}, 'publishedAt': {'type': 'string', 'nullable': True}, 'scheduledAt': {'type': 'string', 'nullable': True}}, 'description': 'Full post details with variants and metrics'}
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'alt': {'type': 'string', 'maxLength': 400}, 'url': {'type': 'string', 'format': 'uri'}, 'mime': {'type': 'string', 'maxLength': 50}, 'label': {'type': 'string', 'maxLength': 120}}}
Output schema
{'type': 'object', 'required': ['assetId', 'kind', 'url'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'assetId': {'type': 'string'}}, 'description': 'Imported media asset details'}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max number of articles to return (default 20)'}, 'status': {'enum': ['outline', 'drafting', 'ready', 'published'], 'type': 'string', 'description': 'Filter by article status'}}}
Output schema
{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'status', 'words'], 'properties': {'id': {'type': 'string', 'description': 'Article ID'}, 'url': {'type': 'string'}, 'title': {'type': 'string', 'description': 'Article title'}, 'words': {'type': 'number', 'description': 'Word count'}, 'status': {'type': 'string', 'description': 'Status (outline, drafting, ready, published)'}, 'summary': {'type': 'string', 'nullable': True, 'description': 'Summary or brief'}, 'createdAt': {'type': 'string'}, 'updatedAt': {'type': 'string'}}}, 'description': 'List of articles in the workspace library'}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'platform', 'status'], 'properties': {'id': {'type': 'string', 'description': 'Channel ID'}, 'kind': {'type': 'string', 'description': 'Channel kind'}, 'handle': {'type': 'string', 'description': 'Account handle'}, 'status': {'type': 'string', 'description': 'Status (active, disconnected, error)'}, 'platform': {'type': 'string', 'description': 'Platform name (linkedin, x, instagram, etc.)'}, 'followers': {'type': 'number', 'description': 'Follower count'}, 'displayName': {'type': 'string', 'description': 'Display name'}}}, 'description': 'Array of connected channels with status, platform, and follower counts'}
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 100}, 'kind': {'enum': ['image', 'video', 'document'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}}}
Output schema
{'type': 'object', 'required': ['assets'], 'properties': {'assets': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'kind', 'url'], 'properties': {'id': {'type': 'string'}, 'alt': {'type': 'string'}, 'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'label': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'durationSec': {'type': 'number'}}}}}, 'description': 'List of workspace media assets'}
Input schema
{'type': 'object', 'properties': {'group': {'enum': ['trigger', 'source', 'ai', 'control', 'dest'], 'type': 'string'}}}
Output schema
{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'category'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'category': {'type': 'string'}}}, 'description': 'Available workflow node types'}
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 120}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'status': {'enum': ['draft', 'pending_approval', 'requires_edits', 'scheduled', 'publishing', 'published', 'failed'], 'type': 'string'}}}
Output schema
{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'status', 'channels'], 'properties': {'id': {'type': 'string', 'description': 'Post ID'}, 'title': {'type': 'string', 'description': 'Post title'}, 'status': {'type': 'string', 'description': 'Status'}, 'excerpt': {'type': 'string'}, 'channels': {'type': 'array', 'items': {'type': 'string'}}, 'publishedAt': {'type': 'string', 'nullable': True}, 'scheduledAt': {'type': 'string', 'nullable': True}}}, 'description': 'List of posts matching filter criteria'}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}, 'unusedItems': {'type': 'number'}}}, 'description': 'Connected content ingestion sources'}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'active'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'active': {'type': 'boolean'}, 'runsCount': {'type': 'number'}}}, 'description': 'Automation workflows in the workspace'}
Input schema
{'type': 'object', 'required': ['name', 'description', 'graph'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'graph': {'type': 'object', 'required': ['nodes', 'edges'], 'properties': {'edges': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source', 'target'], 'properties': {'id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'label': {'type': 'string', 'maxLength': 40}, 'source': {'type': 'string', 'minLength': 1}, 'target': {'type': 'string', 'minLength': 1}, 'sourceHandle': {'type': ['string', 'null']}, 'targetHandle': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'maxItems': 120}, 'nodes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'position', 'config'], 'properties': {'id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'type': {'type': 'string', 'minLength': 1}, 'label': {'type': 'string', 'maxLength': 80}, 'config': {'type': 'object', 'default': {}, 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'position': {'type': 'object', 'required': ['x', 'y'], 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 60}, 'config': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}, 'additionalProperties': False}, 'description': {'type': 'string', 'default': '', 'maxLength': 500}}}
Output schema
{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Workflow ID'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}}, 'description': 'Created draft workflow'}
Input schema
{'type': 'object', 'required': ['postId'], 'properties': {'postId': {'type': 'string', 'description': 'Post UUID to publish'}}}
Output schema
{'type': 'object', 'required': ['id', 'status'], 'properties': {'id': {'type': 'string', 'description': 'Post ID'}, 'status': {'type': 'string'}}, 'description': 'Publication result'}
Input schema
{'type': 'object', 'required': ['postId', 'scheduledAt'], 'properties': {'postId': {'type': 'string', 'description': 'Post UUID'}, 'scheduledAt': {'type': 'string', 'description': 'ISO 8601 UTC datetime string'}}}
Output schema
{'type': 'object', 'required': ['id', 'scheduledAt', 'status'], 'properties': {'id': {'type': 'string', 'description': 'Post ID'}, 'status': {'type': 'string'}, 'scheduledAt': {'type': 'string', 'description': 'Scheduled ISO timestamp'}}, 'description': 'Confirmed schedule details'}
Input schema
{'type': 'object', 'required': ['sourceId'], 'properties': {'q': {'type': 'string', 'maxLength': 120}, 'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'sourceId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'unusedOnly': {'type': 'boolean'}}}
Output schema
{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}, 'publishedAt': {'type': 'string', 'nullable': True}}}, 'description': 'Matching ingested source items'}
Recent tool changes
Similar MCP servers
captapi
Retrieves social media profiles, posts, engagement metrics, comments, marketplace listings, events, and Meta advertising data acr…
SendIt
Plans, generates, approves, schedules, publishes, and analyzes social media content across LinkedIn, Instagram, Threads, TikTok, …
aidelly
Supports agency social media operations including content creation, approvals, scheduling, publishing, repurposing, analytics, ec…
LinkedIn MCP Server (Salesbot)
Supports LinkedIn lead discovery, contact enrichment, CRM pipelines, campaign sequencing, message approval and human-reviewed out…
excalibur-mcp
Creates, schedules, manages, and measures formatted posts for X, with OAuth, snippets, writing voice, and post performance tracki…
uplika
Publishes and manages posts, replies, messages, media, and automations across connected social platforms.
Prowlo — Reddit & X for AI agents
Indexes and searches Reddit and X-related social data, discovers communities, monitors keywords, finds engagement opportunities, …
ChiefLab
Runs approval-gated product launch workflows with channel-specific marketing drafts, social publishing, email actions, measuremen…