LeaderboardBack to leaderboard — loading return destination
Opening report…
Loading report overview
M
MCP server
server.example.com/mcp
Tools and resources for your MCP client, with a public quality report and detailed checks.
Protocol
MCP 2025-11-25
Server version
1.0.0
Website
server.example.com
Supports
Tools · Resources
Overall score
90 /100
How is this score calculated?
Server metadata
Loading server metadata
Reviewed90/100
Discoverability
Loading discoverability
Reviewed90/100
Protocol
Loading protocol
Reviewed90/100
Tools
Loading tools
Reviewed90/100
MCP Apps
Loading mcp apps
Reviewed90/100
Tool documentation quality
Loading tool documentation quality
Reviewed90/100
LeaderboardBack to leaderboard — loading return destination
F
Fuxux
www.fuxux.com/api/mcp
Schedule, publish and manage social media posts from an AI agent: create and update posts, list connected accounts and scheduled posts, read the dashboard and analytics. Sign in with OAuth (Claude, ChatGPT and other clients) or send a Fuxux API key as a Bearer [redacted]
Schedule, publish and manage social media posts from an AI agent: create and update posts, list connected accounts and scheduled posts, read the dashboard and analytics. Sign in with OAuth (Claude, ChatGPT and other clients) or send a Fuxux API key as a Bearer [redacted]
Fuxux drafts, schedules and publishes social media posts for the signed-in user. Post status changes over minutes: check a post at most once a minute, and when a tool reports a rate limit, wait the time it gives before calling again.
Discoverability
3 pass · 1 partial3 passed · 1 partial58/100
Client listings and public setup information.
mcp.json or server-card.json
Either mcp.json or an MCP Server Card declaring this endpoint passes.
The manifest declares this MCP server's exact endpoint.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description81/100
List social accounts connected to the Fuxux workspace. Use an account's id in create_post targets to pick which account posts when a platform has more than one.
The description explains the capability, when to use it, and what to expect.
Inputs100/100
This tool declares no inputs, so argument descriptions are not needed.
No input fields.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
List posts (calendar / queue). Optional filters: month (YYYY-MM), status. Pass limit to get only what you need (e.g. limit 5 + order "newest" for the most recent posts). Page with offset while hasMore is true.
Describe the returned information so the agent knows whether it will answer the request.
Inputs65/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
month
Calendar month, e.g. "2026-04"
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
status
Filter by status; omit for no status filter
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Max posts to return (1-50). Defaults to 20, or up to 100 posts of the month when month is set
Resolve the mismatch between this description and its schema constraints.
offset
Skip this many posts (for paging)
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
order
upcoming (default): by scheduled time, soonest first. newest: most recently created first. recently_published: latest published first. recently_updated: most recently changed first
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description80/100
Create a post: per-platform captions, optional prompt, optional scheduled_at (ISO, future), optional media_urls (strings). Without scheduled_at or draft, this publishes immediately to the connected social platforms. Set draft: true to save it for the user to review in Fuxux instead; nothing is published. TikTok posts go to the creator's TikTok inbox unless the target has tiktok_privacy_level, which the user must choose.
Describe the returned information so the agent knows whether it will answer the request.
Inputs93/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
captions
Map of platform id to caption text. Platform ids: twitter, instagram, linkedin, facebook, tiktok, youtube, bluesky, threads, pinterest, discord, kick, twitch, telegram, slack
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
targets › items › account_id
Connected account id from list_connected_accounts
Clear enough to supply this argument.
targets › items › platform
That account's platform; needs a caption in captions
Clear enough to supply this argument.
targets › items › format
instagram and facebook only; defaults to feed
Clear enough to supply this argument.
targets › items › board_id
pinterest only: board id to pin to; defaults to the account's first public board
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
targets › items › alt_text
pinterest only: the image description read by screen readers (up to 500 characters)
Clear enough to supply this argument.
targets › items › instagram_trial_reel
instagram only, one video: post it as a trial Reel, shown to non-followers first. manual: the user shares it to followers from the Instagram app; auto: Instagram shares it if it performs well.
Clear enough to supply this argument.
targets › items › tiktok_privacy_level
tiktok only: who can see the post. Set it to publish directly to the profile; leave it out and the post goes to the creator's TikTok inbox to finish in the app. Never choose this yourself: ask the user who should see it, and only pass the value they picked. It must be one of the account's allowed levels (a private account can't use PUBLIC_TO_EVERYONE).
Clear enough to supply this argument.
targets › items › tiktok_allow_comments
tiktok only, with tiktok_privacy_level: true lets people comment. Off unless the user asks for it.
Clear enough to supply this argument.
targets › items › tiktok_allow_duet
tiktok video only, with tiktok_privacy_level: true allows Duets. Off unless the user asks for it.
Clear enough to supply this argument.
targets › items › tiktok_allow_stitch
tiktok video only, with tiktok_privacy_level: true allows Stitches. Off unless the user asks for it.
Clear enough to supply this argument.
prompt
Optional note on the idea behind the post (max 500 chars). Stored with the post for reference; it is not published.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
scheduled_at
ISO datetime with a time zone (Z or an offset such as +01:00; convert the user's local time first); if set, post is scheduled instead of published immediately
Clear enough to supply this argument.
media_urls
Up to 4 public https image/video URLs to attach
Clear enough to supply this argument.
draft
Save as a draft instead of publishing or scheduling (can't be combined with scheduled_at)
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
{
"name": "create_post",
"title": "Create post",
"description": "Create a post: per-platform captions, optional prompt, optional scheduled_at (ISO, future), optional media_urls (strings). Without scheduled_at or draft, this publishes immediately to the connected social platforms. Set draft: true to save it for the user to review in Fuxux instead; nothing is published. TikTok posts go to the creator's TikTok inbox unless the target has tiktok_privacy_level, which the user must choose.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"captions"
],
"properties": {
"draft": {
"type": "boolean",
"description": "Save as a draft instead of publishing or scheduling (can't be combined with scheduled_at)"
},
"prompt": {
"type": "string",
"maxLength": 500,
"description": "Optional note on the idea behind the post (max 500 chars). Stored with the post for reference; it is not published."
},
"targets": {
"type": "array",
"items": {
"type": "object",
"required": [
"account_id",
"platform"
],
"properties": {
"format": {
"enum": [
"feed",
"story"
],
"type": "string",
"description": "instagram and facebook only; defaults to feed"
},
"alt_text": {
"type": "string",
"maxLength": 500,
"description": "pinterest only: the image description read by screen readers (up to 500 characters)"
},
"board_id": {
"type": "string",
"description": "pinterest only: board id to pin to; defaults to the account's first public board"
},
"platform": {
"enum": [
"twitter",
"instagram",
"linkedin",
"facebook",
"tiktok",
"youtube",
"bluesky",
"threads",
"pinterest",
"discord",
"kick",
"twitch",
"telegram",
"slack"
],
"type": "string",
"description": "That account's platform; needs a caption in captions"
},
"account_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)$",
"description": "Connected account id from list_connected_accounts"
},
"tiktok_allow_duet": {
"type": "boolean",
"description": "tiktok video only, with tiktok_privacy_level: true allows Duets. Off unless the user asks for it."
},
"tiktok_allow_stitch": {
"type": "boolean",
"description": "tiktok video only, with tiktok_privacy_level: true allows Stitches. Off unless the user asks for it."
},
"instagram_trial_reel": {
"enum": [
"manual",
"auto"
],
"type": "string",
"description": "instagram only, one video: post it as a trial Reel, shown to non-followers first. manual: the user shares it to followers from the Instagram app; auto: Instagram shares it if it performs well."
},
"tiktok_privacy_level": {
"enum": [
"PUBLIC_TO_EVERYONE",
"MUTUAL_FOLLOW_FRIENDS",
"FOLLOWER_OF_CREATOR",
"SELF_ONLY"
],
"type": "string",
"description": "tiktok only: who can see the post. Set it to publish directly to the profile; leave it out and the post goes to the creator's TikTok inbox to finish in the app. Never choose this yourself: ask the user who should see it, and only pass the value they picked. It must be one of the account's allowed levels (a private account can't use PUBLIC_TO_EVERYONE)."
},
"tiktok_allow_comments": {
"type": "boolean",
"description": "tiktok only, with tiktok_privacy_level: true lets people comment. Off unless the user asks for it."
}
}
},
"description": "Which accounts to post to. Without it, each captioned platform posts to its first connected account. Reddit isn't supported."
},
"captions": {
"type": "object",
"description": "Map of platform id to caption text. Platform ids: twitter, instagram, linkedin, facebook, tiktok, youtube, bluesky, threads, pinterest, discord, kick, twitch, telegram, slack",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"media_urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 4,
"description": "Up to 4 public https image/video URLs to attach"
},
"scheduled_at": {
"type": "string",
"description": "ISO datetime with a time zone (Z or an offset such as +01:00; convert the user's local time first); if set, post is scheduled instead of published immediately"
}
}
},
"outputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"post"
],
"properties": {
"post": {
"type": "object",
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"description": "draft | scheduled | published | failed"
},
"scheduled_at": {
"type": [
"string",
"null"
]
}
},
"description": "The created post",
"additionalProperties": {}
},
"results": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"platform",
"success"
],
"properties": {
"error": {
"type": [
"string",
"null"
]
},
"success": {
"type": "boolean"
},
"platform": {
"type": "string"
},
"account_id": {
"type": [
"string",
"null"
]
},
"account_label": {
"type": [
"string",
"null"
]
},
"inbox_pending": {
"type": [
"boolean",
"null"
]
},
"platform_post_id": {
"type": [
"string",
"null"
]
},
"still_processing": {
"type": [
"boolean",
"null"
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
],
"description": "Per-platform outcome; present only when published immediately"
}
},
"additionalProperties": {}
},
"annotations": {
"title": "Create post",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Get one post with its per-platform variants. Variant ids from here are what update_post uses to edit individual captions. Also finds drafts, which list_posts (month-scoped) can miss.
The description explains the capability, when to use it, and what to expect.
Inputs96/100
Input documentation gives an agent enough context to populate the arguments.
id
Post id (from list_posts or create_post)
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description82/100
Edit a draft or scheduled post before it publishes: set or change scheduled_at (must be in the future), change captions, or replace media. Published or publishing posts can't be edited. Provide at least one of scheduled_at, variant_updates, media_urls. Setting scheduled_at on a draft schedules it: the same checks as create_post apply (plan limits, connected accounts) and the post keeps its id. A caption for a platform with no connected account is left out and listed in skipped.
Resolve contradictions between the description, input schema, and annotations.
Inputs69/100
Align the prose with the schema’s types, required fields, and allowed values.
id
Post id (from list_posts or create_post)
Clear enough to supply this argument.
scheduled_at
ISO datetime in the future with a time zone (Z or an offset such as +01:00; convert the user's local time first). On a draft, this schedules it
The title clearly communicates the tool’s action and subject. Keep it concise.
Description91/100
Delete a post from Fuxux. A draft or scheduled post will then never publish. For an already-published post this removes only Fuxux's record; it does NOT delete it from the social platform. Fails while the post is publishing.
The description explains the capability, when to use it, and what to expect.
Inputs98/100
Input documentation gives an agent enough context to populate the arguments.
{
"name": "delete_post",
"title": "Delete post",
"description": "Delete a post from Fuxux. A draft or scheduled post will then never publish. For an already-published post this removes only Fuxux's record; it does NOT delete it from the social platform. Fails while the post is publishing.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"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)$",
"description": "Post id (from list_posts or create_post)"
}
}
},
"outputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"success"
],
"properties": {
"success": {
"type": "boolean"
}
},
"additionalProperties": {}
},
"annotations": {
"title": "Delete post",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description84/100
Read-only post performance for the current Fuxux workspace: posts published, success rate, likes, comments, shares, views and reach per platform, the top posts of the period, and recent posts on each connected account. Engagement is read from the platforms in insightsPlatforms only. Needs a plan that includes analytics.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
days
Period in days: 7, 14, 30, 90. Defaults to 30
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
A few tasks worth trying with this server, chosen from its reviewed tools. These have not been run.
01List posts (calendar / queue)
02Who am IReturn the email, name and plan of the Fuxux account this connection is signed in to.
03Get dashboardSummary stats, upcoming scheduled posts, and per-platform connection status.
04List social accounts connected to the Fuxux workspace
05Get analyticsRead-only post performance for the current Fuxux workspace: posts published, success rate, likes, comments, shares, views and reach per platform, the top pos…
Want to run these tasks against your MCP server with us?
Fuxux setup, tools, quality score, publishing readiness, and alternatives.
How do I add Fuxux to Claude, ChatGPT, or Cursor?
Add Fuxux to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://www.fuxux.com/api/mcp.
Is Fuxux MCP ready for ChatGPT and Claude?
As of November 11, 2026, Fuxux scores 100/100 on Manufact's MCP publishing checklist. The scan meets ChatGPT publishing checks and meets Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is Fuxux's MCP tool documentation?
As of November 11, 2026, Fuxux scores 87/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 9 of 9 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What are the best alternatives to Fuxux?
As of November 12, 2026, alternatives to Fuxux in marketing-seo on the Manufact MCP leaderboard include BulkPublish, Refluenced, The Prompting Company MCP, Buzzmark, and Buzzfy.
How can Fuxux improve its MCP documentation?
list_posts is the lowest-scoring reviewed tool at 79/100. Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.