Skip to main content
Glama

Post my event to my TikTok

event_tiktok_post

Posts the host's event to the host's OWN TikTok account: the event's photo card, the same post the Sonar Connections dashboard's Post to TikTok panel makes, through the same server door. Only a host or organizer of the event can post, and only to the TikTok account they connected themselves. eventId names the event. mode is post (published now) or draft (sent to the host's TikTok inbox to finish there). For a post, privacyLevel is REQUIRED and has no default: it is one of the options TikTok offers this account; call without it and the reply lists them (privacyLevelOptions), then ask the host who can view the post and call again with their pick. While Sonar Connections is in TikTok's review, TikTok accepts private posts only (SELF_ONLY, only the host can view); say so if the host asks for a wider audience. caption is optional (up to 4000 characters, no links, times or street address); without it the event name is the caption. allowComments is off unless the host asks for comments. disclose is off unless the host says the post promotes their own brand (yourBrand) or is paid or branded content (brandedContent); branded content cannot be private. Repeat the host's choices back and get a clear yes first: the call posts. Not connected: the reply carries a one-tap connect link (url) with a message; give both exactly and tell them not to forward it. The reply's state is posted, saved, processing or failed, with a line to read out; refusals (NOT_SIGNED_IN, not_enabled, forbidden, privacy_mismatch, branded_private, bad_title) are read out as given. It requires a personal connector token.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "eventId": "<eventId>",
      "mode": "<mode>"
    },
    "name": "event_tiktok_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeYespost publishes now; draft sends it to the host's TikTok inbox to finish there.
captionNoOptional: the caption, in the host's words.
eventIdYesThe event's id.
discloseNoOptional: {yourBrand, brandedContent}, each true only when the host says so. Default off.
privacyLevelNoWho can view a post: one of the privacyLevelOptions TikTok offers this account. Required for a post; the host picks it.
allowCommentsNoOptional: true only when the host wants comments. Default false.

Output Schema

NameRequiredDescriptionDefault
okNo
urlNo
codeNo
lineNo
modeNo
errorNo
stateNo
detailNo
messageNo
nicknameNo
servedByNo
expiresInSecondsNo
privacyLevelOptionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, and the description adds substantial context beyond them: personal connector token requirement, TikTok review limiting posts to SELF_ONLY, branded content cannot be private, and the enumerated refusal codes. It stops short of describing rate limits or what happens to a failed post, but the disclosure is well above the annotation baseline.

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?

Front-loaded with the core action and the authorization constraint, then proceeds through mode, privacy, caption, flags, confirmation, and error handling in a logical order. It is dense and long, and the 'same server door' framing is decorative, but nearly every sentence carries operational information.

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?

Despite an output schema, the description explains the reply's key fields (state values, line to read out, privacyLevelOptions, connect url/message) and the confirmation-before-posting requirement. For a non-idempotent, open-world write with nested parameters, nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is 100%, yet the description still adds meaning the schema lacks: privacyLevel has no default and must be obtained from the host via privacyLevelOptions, caption has content rules (no links, times, street address) and a fallback to the event name, and allowComments/disclose default to off with the exact conditions that turn them on.

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 and resource ('Posts the host's event to the host's OWN TikTok account') and pins the exact artifact produced (the event's photo card, same as the dashboard panel). No sibling tool does TikTok posting, and the description makes the scope unmistakable.

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

Usage Guidelines5/5

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

Explicitly names who may call it (host or organizer, only to their own connected account), the two modes and what each does, and the required privacyLevel flow including the call-again-with-options pattern. It also covers the not-connected path and the review-period restriction, so an agent knows when and how to proceed in every branch.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources