Public leaderboard

Public assessment

Nolas-Shadow/agent1st-ads-mcp (meta-tiktok-ads-from-agent1st)

meta-tiktok-ads-from-agent1st · v1.0.1 · scanned

What changed in the harness

Selection accuracy 100→98, token cost up 6%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

25.9 / 30

25.9 out of 30
03Economics

19.5 / 20

19.5 out of 20
04Discoverability

8.8 / 20

8.8 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

10 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
check_setup
no_return_description
ALWAYS call before any other tool. Returns your license tier, which ad platforms (Meta/TikTok) are connected, and the capabilities available on your plan (Scout/Operator/Commander/Agency), so you know which tools you can use.
create_meta_campaign
no_return_description
Create a complete Meta (Facebook/Instagram) ad campaign in one call — campaign + ad set with targeting + creative + ad — and return the new campaign_id. The campaign is created in PAUSED state; call enable_meta_campaign to activate it. Minimum budget $1/day. Requires Scout plan or higher.
enable_meta_campaign
no_return_description
Activate a paused Meta campaign so it starts spending, and return the campaign's updated status (ACTIVE). Use campaign_id from create_meta_campaign or list_meta_campaigns. Requires Scout plan or higher.
pause_meta_campaign
no_return_description
Pause a live Meta campaign to stop all spending immediately, and return the campaign's updated status (PAUSED). Campaign and settings are preserved — use enable_meta_campaign to resume. Requires Scout plan or higher.
update_meta_campaign_budget
no_return_description
Change the daily budget of a Meta campaign, and return the campaign's updated daily budget. Takes effect immediately. Increase to scale a winning campaign, decrease to throttle spend. Minimum $1/day. Requires Scout plan or higher.
delete_meta_campaign
no_return_description
Permanently delete a Meta campaign and all its ad sets and ads, and return confirmation of the deletion. Cannot be undone. Use pause_meta_campaign to stop spending temporarily. Requires Scout plan or higher.
create_tiktok_campaign
no_return_description
Create a complete TikTok ad campaign in one call — campaign + ad group with targeting + ad — and return the new campaign_id. Created in DISABLE state; call enable_tiktok_campaign to activate it. TikTok minimum budget is $20/day. Requires Operator plan or higher ($69/mo).
enable_tiktok_campaign
no_return_description
Activate a disabled TikTok campaign so it starts running, and return the campaign's updated status. Requires Operator plan or higher ($69/mo).
pause_tiktok_campaign
no_return_description
Pause a running TikTok campaign to stop all spending, and return the campaign's updated status. Settings are preserved — use enable_tiktok_campaign to resume. Requires Operator plan or higher ($69/mo).
update_tiktok_campaign_budget
no_return_description
Change the daily budget of a TikTok campaign, and return the campaign's updated budget. TikTok minimum is $20/day. Requires Operator plan or higher ($69/mo).

Selection evidence

Confusable tool pairs.

6 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
get_meta_campaign_stats get_tiktok_campaign_stats medium A task like 'check how my campaign performed last week' omits the platform. Both tools are parallel stats endpoints with identical metric shapes (impressions, clicks, spend, CTR, conversions), and a campaign ID alone gives no platform hint, so an agent may pick the wrong variant.
update_meta_campaign_budget update_tiktok_campaign_budget medium A task like 'double the daily budget on my best campaign' does not name the platform. Both tools change a daily budget and differ only in minimum spend ($1 vs $20) and parameter naming (daily_budget_usd vs budget_usd), making wrong-platform selection plausible.
list_meta_campaigns list_tiktok_campaigns medium A task like 'show me all my campaigns' gives no platform. Both tools list campaigns with ID, name, status, objective, and budget, so without platform context the agent cannot disambiguate which account to query.
create_meta_campaign create_tiktok_campaign medium A task like 'create a campaign for my spring sale' is platform-agnostic. Both are one-call create tools (campaign + ad set/group with targeting + creative) with overlapping required fields (name, budget, URL, ad copy), so the agent may create on the wrong platform.
enable_meta_campaign enable_tiktok_campaign medium A task like 'turn my campaign back on' uses the same verb for both platforms. Both tools activate a previously created/paused campaign given only a campaign_id, so a platform-neutral instruction can map to the wrong one.
pause_meta_campaign delete_meta_campaign medium A task like 'shut down my campaign' is ambiguous between a temporary stop and permanent removal. The delete description even warns to use pause to stop spending temporarily, confirming these two destructive-vs-reversible actions are confusable for terse user instructions.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard