Skip to main content

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 routergoogle_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.

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 calls action="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 optional raw_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=true for compact output: When you need just the numbers without recommendations, pass raw_data=true to 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 → get campaign_id before update/pause/structure
  • get_campaign_structure → get ad_group_id before keyword operations
  • discover_existing_assets → get image_hash, video_id before campaign creation
  • get_linkedin_organizations → get organization_id and account_id

Text Length Limits

The server will reject text that exceeds platform limits:

Meta Ad Copy Formatting

Meta primary_text supports emojis, line breaks (\n), and bullet points for higher engagement:
Use emojis strategically (🔥 ✅ 🎯 💰 ⚡ 🚀 👉 ⭐ 💡 📈) and structure copy with line breaks and bullet points (•, ✅, ▸) for readability.

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

For add_negative_keywords, each keyword must be an object with text and match_type fields:
Last modified on July 9, 2026