Tool Types
- Read Safe to run anytime. Pulls data, analyzes performance, provides insights. No spending impact.
- Write Requires user confirmation. Creates campaigns, updates budgets, modifies targeting. Affects spend.
How the agent reaches these tools
Adspirer exposes a small set of top-level tools. Most of the tools listed on this page sit behind a platform router —google_ads, meta_ads, linkedin_ads, tiktok_ads, amazon_ads,
chatgpt_ads — and are reached in two steps:
Only these tools are callable directly by name:
start_here, search_tools, get_tool_schema,
get_connections_status, get_usage_status, switch_primary_account, get_campaign_performance,
get_meta_campaign_performance, audit_conversion_tracking, and echo_test.Everything else in this catalog goes through its platform router. Calling a routed tool by name
returns “tool not found.”search_tools finds the right tool from a plain-English description, and get_tool_schema returns
its exact live signature. Both are top-level: they are never wrapped in action: "execute".
The adspirer-mcp skill teaches this contract to your assistant, along with
the per-platform account ids and budget units.
Google Ads Tools (147)
LinkedIn Ads Tools (55)
Meta Ads Tools (54)
TikTok Ads Tools (37)
Amazon Ads Tools (61)
ChatGPT Ads Tools (31)
Audit Tools (1)
Automation Tools (16)
Marketing Stack Integrations (Plus and above)
Two router tools that proxy to third-party marketing tools through Pipedream Connect. The agent callsaction="list_tools" first to discover what’s available, then action="execute" with the specific tool name.
Both integrations require the user to connect the account in the Connections panel. Free-tier users see the integration cards with an Upgrade prompt.
System Tools (5)
Diagnostic & Helper Tools (13)
Read-only “get unstuck” tools — get-started guidance, pre-launch checks, error diagnosis, and value summaries. All quota-free (they never count against your tool-call limit) and available on every plan, including Free. Your assistant discovers them automatically; in ChatGPT and Claude their results render as interactive cards. See the Diagnostic & Helper Tools reference.Raw data mode
All performance and analytics tools accept an optionalraw_data parameter. When set to true, the tool returns a compact JSON code block with only raw metrics — no severity labels, suggested bids/budgets, industry benchmarks, or optimization recommendations. Default is false (full markdown output with recommendations).
Use raw_data=true when you run your own attribution model, want to minimize token usage, or need to pipe metrics into an external tool.
Tool call best practices
- Always start with
get_connections_status: Verify the correct ad account is active before using platform-specific tools - Chain Read tools before Write tools: Research, validate, then create. Never jump straight to campaign creation.
- Ask for user confirmation before Write tools: Present the plan, get approval, then execute.
- Never retry Write tools on error: If a campaign creation fails, report the error and wait for user input. Don’t auto-retry.
- Format results as tables: Performance data should be scannable (columns: metric, value, change vs. previous period)
- Use
raw_data=truefor compact output: When you need just the numbers without recommendations, passraw_data=trueto any performance tool.
Input Format Requirements
Follow these rules when calling Adspirer tools to avoid validation errors:IDs Must Be Strings
All IDs (campaign_id, ad_account_id, video_id, image_hash, ad_group_id, keyword_id, organization_id, creative_id) must be passed as quoted strings, never as bare integers.
Never Modify IDs
Copy IDs exactly as returned by list/discover tools. Do not round, truncate, or change any digits.Always Call List/Discover Before Create/Update
Many tools require IDs from prior tool calls:list_campaigns→ getcampaign_idbefore update/pause/structureget_campaign_structure→ getad_group_idbefore keyword operationsdiscover_existing_assets→ getimage_hash,video_idbefore campaign creationget_linkedin_organizations→ getorganization_idandaccount_id
Text Length Limits
The server will reject text that exceeds platform limits:Meta Ad Copy Formatting
Metaprimary_text supports emojis, line breaks (\n), and bullet points for higher engagement:
Enum Values Are Case-Insensitive
The server auto-normalizes casing. Common enum values:- status:
ENABLED,PAUSED,ACTIVE,ARCHIVED - objective:
OUTCOME_TRAFFIC,OUTCOME_SALES,OUTCOME_LEADS - match_type:
EXACT,PHRASE,BROAD - date_range:
last_7_days,last_30_days,last_90_days - campaign_type:
search,pmax,image,video,carousel
Budgets Are Numbers
Pass budget fields as numbers, not strings. Budget is in the account’s local currency (not cents).Keywords Format
Foradd_negative_keywords, each keyword must be an object with text and match_type fields:
Related Documentation
- Core Workflows — See how these tools fit into step-by-step processes
- Skills Overview
- Google Ads Integration
- Meta Ads Integration
- LinkedIn Ads Integration
- TikTok Ads Integration

