Free AI-first agent kit for publishing short-form videos to TikTok, Instagram Reels, YouTube Shorts, X, and Facebook through Taisly.
The Taisly Agent Kit presents a moderately well-structured MCP server with 13 tools covering authentication, platform management, post creation, and repost automation. Tool naming follows verb_noun patterns (taisly_agent_setup_start, taisly_posts_create) which is good. Descriptions are present and substantive (average ~120 chars), meeting the 10-1024 character baseline. However, there are consistent gaps: (1) Parameter schemas lack detailed descriptions in many cases, parameters like 'platform', 'agent', and 'platforms' are defined with types but minimal context about valid values or formats; (2) Output schemas are entirely undocumented, the code shows responses are returned but no schema is published to the client; (3) Critical tools like taisly_posts_create accept a 'confirmed' boolean but lack a recovery/confirmation pattern to prevent accidental publishing; (4) Several tools accept both 'agent'/'agentId' and 'id'/'historyId' as aliases without clear documentation of equivalence; (5) Error handling is present in the code (TaislyError thrown with context) but not described in tool definitions. Strengths: tool names are action-oriented and distinct, risk annotations (WRITE, IRREVERSIBLE, READ_ONLY) are declared, and the server includes validation logic (file checks, extension validation). The toolAnnotations feature flag is set to true, indicating hints are present in code.
Finish setup after the user approves the loginUrl in the browser. Saves the local Taisly agent credential for later CLI and MCP calls.
Start browser-based Taisly authentication for an AI agent. Returns a loginUrl that the user must open and approve before checkin.
Check whether the Taisly API key is valid and count connected social accounts.
Check whether a social account connection started by taisly_platform_connect_start has appeared in Taisly.
Start browser-based connection for a social account. Returns a connectUrl that the user must open and approve in the browser.
Get local posting constraints for a destination platform before validating or creating a post.
Output schemas are not documented. Tool definitions show input schemas but no output/return schema is declared. LLMs cannot plan downstream tool calls or validate expected response structure.
Parameter descriptions lack actionable details. 'platform' is described as 'Platform name, for example TikTok, Instagram, YouTube, X, or Facebook' but should specify: exact string values accepted, case sensitivity, and whether aliases (tiktok vs TikTok) are valid. This forces LLM guesswork.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
List connected TikTok, Instagram, YouTube, X, Facebook, and other social accounts available to this API key.
Publish or schedule a video post through Taisly after the user explicitly confirms the media, destinations, caption, and schedule.
List recent Taisly post history for status checks and audits.
Fetch recent-history status for a Taisly post by historyId.
Validate a local video path, destination platform IDs, caption, and optional schedule before publishing.
Create a repost automation from one connected account to one or more destination accounts.
List configured repost automations for connected social accounts.
Aliased parameters ('agent' vs 'agentId', 'id' vs 'historyId') are not explicitly documented as equivalent. LLMs may pass both, or confusion about which to use. Either use oneOf schema with clear documentation or standardize to a single parameter name.
taisly_posts_create (IRREVERSIBLE tool) lacks a confirmation/dry-run pattern in the schema. While code accepts 'confirmed' boolean, the tool definition does not document what happens if confirmed=false, or offer a preview step before publishing.
Parameter 'platforms' accepts oneOf [array, string] but lacks clarity on when to use each. Is a single string platform ID treated as a one-item list? Or is the string a comma-separated list? Document with examples.
taisly_posts_status returns 'POST_NOT_FOUND_IN_RECENT_HISTORY' error but does not offer recovery guidance (e.g., 'Try searching taisly_posts_list with a date range' or 'Use a recent post ID from the last 30 days'). Errors lack actionable next steps.
No pagination limit is enforced or documented for taisly_posts_list. Code shows page numbering but no explicit default limit or max page size. LLMs may request page=1000 or omit pagination logic.