このMCPでできること
Schedules, drafts, publishes, manages, and analyzes branded social media posts across connected platforms.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'brand_id': {'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)$'}, 'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['post_id'], 'properties': {'post_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Post id to cancel or reschedule (from content_queue)'}, 'scheduled_date': {'type': 'string', 'description': 'Omit to cancel. Provide to reschedule: ISO 8601, at least 15 minutes in the future'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Brand name. Also names its Drive media folder, so keep it filesystem-friendly.'}, 'cta_url': {'type': 'string', 'maxLength': 500, 'description': 'Link included in posts.'}, 'hashtags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 30, 'description': 'Brand hashtags appended to captions unless skip_hashtags is set.'}, 'description': {'type': 'string', 'maxLength': 1000}, 'website_url': {'type': 'string', 'maxLength': 500}, 'content_type': {'enum': ['video', 'image'], 'type': 'string', 'description': 'What the publisher should expect to find for this brand.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['brand_id', 'platform'], 'properties': {'caption': {'type': 'string', 'maxLength': 2200, 'description': "Post body. Omit to inherit the brand's taglines."}, 'brand_id': {'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)$'}, 'platform': {'type': 'string', 'maxLength': 20, 'description': 'Target platform, e.g. youtube, tiktok, instagram'}, 'reply_text': {'type': 'string', 'maxLength': 2200, 'description': "Follow-up reply posted under the main post. On X this is where a link belongs: a URL in the post body costs up to 94% of the reach (near-total on a non-Premium account), while the same URL one reply down costs nothing. Omit to reply with the brand's CTA url; pass an empty string for no reply at all. Ignored by every platform except X."}, 'skip_hashtags': {'type': 'boolean', 'description': "true = publish the caption as-is with NO brand hashtags appended; false = always append them. Omit to auto-detect: long hand-authored captions (>280 chars, no '#') skip hashtags. The result's hashtagsSkipped shows the decision."}, 'scheduled_date': {'type': 'string', 'description': 'Proposed ISO 8601 slot, e.g. 2026-07-15T09:00:00Z'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['file_name', 'mime_type', 'size_bytes'], 'properties': {'kind': {'enum': ['video', 'image', 'music'], 'type': 'string', 'description': 'Which brand folder receives the file: Vids, Imgs or Music. Omit to route by media type, which is almost always right.'}, 'brand': {'type': 'string', 'maxLength': 200, 'description': 'Brand whose _Res/{brand} folder should receive the file. Ignored when folder_id is given.'}, 'file_name': {'type': 'string', 'maxLength': 200, 'description': 'Name to save as in Drive, e.g. "ducktax-short.mp4".'}, 'folder_id': {'type': 'string', 'maxLength': 200, 'description': 'Destination Drive folder id, overriding brand.'}, 'mime_type': {'type': 'string', 'maxLength': 100, 'description': 'Media type of the file, e.g. "video/mp4".'}, 'size_bytes': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Exact byte length of the file. Drive rejects a mismatch.', 'exclusiveMinimum': 0}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'integer', 'default': 60, 'maximum': 365, 'minimum': 1, 'description': 'Rolling window of failed posts to analyze'}, 'platform': {'type': 'string', 'maxLength': 20, 'description': 'Scope to a single platform, e.g. pinterest'}, 'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['brand_id'], 'properties': {'brand_id': {'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)$'}, 'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'status': {'enum': ['draft', 'scheduled', 'posting', 'posted', 'failed', 'cancelled'], 'type': 'string'}, 'platform': {'type': 'string', 'maxLength': 20, 'description': 'Filter to a single platform, e.g. youtube or tiktok'}, 'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 365, 'minimum': 1}, 'brand_id': {'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)$'}, 'platform': {'type': 'string', 'maxLength': 20}, 'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Queue-scan mode only: how many upcoming posts to check.'}, 'post_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Check one existing post (id from list_posts or content_queue). Omit to scan the whole upcoming queue instead.'}, 'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users (email contains "sample"). Default: real data only.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['platform'], 'properties': {'platform': {'type': 'string', 'maxLength': 20, 'description': 'Platform to reconnect, e.g. twitter, youtube, google_drive'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'include_samples': {'type': 'boolean', 'default': False, 'description': 'Include sample users. Default false: real accounts only, matching every read tool.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['post_id', 'scheduled_date'], 'properties': {'post_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Post id (from list_posts, content_queue or diagnose_failures)'}, 'scheduled_date': {'type': 'string', 'description': 'New slot, ISO 8601, at least 15 minutes in the future'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'dry_run': {'type': 'boolean', 'default': True, 'description': 'true = plan only, change nothing (the default)'}, 'reasons': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40}, 'description': 'Failure reason classes to retry. Default: token_expired, missed_window, platform_transient_error, drive_media_missing. Non-retryable classes are rejected.'}, 'platform': {'type': 'string', 'maxLength': 20, 'description': 'Scope to a single platform'}, 'start_at': {'type': 'string', 'description': 'ISO 8601 start of the retry window, at least 15 minutes out. Default: ~20 minutes from now.'}, 'spacing_minutes': {'type': 'integer', 'default': 30, 'maximum': 240, 'minimum': 5, 'description': 'Gap between retries on the same platform'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scheduled_date'], 'properties': {'caption': {'type': 'string', 'maxLength': 2200}, 'post_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Draft post id to promote (from content_queue)'}, 'brand_id': {'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)$'}, 'platform': {'type': 'string', 'maxLength': 20}, 'reply_text': {'type': 'string', 'maxLength': 2200, 'description': "Follow-up reply posted under the main post. On X this is where a link belongs: a URL in the post body costs up to 94% of the reach (near-total on a non-Premium account), while the same URL one reply down costs nothing. Omit to reply with the brand's CTA url; pass an empty string for no reply at all. Ignored by every platform except X."}, 'skip_hashtags': {'type': 'boolean', 'description': "true = publish the caption as-is with NO brand hashtags appended; false = always append them. Omit to auto-detect: long hand-authored captions (>280 chars, no '#') skip hashtags. When promoting a draft without a new caption, omitting this keeps the draft's existing setting."}, 'scheduled_date': {'type': 'string', 'description': 'ISO 8601, at least 15 minutes in the future'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['brand_id'], 'properties': {'cta_url': {'type': 'string', 'maxLength': 500, 'description': 'Link included in posts. Pass an empty string to clear it.'}, 'brand_id': {'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)$'}, 'hashtags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 30, 'description': 'Brand hashtags appended to captions unless skip_hashtags is set.'}, 'taglines': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500}, 'maxItems': 30, 'description': 'Short lines the publisher rotates through when a post has no caption of its own.'}, 'description': {'type': 'string', 'maxLength': 1000, 'description': 'What the product actually is. The generator writes captions from this, so a wrong description makes every post wrong.'}, 'website_url': {'type': 'string', 'maxLength': 500}, 'content_type': {'enum': ['video', 'image'], 'type': 'string', 'description': 'What the publisher should expect to find for this brand.'}, 'auto_post_enabled': {'type': 'boolean', 'description': 'false = stop the content generator booking posts for this brand from its next cycle; true = let it resume. This is the only way to stop a brand auto-posting without opening the dashboard. Already-scheduled posts are NOT withdrawn by this: cancel those with cancel_post.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['source_url'], 'properties': {'kind': {'enum': ['video', 'image', 'music'], 'type': 'string', 'description': 'Which brand folder receives the file: Vids, Imgs or Music. Omit to route by media type, which is almost always right.'}, 'brand': {'type': 'string', 'maxLength': 200, 'description': 'Brand whose _Res/{brand} folder should receive the file. Ignored when folder_id is given.'}, 'file_name': {'type': 'string', 'maxLength': 200, 'description': 'Name to save as. Omit to take it from the URL.'}, 'folder_id': {'type': 'string', 'maxLength': 200, 'description': 'Destination Drive folder id, overriding brand. Omit to use the Viral-Cat folder.'}, 'source_url': {'type': 'string', 'format': 'uri', 'description': 'Public https URL of the media to store, e.g. a rendered Short. Must be reachable without auth.'}}}
最近のツール変更
類似のMCPサーバー
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…