Social media management, multi-platform publishing, AI generation, and cross-channel analytics.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Rewrite existing copy for another platform's length, tone and conventions. Supports adapting to LinkedIn, X, and other networks. Metered.
Source post copy to adapt
Target platform (e.g. linkedin, x)
Target platforms (e.g. ['linkedin', 'x'])
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Rewrite existing copy for another platform's length, tone and conventions. Supports adapting to LinkedIn, X, and other networks. Metered.
| Argument | Type | Description |
|---|---|---|
| text | string | Source post copy to adapt |
| platform | string | Target platform (e.g. linkedin, x) |
| platforms | array | Target platforms (e.g. ['linkedin', 'x']) |
{
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 8000,
"minLength": 1,
"description": "Source post copy to adapt"
},
"platform": {
"enum": [
"linkedin",
"x",
"bluesky",
"mastodon",
"instagram",
"facebook",
"threads",
"tiktok",
"youtube",
"pinterest",
"gbp"
],
"type": "string",
"description": "Target platform (e.g. linkedin, x)"
},
"platforms": {
"type": "array",
"items": {
"enum": [
"linkedin",
"x",
"bluesky",
"mastodon",
"instagram",
"facebook",
"threads",
"tiktok",
"youtube",
"pinterest",
"gbp"
],
"type": "string"
},
"maxItems": 6,
"minItems": 1,
"description": "Target platforms (e.g. ['linkedin', 'x'])"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| body* | string | Full Markdown body of the article |
| title* | string | Article headline or title |
| status* | string | Article status: ready (default), drafting, outline, or published |
| summary | string | Brief synopsis, excerpt, or meta description for SEO and social snippets |
| seoTitle | string | Optional SEO title |
{
"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"
}
}
}Create and optionally publish a post for LinkedIn, X, Instagram, Facebook, YouTube, TikTok, etc. Supports post copy text, image attachments (Base64 data or URLs), and video. When publishNow is true, the post is published immediately to the social accounts (available to admin-approved users). Without publishNow or scheduledAt, it is saved as a draft.
| Argument | Type | Description |
|---|---|---|
| body | string | Post copy text (optional if media attachments are provided) |
| tags | array | |
| title | string | |
| thread | array | |
| mediaIds | array | Array of media asset UUIDs returned by upload_media, import_media, or list_media |
| mediaData | array | Array of Base64 image/video data strings or data URIs to directly upload to storage and attach to this post |
| mediaUrls | array | Array of image or video URLs to automatically import to storage and attach to this post |
| overrides | object | |
| channelIds* | array | Destination channel UUIDs or platform names (e.g. ['linkedin', 'instagram', 'facebook']) |
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.
| Argument | Type | Description |
|---|---|---|
| alt | string | |
| prompt* | string | |
| quality | string | |
| aspectRatio | string |
{
"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"
}
}
}Write social copy in the workspace brand voice. Returns one or more variants. Metered (free daily allowance, then 1 credit).
| Argument | Type | Description |
|---|---|---|
| topic* | string | |
| format | string | |
| language | string | |
| variants | integer | |
| platforms | array |
{
"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
}
}
}Workspace performance for the last N days: impressions, engagements, posts, follower change, top posts and recommended posting slots.
| Argument | Type | Description |
|---|---|---|
| days | integer |
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1
}
}
}Get full details and Markdown body of an article in the workspace library by its ID.
| Argument | Type | Description |
|---|---|---|
| articleId* | string | Article UUID |
{
"type": "object",
"required": [
"articleId"
],
"properties": {
"articleId": {
"type": "string",
"description": "Article UUID"
}
}
}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.
No arguments.
{
"type": "object",
"properties": {}
}Get one post with its body, per-channel variants, status and metrics.
| Argument | Type | Description |
|---|---|---|
| postId* | string |
{
"type": "object",
"required": [
"postId"
],
"properties": {
"postId": {
"type": "string"
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| alt | string | |
| url* | string | |
| mime | string | |
| label | string |
{
"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
}
}
}List long-form articles in the workspace library with their id, title, status, word count, summary, and last updated time.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max number of articles to return (default 20) |
| status | string | Filter by article status |
{
"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"
}
}
}List the social accounts connected to this workspace with their ids, platform, handle, health, and automationEnabled status. Use channel ids when creating posts.
No arguments.
{
"type": "object",
"properties": {}
}List the websites connected to this workspace for article publishing (SocialHive blog, WordPress, Ghost, Dev.to, ...). Use an id from here as destinationIds in publish_article.
No arguments.
{
"type": "object",
"properties": {}
}List or search media assets (images, videos) in the workspace media library. Returns asset ids to attach with create_post.mediaIds.
| Argument | Type | Description |
|---|---|---|
| q | string | |
| kind | string | |
| limit | integer |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 100
},
"kind": {
"enum": [
"image",
"video",
"document"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
}
}
}Catalog of workflow node types (triggers, sources, AI, control, destinations) with their config schemas. Read before calling propose_workflow.
| Argument | Type | Description |
|---|---|---|
| group | string |
{
"type": "object",
"properties": {
"group": {
"enum": [
"trigger",
"source",
"ai",
"control",
"dest"
],
"type": "string"
}
}
}List posts in the workspace, newest first. Filter by status (draft, pending_approval, scheduled, published, failed) or free text.
| Argument | Type | Description |
|---|---|---|
| q | string | |
| limit | integer | |
| status | string |
{
"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"
}
}
}List content data sources (RSS feeds, sitemaps, web pages, documents) with counts of unused items.
No arguments.
{
"type": "object",
"properties": {}
}List automation workflows with status and last run.
No arguments.
{
"type": "object",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| graph* | object | |
| description* | string |
{
"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
}
}
}Publish (or send as a draft) an article from the workspace library to one or more connected sites. Get site ids from list_connected_sites and article ids from list_articles or create_article. The article must have a body. Publishing again updates the existing post on that site.
| Argument | Type | Description |
|---|---|---|
| status* | string | publish (live, default) or draft on the site |
| articleId* | string | Article UUID |
| destinationIds* | array | Connected site ids from list_connected_sites |
{
"type": "object",
"required": [
"articleId",
"destinationIds",
"status"
],
"properties": {
"status": {
"enum": [
"publish",
"draft"
],
"type": "string",
"default": "publish",
"description": "publish (live, default) or draft on the site"
},
"articleId": {
"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)$",
"description": "Article UUID"
},
"destinationIds": {
"type": "array",
"items": {
"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)$"
},
"maxItems": 20,
"minItems": 1,
"description": "Connected site ids from list_connected_sites"
}
}
}Publish an existing draft now (queues it immediately). Approval policy still applies — the post may land in pending_approval instead.
| Argument | Type | Description |
|---|---|---|
| postId* | string | Post UUID to publish |
{
"type": "object",
"required": [
"postId"
],
"properties": {
"postId": {
"type": "string",
"description": "Post UUID to publish"
}
}
}Schedule an existing draft (or move a scheduled post) to an ISO 8601 time. Approval policy still applies.
| Argument | Type | Description |
|---|---|---|
| postId* | string | Post UUID or ID |
| scheduledAt* | string | ISO 8601 UTC datetime string |
{
"type": "object",
"required": [
"postId",
"scheduledAt"
],
"properties": {
"postId": {
"type": "string",
"description": "Post UUID or ID"
},
"scheduledAt": {
"type": "string",
"description": "ISO 8601 UTC datetime string"
}
}
}Fetch recent items from one data source (title, url, excerpt). Use them as raw material for posts.
| Argument | Type | Description |
|---|---|---|
| q | string | |
| limit | integer | |
| sourceId* | string | |
| unusedOnly | boolean |
{
"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"
}
}
}Upload an image, video, or PDF directly using base64 data (or data URI) into the workspace media library and return its asset id (to attach with create_post.mediaIds).
| Argument | Type | Description |
|---|---|---|
| alt | string | Accessibility alt text for the media asset |
| data* | string | Base64 encoded file content or data URI (e.g. 'data:image/png;base64,...') |
| mime | string | MIME type (e.g. 'image/png', 'image/jpeg', 'video/mp4') |
| filename | string | Filename with extension (e.g. 'infographic.png') |
{
"type": "object",
"required": [
"data"
],
"properties": {
"alt": {
"type": "string",
"maxLength": 400,
"description": "Accessibility alt text for the media asset"
},
"data": {
"type": "string",
"minLength": 1,
"description": "Base64 encoded file content or data URI (e.g. 'data:image/png;base64,...')"
},
"mime": {
"type": "string",
"maxLength": 50,
"description": "MIME type (e.g. 'image/png', 'image/jpeg', 'video/mp4')"
},
"filename": {
"type": "string",
"maxLength": 120,
"description": "Filename with extension (e.g. 'infographic.png')"
}
}
}| publishNow | boolean | If true, queues the post for immediate publication to destination channels now instead of saving as draft (requires admin-approved MCP publishing access) |
| scheduledAt | string | ISO 8601 UTC timestamp to schedule the post (e.g. '2026-09-21T11:00:00Z'). Without this or publishNow, saves as a draft. |
{
"type": "object",
"required": [
"channelIds"
],
"properties": {
"body": {
"type": "string",
"maxLength": 20000,
"description": "Post copy text (optional if media attachments are 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 upload_media, import_media, or list_media"
},
"mediaData": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Array of Base64 image/video data strings or data URIs to directly upload to storage and attach to this post"
},
"mediaUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 10,
"description": "Array of image or video URLs to automatically import to storage and attach to this post"
},
"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', 'facebook'])"
},
"publishNow": {
"type": "boolean",
"description": "If true, queues the post for immediate publication to destination channels now instead of saving as draft (requires admin-approved MCP publishing access)"
},
"scheduledAt": {
"type": "string",
"description": "ISO 8601 UTC timestamp to schedule the post (e.g. '2026-09-21T11:00:00Z'). Without this or publishNow, saves as a draft."
}
}
}