Skip to main content
Glama

Adako: Google Ads, Meta Ads & Linkedin Ads MCP

TikTok Ads — changes

tiktok_ads_write
Destructive

Changes for TikTok Ads: the 12 TikTok Ads tools that create, update, pause or remove something. Reading, listing or checking anything is not here — that is tiktok_ads, and calling this router to look something up is always wrong.

tiktok_ads_write(action="execute", tool_name="…", arguments={...}); execute is the only action, and tiktok_ads(action="get_tool_schema") looks a tool up for free. Each call creates a proposal the user approves before anything changes; creates are PAUSED. One account per call, no fan-out.

Tools by category: creation tiktok_add_ad, tiktok_add_ad_group, tiktok_create_video_campaign management tiktok_pause_ad, tiktok_pause_ad_group, tiktok_pause_campaign, tiktok_resume_ad, tiktok_resume_ad_group, tiktok_resume_campaign, tiktok_update_ad_group, tiktok_update_campaign assets tiktok_upload_images

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAlways "execute"; list_tools and get_tool_schema live on the read router, never here.
argumentsNoThe tool’s own arguments, as its schema declares them.
tool_nameNoExact name of the tool that makes the change.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare destructive/write/non-idempotent, but the description adds behavior they cannot express: every call creates a proposal the user must approve before anything changes, creates are PAUSED, and it is one account per call with no fan-out. Those are exactly the traits an agent needs to plan a write safely.

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-loads the routing distinction and invocation signature, then organizes the 12 sub-tools by category, so every block is scannable. Slightly redundant in the opening ('not here — that is tiktok_ads … always wrong') repeats the same point twice.

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 router with nested arguments and no output schema, the description covers routing, invocation shape, approval gating, account scoping, and the full inventory of sub-tools. Nothing needed 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.

Parameters3/5

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

Schema description coverage is 100% and the properties already document action='execute', tool_name, and the nested arguments object. The description reinforces the dispatch pattern but adds no syntax or format detail the schema lacks, so the baseline 3 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?

States a specific verb and resource class: the write-side router for the 12 TikTok Ads tools that create, update, pause or remove. It explicitly distinguishes itself from its read sibling, tiktok_ads, so an agent can route without opening either schema.

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?

Gives both when-to-use and when-not: reads/listings/checks belong to tiktok_ads, and using this router for a lookup is 'always wrong'. It also names the alternatives (tiktok_ads and tiktok_ads(action="get_tool_schema") for free schema lookup), leaving nothing to inference.

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.