SpeedContent Social MCP
Enables drafting Facebook posts tailored to the platform's conventions, with humanization, AI detection scoring, platform-aware emoji handling, optional matching images, and job-based result retrieval.
Enables drafting Instagram posts tailored to the platform's conventions, with humanization, AI detection scoring, platform-aware emoji handling, optional matching images, and job-based result retrieval.
Enables drafting Pinterest posts tailored to the platform's conventions, with humanization, AI detection scoring, platform-aware emoji handling, optional matching images, and job-based result retrieval.
Enables drafting TikTok posts tailored to the platform's conventions, with humanization, AI detection scoring, platform-aware emoji handling, optional matching images, and job-based result retrieval.
Enables drafting YouTube posts tailored to the platform's conventions, with humanization, AI detection scoring, suppressed emoji usage, optional matching images, and job-based result retrieval.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SpeedContent Social MCPdraft a LinkedIn post about our new AI feature"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SpeedContent Social MCP
Give an AI agent the ability to write social media posts that don't read like AI wrote them.
An MCP server for the SpeedContent Social Post API. Agents can draft posts for seven platforms; each one is written to that platform's conventions, rewritten to read as human-authored, scored against AI detection, and optionally illustrated.
Listed in the official MCP Registry as io.github.seotrader/speedcontent-social.
Why this and not a plain model call
Any model can write a LinkedIn post. The difference is what happens after:
Step | What it does |
Generate | Written against the platform's own style guide, not one prompt reskinned |
Humanize | Rewritten so it doesn't read as machine-written |
Detect | Scored 0–65 by an AI detector; 0 reads as human |
Emoji | Platform-aware; suppressed on LinkedIn and YouTube |
Re-humanize | Automatic retry if the score comes back too high |
Image | Optional, generated to match the post |
The scoring pass is the point. The agent is told how human the copy reads before anything is published.
Related MCP server: Publora MVP MCP Server
Setup
This is a remote server — there is nothing to install. Get an API key at app.speedcontent.online/APIKeys (free credits on signup, no card), then point your client at the URL.
Claude Code
claude mcp add --transport http speedcontent-social \
https://speedcontent.online/mcp \
--header "X-API-Key: sc_your_key_here"Claude Desktop, Cursor, and other clients
{
"mcpServers": {
"speedcontent-social": {
"url": "https://speedcontent.online/mcp",
"headers": {
"X-API-Key": "sc_your_key_here"
}
}
}
}Authorization: Bearer sc_... works too, for clients that prefer it.
Tools
generate_social_post
Starts a job and returns its id. Generation takes 20–90 seconds; collect the result with check_social_job. Costs credits.
Parameter | Default | Notes |
| — | Required. What the post is about. |
| — | Required. |
|
|
|
|
| Any language name. |
|
| Up to 10 variations. |
| per platform | 10–500. LinkedIn 100, YouTube 150, Facebook/Pinterest 75, Instagram/TikTok 50, X 40. |
|
| Adds 10 credits per post. |
| automatic | Adds 8 credits per post. Automatic means 150+ words only — short posts score unreliably. |
| — | Optional brand voice. |
check_social_job
Returns the finished posts, or current progress while the job runs. Free.
list_social_platforms
Platforms with default lengths and emoji policy. Free, no network call.
Credits
Per post: 20 base (up to 200 words), +1 per 10 words beyond 200, +10 for an image, +8 for AI detection. Multiplied by quantity. Refunded in full if generation fails.
A 100-word LinkedIn post with an image costs 30 credits.
What's in this repo
The live server runs inside the SpeedContent API service. This repo holds the registry manifest and a standalone stdio implementation.
Path | What it is |
| The MCP Registry manifest, pointing at the hosted endpoint |
| A standalone stdio server, for clients that can't do remote HTTP |
| How this gets published and listed |
The stdio build is not on npm and isn't needed for normal use. It exists as a fallback for older MCP clients that only support subprocess transport:
npm install && npm run build
SPEEDCONTENT_API_KEY=sc_... node dist/index.jsReselling
Volume and white-label pricing is per post rather than per seat, and your users don't need SpeedContent accounts of their own. Get in touch.
Licence
MIT
Available Tools
3 toolscheck_social_jobCheck a social post jobAInspect
Look up a social post generation job by id. Use this only when generate_social_post timed out and returned a job id — it does not start new work and costs nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job id returned by a previous call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the call is non-mutating ('does not start new work') and free of cost, but says nothing about what a returned job looks like, possible job states, or behavior when the id is unknown or the job failed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the key usage constraint. Every clause earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter lookup with no output schema or annotations, the description covers what it is, when to call it, and its cost/side-effect profile. The only gap is guidance on interpreting or polling the returned job status.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single job_id parameter is already documented in the schema, so the description adds only the reinforcing phrase 'by id'. Baseline 3 is appropriate when the schema does the parameter work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (look up) and resource (a social post generation job) with the lookup key (id), which is unambiguous. It is clearly distinguished from the sibling generate_social_post, which it explicitly references.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use condition: 'only when generate_social_post timed out and returned a job id.' It also clarifies when-not by noting it does not start new work, so the agent knows not to use it for initiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_social_postGenerate a social media postAInspect
Write a social media post for a given platform and topic. The post is written to that platform's conventions, rewritten to read as human-authored, optionally scored against AI detection, and optionally illustrated with a generated image. Blocks until generation finishes, typically 20-90 seconds. Costs credits.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | Defaults to friendly. | |
| topic | Yes | What the post should be about. | |
| language | No | Output language by name. Defaults to English. | |
| platform | Yes | Target platform. Each has its own style guide and default length. | |
| quantity | No | How many distinct variations to generate. Defaults to 1. | |
| detect_ai | No | Score the post against AI detection and retry if it reads as machine-written. Adds 8 credits per post. Omit for automatic: runs only at 150+ words, because short posts score unreliably. | |
| brand_name | No | Brand to mention where it reads naturally. | |
| brand_tone | No | Voice guidance, e.g. 'Direct, no jargon'. | |
| word_count | No | Target length per post. Omit to use the platform default (LinkedIn 100, YouTube 150, Facebook/Pinterest 75, Instagram/TikTok 50, X 40). | |
| brand_audience | No | Who the post should speak to. | |
| brand_keywords | No | Comma-separated terms to work in. | |
| generate_image | No | Generate a matching image. Defaults to true. Adds 10 credits per post. | |
| brand_description | No | What the business does. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a good job: it discloses blocking behavior with a concrete latency range (20-90s), that credits are consumed, and the non-obvious side effect that output is rewritten to read as human-authored. It does not cover auth requirements or error behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with zero filler, front-loading what the tool does before the behavioral facts (blocking time, cost). Efficient, though the final 'Costs credits' sentence is terse enough that it could carry more cost detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter generation tool with no output schema and no annotations, the description covers the essentials an agent needs: latency, blocking semantics, credit cost, and the multi-step pipeline. The main gap is that it never indicates what is returned (single post vs. quantity variations with scores/images), which an agent might want given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 13 parameters, including defaults and platform word counts. The description adds no parameter-level detail beyond the summary sentence, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (write a social media post) scoped to a platform and topic, and enumerates the pipeline steps (platform conventions, human-rewrite, AI detection, image). It is distinguishable from check_social_job and list_social_platforms by name and intent, though it never explicitly names those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (generate a post for a platform/topic) and adds two useful operating facts — it blocks until completion and costs credits. However, it never states when to prefer this tool over check_social_job or how it relates to an async job flow, so the routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_social_platformsList supported platformsAInspect
List the platforms generate_social_post supports, with each one's default post length and emoji policy. Costs nothing and makes no network call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: zero cost, no network call (i.e., a safe, side-effect-free read), and the shape of what is returned. It stops short of stating read-only guarantees formally or whether results are cached/static, but for a trivial list tool this is solid disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what is listed and followed by the cost/network guarantee. Every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must characterize the return value, and it does by naming the platform list plus per-platform length and emoji policy. A simple enumeration tool is adequately covered, though the exact response format (array vs object, field names) is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to clarify beyond confirming no arguments are needed. The description adds the useful detail that the listed items carry attributes (length, emoji policy) rather than being bare names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (platforms) and explicitly ties the resource to the sibling generate_social_post, so the agent can distinguish it from check_social_job. It also names the returned fields (default post length, emoji policy), removing ambiguity about what 'platform' data means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the natural use case (discover what generate_social_post supports before calling it) and notes it is free and offline, but never states an explicit when-to-use or when-not-to-use rule relative to check_social_job. Usage is inferable rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
check_social_job - First observed
generate_social_post - First observed
list_social_platforms
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: generate_social_post creates work, check_social_job only polls an existing job by id, and list_social_platforms only reads metadata. The descriptions even spell out when to use check_social_job (only after a timeout) versus generate_social_post, so there is no realistic misselection.
All three tools follow the same verb_noun snake_case pattern: generate_social_post, check_social_job, list_social_platforms. The verb (generate/check/list) also maps cleanly onto each tool's action, reinforcing the pattern.
Three tools is on the low end but well-matched to a narrow single-purpose service: one action tool, one status poller, one discovery tool. Nothing feels redundant or padded, though the surface is thin enough that a couple more operations could reasonably exist.
The core lifecycle for generating a social post is covered: discover platforms, generate, and recover from timeouts via job lookup. Minor gaps remain — there is no way to cancel or list jobs, or to fetch/reuse a completed post outside the timeout path — but agents can work around these.
Maintenance
Related MCP Connectors
Draft, schedule and publish social posts to nine platforms from any AI agent.
Draft, schedule and publish social media posts from any AI agent.
Post, schedule, and track social posts on X, Bluesky, LinkedIn, Instagram and more from AI agents.
Schedule and publish social media posts to 10 platforms from your AI agent
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to schedule and publish social media posts to platforms like Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, and Pinterest using natural language.33586 npm4MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to create, schedule, and manage social media posts across 10 platforms via a unified API.-

PostMCP MCP Serverofficial
AlicenseAqualityBmaintenanceEnables AI assistants to manage social media publishing across platforms like LinkedIn, Twitter, Facebook, Instagram, Threads, and Bluesky.729 npmMIT
AdaptlyPostofficial
AlicenseAqualityAmaintenanceGives AI agents the ability to schedule and publish social media posts to Instagram, TikTok, YouTube, X, LinkedIn, Facebook, Pinterest, Threads, and Bluesky. Create, schedule, and bulk-plan posts with per-platform captions, then check per-platform results and retry failures.12MIT