MCPサーバー

SocialHive

pro.socialhive/platform

このMCPでできること

Creates, adapts, schedules, and publishes social media content while managing media, connected channels, workflows, and performance analytics.

adapt_post
Adapt post
Rewrite existing copy for another platform's length, tone and conventions. Metered.
入力スキーマ
{'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'}}}
出力スキーマ
{'type': 'object', 'required': ['adaptations'], 'properties': {'adaptations': {'type': 'object'}}, 'description': 'Adapted post copy keyed by channel platform'}
create_article
Create article
Save a long-form article or blog post (e.g. generated by ChatGPT, Claude, or an LLM) into the workspace article library. Quota: maximum 10 articles per month via MCP. Can be linked into syndication workflows or published to CMS targets.
入力スキーマ
{'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'}}}
出力スキーマ
{'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'}
create_post
Create post
Create a post for LinkedIn, X, Instagram, etc. Supports text copy, image attachments (single or multi-image gallery), and video. For image-only or video-only posts, body can be left empty as long as mediaIds has at least one asset. Without scheduledAt it is saved as a draft. With scheduledAt (ISO 8601) it is scheduled.
入力スキーマ
{'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."}}}
出力スキーマ
{'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'}
generate_image
Generate image
Generate an image into the media library and return its asset id (attach with create_post.mediaIds). quality 'free' uses the free provider; 'hq' costs credits.
入力スキーマ
{'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'}}}
出力スキーマ
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Public URL of generated image'}, 'mediaId': {'type': 'string'}}, 'description': 'Generated image media details'}
generate_text
Generate text
Write social copy in the workspace brand voice. Returns one or more variants. Metered (free daily allowance, then 1 credit).
入力スキーマ
{'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}}}
出力スキーマ
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Generated copy'}, 'model': {'type': 'string'}, 'tokens': {'type': 'number'}}, 'description': 'Generated post copy and metadata'}
get_analytics
Get analytics
Workspace performance for the last N days: impressions, engagements, posts, follower change, top posts and recommended posting slots.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'days': {'type': 'integer', 'maximum': 365, 'minimum': 1}}}
出力スキーマ
{'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'}
get_article
Get article
Get full details and Markdown body of an article in the workspace library by its ID.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['articleId'], 'properties': {'articleId': {'type': 'string', 'description': 'Article UUID'}}}
出力スキーマ
{'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'}
get_connected_social_accounts
Get connected social accounts
Get all connected social media accounts (LinkedIn, X, YouTube, Instagram, Facebook, TikTok, Threads) for the workspace with account IDs, platforms, connection status, and automationEnabled status.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'properties': {'result': {'type': 'object', 'description': 'Structured output from tool execution'}}, 'description': 'Output payload for get_connected_social_accounts'}
get_post
Get post
Get one post with its body, per-channel variants, status and metrics.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['postId'], 'properties': {'postId': {'type': 'string'}}}
出力スキーマ
{'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'}
import_media
Import media
Import an image or video from an external public URL into the workspace media library and return its asset id (to attach with create_post.mediaIds).
外部アクセスあり
入力スキーマ
{'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}}}
出力スキーマ
{'type': 'object', 'required': ['assetId', 'kind', 'url'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'assetId': {'type': 'string'}}, 'description': 'Imported media asset details'}
list_articles
List articles
List long-form articles in the workspace library with their id, title, status, word count, summary, and last updated time.
読み取り専用 冪等
入力スキーマ
{'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'}}}
出力スキーマ
{'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'}
list_channels
List channels
List the social accounts connected to this workspace with their ids, platform, handle, health, and automationEnabled status. Use channel ids when creating posts.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'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'}
list_media
List media
List or search media assets (images, videos) in the workspace media library. Returns asset ids to attach with create_post.mediaIds.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 100}, 'kind': {'enum': ['image', 'video', 'document'], 'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}}}
出力スキーマ
{'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'}
list_node_types
List node types
Catalog of workflow node types (triggers, sources, AI, control, destinations) with their config schemas. Read before calling propose_workflow.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'group': {'enum': ['trigger', 'source', 'ai', 'control', 'dest'], 'type': 'string'}}}
出力スキーマ
{'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'category'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'category': {'type': 'string'}}}, 'description': 'Available workflow node types'}
list_posts
List posts
List posts in the workspace, newest first. Filter by status (draft, pending_approval, scheduled, published, failed) or free text.
読み取り専用 冪等
入力スキーマ
{'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'}}}
出力スキーマ
{'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'}
list_sources
List sources
List content data sources (RSS feeds, sitemaps, web pages, documents) with counts of unused items.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'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'}
list_workflows
List workflows
List automation workflows with status and last run.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'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'}
propose_workflow
Propose workflow
Propose an automation workflow as a graph (nodes + edges). The graph is validated and saved as a DRAFT version that a human must review and activate in Workflow Studio; it never runs on its own. Call list_node_types first for valid node types and config schemas.
入力スキーマ
{'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}}}
出力スキーマ
{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Workflow ID'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}}, 'description': 'Created draft workflow'}
publish_post
Publish post
Publish an existing draft now (queues it immediately). Approval policy still applies — the post may land in pending_approval instead.
外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['postId'], 'properties': {'postId': {'type': 'string', 'description': 'Post UUID to publish'}}}
出力スキーマ
{'type': 'object', 'required': ['id', 'status'], 'properties': {'id': {'type': 'string', 'description': 'Post ID'}, 'status': {'type': 'string'}}, 'description': 'Publication result'}
schedule_post
Schedule post
Schedule an existing draft (or move a scheduled post) to an ISO 8601 time. Approval policy still applies.
入力スキーマ
{'type': 'object', 'required': ['postId', 'scheduledAt'], 'properties': {'postId': {'type': 'string', 'description': 'Post UUID'}, 'scheduledAt': {'type': 'string', 'description': 'ISO 8601 UTC datetime string'}}}
出力スキーマ
{'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'}
search_source_items
Search source items
Fetch recent items from one data source (title, url, excerpt). Use them as raw material for posts.
読み取り専用 冪等
入力スキーマ
{'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'}}}
出力スキーマ
{'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'}
変更
get_connected_social_accounts
2026年10月1日2:42
変更
list_channels
2026年10月1日2:42
追加
propose_workflow
2026年9月25日2:40
追加
create_article
2026年9月25日2:40
追加
publish_post
2026年9月25日2:40
追加
schedule_post
2026年9月25日2:40
追加
create_post
2026年9月25日2:40
追加
import_media
2026年9月25日2:40
追加
list_media
2026年9月25日2:40
追加
generate_image
2026年9月25日2:40
追加
adapt_post
2026年9月25日2:40
追加
generate_text
2026年9月25日2:40
追加
list_node_types
2026年9月25日2:40
追加
list_workflows
2026年9月25日2:40
追加
search_source_items
2026年9月25日2:40
追加
list_sources
2026年9月25日2:40
追加
get_analytics
2026年9月25日2:40
追加
get_article
2026年9月25日2:40
追加
list_articles
2026年9月25日2:40
追加
get_post
2026年9月25日2:40
追加
list_posts
2026年9月25日2:40
追加
get_connected_social_accounts
2026年9月25日2:40
追加
list_channels
2026年9月25日2:40