Skip to main content
Glama
Taisly

Taisly

Official
by taisly

Taisly Agent Kit: AI agent social media posting for TikTok, Instagram Reels, YouTube Shorts, X, and Facebook

Taisly Agent Kit

Taisly MCP server Taisly MCP score

Free AI-first social media posting for short-form video. Taisly Agent Kit is a JSON-first SDK, CLI, Agent Skill, and MCP server that lets AI agents, developer tools, and automation workflows publish videos to TikTok, Instagram Reels, YouTube Shorts, X, Facebook, and other connected social platforms through Taisly.

Use it when your agent can create content, write captions, or prepare a campaign, but still needs a reliable video publishing API to put that content online. The package is free to install and designed to get an agent from idea to published video without building every platform integration yourself.

Website | Agent Kit | API Docs | npm | GitHub | MCP Registry | Glama | Guide

Languages

Read this guide in: English, Español, Deutsch, Français, Português, ไทย, 中文, Bahasa Indonesia, Русский, Nederlands, 한국어, 日本語, العربية, Türkçe, Polski.

Related MCP server: Outpost

Why developers use it

  • Build AI agent social media posting into Codex, Claude Code, Cursor, OpenClaw, and custom automation tools.

  • Automate video publishing from one local file to multiple connected social accounts.

  • Give agents a safe JSON workflow: discover accounts, validate payloads, create posts, and check status.

  • Add TikTok API posting automation, Instagram Reels automation, YouTube Shorts publishing, and cross-platform social media automation without building every platform integration yourself.

  • Start free, then upgrade only when the publishing workflow grows.

Taisly handles the connected accounts and posting execution. Your agent handles planning, caption writing, campaign logic, or workflow orchestration.

Optional local workflows

  • Install the package for free.

  • Create or connect a Taisly account from your AI agent.

  • Let the agent authenticate, connect social accounts, validate videos, and publish through a JSON-first workflow.

  • Upgrade later when you need higher-volume publishing, larger account sets, or automatic repost workflows.

No credit card is required to get started. Paid plans are for teams and workflows that need more scale.

Agent Skill

This package includes the Taisly Social Media Posting Skill in SKILL.md. Use it with Claude Code, Codex, Cursor, OpenClaw, and other agents when you want the agent to understand the safe posting workflow before it touches live social accounts.

Recommended skill workflow:

auth -> platforms -> validate -> confirm -> create -> status

The skill tells agents to discover connected accounts, validate the post, ask for explicit user confirmation, create the post, and save the returned historyId for status checks.

Codex plugin

This package includes a Codex plugin manifest in .codex-plugin/plugin.json. The plugin points Codex to the canonical SKILL.md file and the official remote MCP server:

https://app.taisly.com/mcp

Use the plugin when you want Codex to discover both the posting workflow instructions and the Taisly MCP tools from one package. The root SKILL.md is the single source of truth for the agent workflow.

Connect an AI agent through remote MCP

Remote MCP is the default AI-agent connection. If Taisly tools are already available, call taisly_auth_status and taisly_platforms_list directly. OAuth provides access; do not install this package or ask for an API key for that connection.

Help me connect Taisly to this agent using the setup guide. Check access and list my connected social accounts. Do not publish anything during setup.

Full documentation: https://docs.taisly.com/docs/mcp

The remote server URL is https://app.taisly.com/mcp. Add it through your client's remote MCP and OAuth settings if needed. Human authorization or administrator approval may be required. On expiry, reconnect through OAuth rather than switching to the CLI.

Optional local package installation

Use the following package instructions for explicit SDK, CLI or local-file workflows. They are not remote MCP setup requirements.

npm install -g @taisly/agent

Or run it without a global install:

npx @taisly/agent help

Start the stdio MCP server:

npx @taisly/agent mcp

For local development inside this repository:

node packages/agent/src/cli.js help

Local package authentication

For the local package, browser setup can store a local credential without manually copying an API key. Use any short agent slug, for example claude-code, codex, cursor, windsurf, openclaw, hermes-agent, cline, or aider.

Help me set up Taisly Agent Kit.

1. Install the CLI: npm i -g @taisly/agent
2. Run taisly setup --agent <agent-slug> and send me the login URL so I can finish authentication.
3. Wait for me to finish login in the browser.
4. Run taisly checkin --agent <agent-slug>.
5. Tell me if Taisly is connected and ready. If not, tell me what failed.

If you cannot install or run the Taisly CLI in this environment, stop and tell me to open Taisly Settings instead.

The setup command stores a local Taisly agent credential, so later CLI and MCP commands can run without manually copying an API key.

Manual fallback: create an API key in Taisly Settings, then set:

export TAISLY_API_KEY="taisly_..."

Advanced: by default, the browser setup stores the local credential in ~/.taisly/config.json. Most users should not change this. Set TAISLY_CONFIG_HOME=/path/to/dir only for CI, tests, or isolated agent profiles that need a separate credential store.

Quick start

List the connected social accounts available to the API key:

taisly auth:status
taisly platforms:list

Connect a social account from an AI-agent flow:

taisly platforms:connect:start --platform instagram
# Open the returned connectUrl and finish authorization in the browser.
taisly platforms:connect:check --platform instagram
taisly platforms:list

Supported connect slugs: instagram, tiktok, youtube, x, facebook.

Validate a local video before publishing:

taisly posts:validate \
  --video ./launch.mp4 \
  --platforms platform_id_1,platform_id_2 \
  --description "Launch day"

Publish now:

taisly posts:create \
  --video ./launch.mp4 \
  --platforms platform_id_1,platform_id_2 \
  --description "Launch day"

Schedule for later:

taisly posts:create \
  --video ./launch.mp4 \
  --platforms platform_id_1,platform_id_2 \
  --description "Launch day" \
  --scheduled "2026-06-14T09:00:00+07:00"

Check the returned post:

taisly posts:status --id <historyId>

Posting settings

Discover supported options and accepted values for each destination platform:

taisly platforms:schema --platform TikTok
taisly platforms:schema --platform YouTube

Group options by platform name in settings. For example:

taisly posts:create \
  --video ./launch.mp4 \
  --platforms your_tiktok_platform_id,your_youtube_platform_id \
  --description "Product walkthrough" \
  --settings '{"TikTok":{"status":"PUBLIC_TO_EVERYONE"},"YouTube":{"title":"Product walkthrough","status":"unlisted"}}'

With --json, put the same object in the input file's settings property. SDK calls accept settings as an object. For remote or local MCP, discover options with taisly_platform_schema and pass settings to both taisly_posts_validate and taisly_posts_create. The HTTP API accepts a JSON-encoded settings form field.

Platform

Settings

Meaning

TikTok

status

PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, or SELF_ONLY, subject to the account's available visibility options.

TikTok

comment_disabled, duet_disabled, stitch_disabled

Boolean switches; true disables the interaction.

TikTok

brand_content_toggle

Boolean; discloses a paid partnership promoting a third-party business. Cannot be combined with SELF_ONLY.

TikTok

brand_organic_toggle

Boolean; discloses promotion of the creator's own business. Both brand switches may be enabled together.

TikTok

is_aigc

Boolean; true enables the native AI-generated content label. Omit to keep existing behavior, or explicitly pass false.

YouTube

title

Optional video title, up to 100 characters. Omit to use the post caption.

YouTube

status

public, private, or unlisted.

For example, a public TikTok post promoting your own business and an unlisted YouTube post with its own title can share one request:

{
  "settings": {
    "TikTok": {
      "status": "PUBLIC_TO_EVERYONE",
      "brand_organic_toggle": true,
      "comment_disabled": false
    },
    "YouTube": {
      "title": "Product walkthrough",
      "status": "unlisted"
    }
  }
}

These settings work with --settings, --json, SDK calls, and both MCP servers, for immediate and scheduled posts. They apply to all selected accounts on the corresponding platform. Omitted fields keep the usual posting behavior. These options apply only to the requested post. TikTok account restrictions still apply.

Every command prints JSON so agents can parse results without scraping terminal text.

MCP server

Taisly is published in the official MCP Registry as:

io.github.taisly/agent

Display name: Taisly Social Media Posting

Remote MCP endpoint:

https://app.taisly.com/mcp

The remote MCP server uses streamable HTTP and OAuth. Remote MCP tools can publish only from public videoUrl values because they cannot read local files from your machine.

Codex remote MCP setup:

codex mcp add taisly --url https://app.taisly.com/mcp
codex mcp login taisly

Claude Code remote MCP setup:

claude mcp add --transport http taisly https://app.taisly.com/mcp

Then ask Claude Code to verify the connection. If OAuth is needed, Claude Code can guide the browser login from the session. You can also authenticate explicitly with claude mcp login taisly if you want to complete the OAuth flow from the shell before using tools.

Taisly Agent Kit also includes a local stdio MCP server in the same package. Use local MCP when your agent needs to read local video files:

{
  "mcpServers": {
    "taisly": {
      "command": "npx",
      "args": ["@taisly/agent", "mcp"]
    }
  }
}

If you already use a manual API key, you can still pass TAISLY_API_KEY in the MCP server env block.

Codex local MCP setup:

codex mcp add taisly -- npx @taisly/agent mcp

Claude Code local MCP setup:

claude mcp add taisly -- npx @taisly/agent mcp

Then ask the agent:

Use the local Taisly MCP server you just added and run the Taisly agent setup start tool with agentId: "<agent-slug>".

Send me the login URL and wait for me to finish in the browser.
Then run the Taisly agent checkin tool with agentId: "<agent-slug>".
After checkin, run the Taisly auth status tool.
Tell me if Taisly is connected and ready. If not, tell me what failed.

Available MCP tools:

  • taisly_agent_setup_start

  • taisly_agent_checkin

  • taisly_auth_status

  • taisly_platforms_list

  • taisly_platform_schema

  • taisly_platform_connect_start

  • taisly_platform_connect_check

  • taisly_posts_validate

  • taisly_posts_create

  • taisly_posts_status

  • taisly_posts_list

  • taisly_reposts_list

  • taisly_reposts_create

taisly_posts_create requires confirmed: true. Set it only after the user explicitly approves the video, destination accounts, caption, and schedule.

JSON workflow for agents

Agents can write a payload file and pass it to the CLI:

{
  "video": "./launch.mp4",
  "platforms": ["platform_id_1", "platform_id_2"],
  "description": "Launch day. Short demo, big update.",
  "scheduled": "2026-06-14T09:00:00+07:00"
}

Then run:

taisly posts:validate --json ./campaign.json
taisly posts:create --json ./campaign.json

The video path must point to a real local file available to the agent. Supported local preflight extensions are .mp4, .mov, .avi, .mkv, .webm, .flv, .mpeg, and .mpg.

Commands

taisly auth:status
taisly setup --agent <agent-slug>
taisly checkin --agent <agent-slug>
taisly platforms:list
taisly integrations:list
taisly platforms:schema --platform TikTok
taisly posts:validate --video ./launch.mp4 --platforms platform_id_1 --description "Launch day"
taisly posts:create --video ./launch.mp4 --platforms platform_id_1 --description "Launch day"
taisly posts:create --json ./campaign.json
taisly posts:list --page 1
taisly posts:status --id <historyId>
taisly reposts:list
taisly reposts:create --from <platform_id> --to <platform_id_1,platform_id_2>
taisly mcp

integrations:* commands are aliases for platforms:* commands. Taisly calls connected social accounts platforms in the app, while many public APIs call them integrations.

SDK

import { Taisly } from "@taisly/agent";

const taisly = new Taisly({
  apiKey: process.env.TAISLY_API_KEY,
});

const platforms = await taisly.platforms.list();

const validation = await taisly.posts.validate({
  video: "./launch.mp4",
  platforms: [platforms.data[0].id],
  description: "Launch day",
});

const post = await taisly.posts.create({
  video: "./launch.mp4",
  platforms: [platforms.data[0].id],
  description: "Launch day",
  scheduled: "2026-06-14T09:00:00+07:00",
});

console.log(validation.success);
console.log(post.historyId);

Use with AI agents

Taisly Agent Kit is designed for agentic workflows where the user gives a high-level instruction and the agent executes a safe posting path.

  • Codex: let a coding agent publish demo videos, launch clips, or build updates after user confirmation.

  • Claude Code: add social posting to local content workflows and campaign scripts.

  • Cursor: ship video publishing from developer tools, content apps, and internal automation.

  • OpenClaw and other agents: connect planning, caption writing, and posting execution through a single CLI.

Recommended agent path:

auth:status -> platforms:list -> platforms:schema -> posts:validate -> user confirmation -> posts:create -> posts:status

Agent recipes

The examples/ folder includes copy-paste workflows for common coding agents:

  • examples/codex/post-video.md

  • examples/claude-code/schedule-video.md

  • examples/cursor/post-build-demo-video.md

  • examples/post-video.sh

  • examples/schedule-video.sh

What this package is not

  • It is not a social media dashboard.

  • It is not a video editor.

  • It does not replace a Taisly account.

  • It requires connected social accounts and a Taisly agent credential or API key.

  • It does not bypass platform rules, account permissions, or media validation.

Current limits

  • posts:create uses the existing multipart /post API.

  • posts:status reads recent history because a single-post status endpoint is not available yet.

  • posts:validate is local preflight; final validation still happens in Taisly.

  • Local MCP uses stdio transport. Remote MCP uses streamable HTTP at https://app.taisly.com/mcp.

  • Remote MCP requires public video URLs; use local MCP or the CLI for local video files.

  • Media upload reuse is planned later.

Available Tools

13 tools
taisly_agent_checkinFinish Taisly Agent SetupAInspect

Finish setup after the user approves the loginUrl in the browser. Saves the local Taisly agent credential for later CLI and MCP calls.

NameRequiredDescriptionDefault
agentNoShort agent slug used with taisly_agent_setup_start.
agentIdNoAlias for agent.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate a mutating but non-destructive operation (readOnlyHint=false, destructiveHint=false). The description adds that the tool saves credentials, which is consistent. However, it does not disclose additional behavioral traits such as side effects, idempotency, or error conditions. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, using only two sentences. The first sentence front-loads the critical condition ('after user approves the loginUrl'), and every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 optional params, no output schema), the description covers the core purpose and precondition. It is missing details like expected behavior if called prematurely or what the output might be, but it is still fairly complete for its context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters ('agent' and 'agentId') described in the input schema. The description adds no extra meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: finishing setup after user approval and saving credentials. It uses a specific verb ('finish setup') and resource ('Taisly agent credential'), effectively distinguishing it from the sibling tool 'taisly_agent_setup_start' which initiates setup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool: after the user approves the loginUrl. It implies the correct sequence relative to 'taisly_agent_setup_start' but does not mention when not to use it or provide alternatives. Still, the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_agent_setup_startStart Taisly Agent SetupAInspect

Start browser-based Taisly authentication for an AI agent. Returns a loginUrl that the user must open and approve before checkin.

NameRequiredDescriptionDefault
agentNoShort agent slug, for example claude-code, codex, cursor, openclaw, or hermes-agent.
agentIdNoAlias for agent.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations by specifying the return value (loginUrl) and user action required, but does not elaborate on internal state changes or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences covering purpose and output, no extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (2 optional params, no output schema), the description adequately covers purpose, output, and prerequisite, though it could mention error states or default behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already well-described. The description adds no additional meaning beyond what is in the schema, earning a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool initiates browser-based Taisly authentication for an AI agent and returns a loginUrl, distinguishing it from sibling tools like checkin and auth_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates that the loginUrl must be opened and approved before checkin, providing context for when to use this tool, though it lacks explicit 'when not to use' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_auth_statusTaisly Auth StatusA
Read-onlyIdempotent
Inspect

Check whether the Taisly API key is valid and count connected social accounts.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate safe, read-only, idempotent behavior. Description adds context about checking validity and counting accounts, which aligns well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded, no wasted words. Ideal structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only tool with no output schema, the description fully covers purpose and result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters. Baseline 4. Description adds value by explaining what the tool does with its zero-parameter interface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it checks API key validity and counts social accounts. Specific verb-resource combination. Distinguishes from siblings like taisly_platform_connect_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use versus alternatives. Agent must infer context; no explicit or implicit usage conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_platform_connect_checkCheck Social Account ConnectionA
Read-onlyIdempotent
Inspect

Check whether a social account connection started by taisly_platform_connect_start has appeared in Taisly.

NameRequiredDescriptionDefault
platformYesPlatform to check. Supported: instagram, tiktok, youtube, x, facebook.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and idempotentHint, so the safety profile is clear. The description adds that it checks for appearance but does not disclose what happens if the connection hasn't appeared or rate limiting, thus adding some value but not fully comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 16 words, directly states the tool's purpose with no extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter fully described in schema and no output schema, the description explains the tool's role but does not indicate the return value or behavior (e.g., boolean result, polling interval). This leaves some ambiguity for a check operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with the platform parameter well-documented. The description adds no extra semantic meaning beyond referencing the start tool, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'Check' and the resource 'social account connection', and explicitly references the companion tool taisly_platform_connect_start, distinguishing it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used after taisly_platform_connect_start to check if the connection has appeared, providing clear context but lacking explicit when-not-to-use or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_platform_connect_startStart Social Account ConnectionAInspect

Start browser-based connection for a social account. Returns a connectUrl that the user must open and approve in the browser.

NameRequiredDescriptionDefault
platformYesPlatform to connect. Supported: instagram, tiktok, youtube, x, facebook.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate openWorldHint=true and readOnlyHint=false. The description adds value by detailing that the tool returns a connectUrl that requires user browser interaction, which is essential behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, no wasted words. It front-loads the action and clearly states the return value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, annotations present), the description covers the purpose, user action, and return value adequately. It could mention the effect of the connection start, but it is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter, 'platform', with 100% schema description coverage. The tool description adds no additional meaning beyond what the schema already provides, so it meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Start browser-based connection' and specifies the resource as 'social account'. It mentions the return of a connectUrl, which distinguishes it from sibling tools like taisly_platform_connect_check that check status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating the user must open and approve the URL in the browser, but it does not explicitly provide when to use this tool versus alternatives, nor does it mention any prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_platform_schemaGet Platform Posting SchemaB
Read-onlyIdempotent
Inspect

Get posting constraints and supported settings for a destination platform.

NameRequiredDescriptionDefault
platformYesPlatform name, for example TikTok, Instagram, YouTube, X, or Facebook.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and closed-world behavior, so the safety profile is covered. The description adds that the result is per-destination posting constraints, but says nothing about return shape, completeness, caching, or whether unsupported platforms error versus return empty — meaningful gaps for a schema-lookup tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and the payload. Nothing is wasted, though the brevity borders on under-specification for a discovery tool whose output matters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Read-only annotations carry the safety story, but with no output schema the description is the only place an agent could learn what 'constraints and settings' actually contains. It stops short of describing the returned fields or how to consume them before creating a post.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'platform' parameter is documented with concrete examples (TikTok, Instagram, YouTube, X, Facebook), so the schema does the heavy lifting. The description adds no additional meaning about accepted values, case sensitivity, or error behavior for unknown platforms.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('posting constraints and supported settings' for a destination platform), which is more informative than the title alone. It is distinguishable from taisly_platforms_list, but it never explicitly contrasts itself with taisly_posts_validate, which sounds adjacent in purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indication of when to call this versus taisly_platforms_list or taisly_posts_validate, and no mention of the natural workflow (e.g., call before taisly_posts_create to learn required fields). Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_platforms_listList Taisly PlatformsA
Read-onlyIdempotent
Inspect

List connected TikTok, Instagram, YouTube, X, Facebook, and other social accounts available to this API key.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds no additional behavioral context (e.g., pagination, caching). It meets the baseline but doesn't exceed annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with clear verb and object. No wasted words, front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameter-less list tool with full annotations, the description is complete. It specifies the resource (social accounts) and scope (available to this API key).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. The description doesn't add parameter info, which is fine given zero parameters. Baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists connected social accounts (TikTok, Instagram, etc.) and distinguishes it from sibling tools like taisly_posts_list or taisly_auth_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: use this to see which social accounts are connected to the API key. No explicit exclusions or alternatives are given, but the sibling tool names imply the scope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_posts_createCreate Taisly PostAInspect

Start publishing or schedule a video post after explicit user confirmation. success: true means Taisly accepted the request, not that every platform published it. For an immediate post, use the returned historyId with taisly_posts_status and report success only when the per-platform status is SUCCESS.

NameRequiredDescriptionDefault
videoYesLocal video path available to the agent.
settingsNoOptional per-platform posting settings. All fields are optional; omitted values keep the existing posting behavior. These settings apply to every selected account on the corresponding platform.
confirmedYesMust be true only after explicit user confirmation.
platformsYesDestination platform IDs from taisly_platforms_list.
scheduledNoOptional ISO datetime or Unix timestamp in milliseconds.
descriptionYesPost caption or description.
previewTimeNoOptional preview timestamp used by the Taisly posting API.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already declaring non-read-only, non-idempotent, open-world behavior, the description adds critical async semantics: 'success: true means Taisly accepted the request, not that every platform published it.' It also directs the agent to verify per-platform status via taisly_posts_status before reporting success, which is exactly the behavioral nuance an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, zero waste. The confirmation requirement and the success-semantics warning are front-loaded, and the follow-up instruction is stated precisely enough to act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter creation tool with nested settings and no output schema, the description covers the two non-obvious risks: user confirmation and async partial success. The remaining parameter details are fully covered by the schema, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all seven parameters including nested platform settings. The description reinforces the `confirmed` parameter by saying to call after explicit user confirmation, but it adds little semantic detail about video, platforms, scheduled, or settings beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Start publishing or schedule a video post.' It distinguishes itself from taisly_posts_status by positioning that sibling as the follow-up check, but it does not explicitly contrast with taisly_reposts_create or other creation-adjacent siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context: call only after explicit user confirmation, and after an immediate post use the returned historyId with taisly_posts_status. It does not state when-not to use this tool or explicitly route repost creation elsewhere, so it lacks full alternative-routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_posts_listList Taisly PostsA
Read-onlyIdempotent
Inspect

List recent Taisly post history for status checks and audits.

NameRequiredDescriptionDefault
pageNoHistory page number. Defaults to 1.
endTimeNoOptional end timestamp filter.
startTimeNoOptional start timestamp filter.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows it's a safe read operation. The description adds temporal context ('recent', 'history') but no further behavioral details like pagination or sorting. This adds some value beyond annotations but not extensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is concise and front-loaded, stating the action, resource, and purpose. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the basic purpose but lacks details about return values (no output schema) or pagination behavior. Given the tool's simplicity and the supportive annotations, a score of 3 is reasonable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100% with parameter descriptions for page, startTime, and endTime. The description does not add any extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb ('List') and resource ('Taisly post history') and adds a usage context ('for status checks and audits'). It clearly differentiates from siblings like taisly_posts_create or taisly_posts_validate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use ('for status checks and audits'), providing clear context. However, it does not explicitly mention when not to use or list alternative tools among the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_posts_statusGet Taisly Post StatusA
Read-onlyIdempotent
Inspect

Fetch per-platform status for a Taisly post by historyId. Inspect data.result[].status: PENDING is still processing, SUCCESS is published, and FAILED is not published.

NameRequiredDescriptionDefault
idNoTaisly historyId returned by taisly_posts_create.
historyIdNoAlias for id.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower; the description still adds real value by decoding the response path data.result[].status and explaining PENDING/SUCCESS/FAILED, which tells the agent the call is pollable and when the operation has reached a terminal state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler; the identity of the call is front-loaded and the status-code decoding follows. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully carries the return-value semantics, which is exactly what an agent needs for this read tool. It omits edge behavior (unknown id, partial platform failures, retry cadence), which keeps it just short of fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents both id and historyId including that historyId is an alias. The description repeats the historyId key but adds no format, example, or clarification of the id/historyId aliasing, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Fetch), resource (per-platform status for a Taisly post) and lookup key (historyId). It is readily separable from taisly_posts_list and taisly_posts_create because the resource is the status of one post rather than the post collection or a new post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the phrase 'by historyId' plus the schema note that historyId comes from taisly_posts_create signals this is a follow-up/polling call, but the description never states when to call it (e.g. after create, or to poll until terminal) or what alternatives exist. Adequate but leaves the agent to infer the workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_posts_validateValidate Taisly PostA
Read-onlyIdempotent
Inspect

Validate a local video path, destination platform IDs, caption, and optional schedule before publishing.

NameRequiredDescriptionDefault
videoYesLocal video path available to the agent.
settingsNoOptional per-platform posting settings. All fields are optional; omitted values keep the existing posting behavior. These settings apply to every selected account on the corresponding platform.
platformsYesDestination platform IDs from taisly_platforms_list.
scheduledNoOptional ISO datetime or Unix timestamp in milliseconds.
descriptionYesPost caption or description.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that this is a pre-publish check, which is useful workflow context, but says nothing about what a failed validation produces (errors, warnings, partial results) or whether it mutates any stored draft state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the verb first and the validated surface enumerated. Nothing redundant and nothing padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter validation tool with nested settings objects and no output schema, the description omits the most decision-relevant behavior: what the caller gets back and what to do on failure. It is adequate to identify the tool but not to predict its response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the nested TikTok/YouTube settings are richly documented in-schema. The description only restates the top-level field names ('video path, platform IDs, caption, schedule') without adding format, ordering, or cross-field constraints beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (validate) and enumerates exactly what is validated: local video path, destination platform IDs, caption, and optional schedule. The phrase 'before publishing' implicitly distinguishes it from taisly_posts_create, though the sibling is never named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'before publishing' implies the pre-flight use case, but the description never explicitly says to call this before taisly_posts_create, nor does it say whether validation is required or merely optional. The downstream alternative is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_reposts_createCreate Taisly RepostAInspect

Create a repost automation from one connected account to one or more destination accounts.

NameRequiredDescriptionDefault
toYesDestination platform IDs.
fromYesSource platform ID.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false (write operation) and openWorldHint=true (potential side effects). The description adds context ('automation' and 'to one or more destination accounts') but does not clarify what the automation entails, when it triggers, or any required preconditions like connection status. It adds some value beyond annotations but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action ('Create a repost automation') and states the resource scope. No unnecessary words or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description omits important details for a creation tool: it does not explain what happens after creation (e.g., whether it triggers immediately, expected response), does not reference sibling tools like taisly_reposts_list for follow-up, and does not mention any authentication or connection prerequisites. Given the absence of an output schema, the description should provide more guidance on the result or next steps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters already documented ('Source platform ID' and 'Destination platform IDs.'). The description's mention of 'from one connected account to one or more destination accounts' aligns with but does not add new meaning beyond the schema. Baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a repost automation' – a specific verb and resource (repost automation) – and distinguishes it from sibling tools like taisly_reposts_list (list reposts) and taisly_posts_create (create posts). It also defines the scope: 'from one connected account to one or more destination accounts.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating repost automations but offers no explicit guidance on when to use this tool versus alternatives such as taisly_posts_create or taisly_reposts_list. No when-not-to-use or prerequisite information is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taisly_reposts_listList Taisly RepostsA
Read-onlyIdempotent
Inspect

List configured repost automations for connected social accounts.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds 'configured repost automations' context but does not elaborate on behavior beyond what annotations cover. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, clear and direct. No unnecessary words. Front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description sufficiently explains what the tool returns (list of configured automations). Complete given the low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%. Description mentions 'for connected social accounts,' implying auth context but no param details needed. Baseline 4 for 0 parameters is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly specifies the action 'List' and the resource 'configured repost automations for connected social accounts.' It distinguishes from sibling tools like taisly_reposts_create (create) and taisly_posts_list (list posts vs reposts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. While the context is simple and the tool is read-only, the description does not mention when not to use it or compare with siblings like taisly_reposts_create or taisly_posts_list.

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.

  1. 2 tool updatesv0.2.10
    • Changedtaisly_posts_create1 field changed
      • addedInput schema / properties / settings
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Optional per-platform posting settings. All fields are optional; omitted values keep the existing posting behavior. These settings apply to every selected account on the corresponding platform.",
        +  "properties": {
        +    "TikTok": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "brand_content_toggle": {
        +          "description": "true discloses a paid partnership promoting a third-party business. Cannot be combined with status SELF_ONLY.",
        +          "type": "boolean"
        +        },
        +        "brand_organic_toggle": {
        +          "description": "true discloses promotion of the creator's own business. May be combined with brand_content_toggle.",
        +          "type": "boolean"
        +        },
        +        "comment_disabled": {
        +          "description": "true disables comments; false does not override the creator's account restrictions.",
        +          "type": "boolean"
        +        },
        +        "duet_disabled": {
        +          "description": "true disables Duet; false does not override the creator's account restrictions.",
        +          "type": "boolean"
        +        },
        +        "is_aigc": {
        +          "description": "Whether this video is AI-generated. Omit to keep the existing behavior.",
        +          "type": "boolean"
        +        },
        +        "status": {
        +          "description": "TikTok visibility. Choose a value permitted by the creator's account. Branded content cannot use SELF_ONLY.",
        +          "enum": [
        +            "PUBLIC_TO_EVERYONE",
        +            "MUTUAL_FOLLOW_FRIENDS",
        +            "FOLLOWER_OF_CREATOR",
        +            "SELF_ONLY"
        +          ],
        +          "type": "string"
        +        },
        +        "stitch_disabled": {
        +          "description": "true disables Stitch; false does not override the creator's account restrictions.",
        +          "type": "boolean"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "YouTube": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "status": {
        +          "description": "YouTube video visibility.",
        +          "enum": [
        +            "public",
        +            "private",
        +            "unlisted"
        +          ],
        +          "type": "string"
        +        },
        +        "title": {
        +          "description": "Optional YouTube video title, up to 100 characters. Omit to use the post caption.",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedtaisly_posts_validate1 field changed
      • addedInput schema / properties / settings
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Optional per-platform posting settings. All fields are optional; omitted values keep the existing posting behavior. These settings apply to every selected account on the corresponding platform.",
        +  "properties": {
        +    "TikTok": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "brand_content_toggle": {
        +          "description": "true discloses a paid partnership promoting a third-party business. Cannot be combined with status SELF_ONLY.",
        +          "type": "boolean"
        +        },
        +        "brand_organic_toggle": {
        +          "description": "true discloses promotion of the creator's own business. May be combined with brand_content_toggle.",
        +          "type": "boolean"
        +        },
        +        "comment_disabled": {
        +          "description": "true disables comments; false does not override the creator's account restrictions.",
        +          "type": "boolean"
        +        },
        +        "duet_disabled": {
        +          "description": "true disables Duet; false does not override the creator's account restrictions.",
        +          "type": "boolean"
        +        },
        +        "is_aigc": {
        +          "description": "Whether this video is AI-generated. Omit to keep the existing behavior.",
        +          "type": "boolean"
        +        },
        +        "status": {
        +          "description": "TikTok visibility. Choose a value permitted by the creator's account. Branded content cannot use SELF_ONLY.",
        +          "enum": [
        +            "PUBLIC_TO_EVERYONE",
        +            "MUTUAL_FOLLOW_FRIENDS",
        +            "FOLLOWER_OF_CREATOR",
        +            "SELF_ONLY"
        +          ],
        +          "type": "string"
        +        },
        +        "stitch_disabled": {
        +          "description": "true disables Stitch; false does not override the creator's account restrictions.",
        +          "type": "boolean"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "YouTube": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "status": {
        +          "description": "YouTube video visibility.",
        +          "enum": [
        +            "public",
        +            "private",
        +            "unlisted"
        +          ],
        +          "type": "string"
        +        },
        +        "title": {
        +          "description": "Optional YouTube video title, up to 100 characters. Omit to use the post caption.",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
  2. 4 tool updatesv0.2.8
    • Addedtaisly_agent_checkin
    • Addedtaisly_agent_setup_start
    • Addedtaisly_platform_connect_check
    • Addedtaisly_platform_connect_start
  3. 9 tool updatesv0.1.0
    • First observedtaisly_auth_status
    • First observedtaisly_platform_schema
    • First observedtaisly_platforms_list
    • First observedtaisly_posts_create
    • First observedtaisly_posts_list
    • First observedtaisly_posts_status
    • First observedtaisly_posts_validate
    • First observedtaisly_reposts_create
    • First observedtaisly_reposts_list

TDQS

A3.9/5.0

Scored across 13 tools

Disambiguation5/5

Each tool has a clearly distinct purpose across authentication, platform setup, posting, status checks, and repost automations. The start/check pairs are explicitly separated, and validate/create/status/list for posts do not overlap in role.

Naming Consistency4/5

All tools use a consistent taisly_ prefix and snake_case, mostly following a resource_action pattern. Minor deviations exist where names are noun_noun rather than action-final (e.g. platform_schema, auth_status) and where platform/platforms is inconsistently singular or plural.

Tool Count5/5

The 13 tools are well-scoped for a social posting and repost automation server. Authentication, platform discovery, posting, validation, status, and repost operations each earn their place without obvious bloat.

Completeness4/5

The set covers the core lifecycle: setup, platform connection, validation, publishing, status checking, post history, and repost automation creation/listing. Minor gaps remain around canceling or deleting scheduled posts, managing or deleting repost automations, and disconnecting accounts, but these are not blocking for core workflows.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Social media scheduling and publishing for AI agents. 17 validation-first tools to post to X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Discord, Telegram, and more through one connected workspace.
    175 npm
    103
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Social media API and MCP server for AI agents that enables publishing to X, Instagram, LinkedIn, Reddit, Bluesky, and Threads from a single endpoint.
    108 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    One prompt, a native post per network, published or scheduled by your agent: TikTok, Instagram, Facebook, YouTube, LinkedIn, Bluesky, Mastodon, Telegram, Discord, Slack, Nostr, X, WordPress, Dev.to, Hashnode. 22 tools incl. plan_week, bulk_schedule, analytics and TikTok video quality check. Priced per brand, not per channel; API + MCP on the free plan. Hosted: postwire.io/api/mcp
    22
    414 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to publish and schedule short-form vertical videos across multiple social platforms, validate and normalize video files, generate platform-optimized metadata, and retrieve performance analytics.
    1
    MIT