rocket_launch ASAPilot
Get Started

MCP Tool Reference

Complete list of all 5 MCP tools available through the ASAPilot MCP server for Apple Search Ads management.

For Developers

If you just use the ASAPilot dashboard, you don't need to know about these tools. They're used by AI coding tools (like Claude Code or Cursor) behind the scenes. But if you're curious, read on.

ASAPilot exposes 5 tools through the MCP server. These tools let AI assistants read your ad data, make changes, and run audits — all through natural language commands.

Chat Tools

chat.send

Send a message to ASAPilot and continue an existing external conversation.

Parameters

Name Type Required Description
message string Required User message to send to ASAPilot.
thread_id string Optional Stable external conversation id. Reuse this for follow-up turns.
mode string Optional Optional ASAPilot mode override, for example free_talk or account_health.
connection_id string Optional Optional connected ASA account id.
time_range string Optional Optional reporting time range.

Example

{
  "name": "chat.send",
  "arguments": {
    "message": "Show me campaigns with CPI above $5",
    "thread_id": "analysis-session-1",
    "mode": "account_health",
    "time_range": "last_7_days"
  }
}

Account Tools

accounts.list

List connected Apple Search Ads accounts available to this ASAPilot workspace.

Example

{
  "name": "accounts.list",
  "arguments": {}
}

Automation Tools

automations.list

List automations configured in ASAPilot.

Example

{
  "name": "automations.list",
  "arguments": {}
}

Automation Tools

automations.create

Create a new ASAPilot automation.

Parameters

Name Type Required Description
name string Required Automation name.
type string Required Automation type (e.g., daily_account_health, daily_budget_guard).
connectionId string Required Connected ASA account id.
agentName string Optional Optional agent name override.
configJson string Optional Optional JSON configuration string.
scheduleType string Optional Schedule type: hourly, daily, or weekly.
cronExpr string Optional Schedule value (e.g., "09:00" for daily, "6h" for hourly, "MON@09:00" for weekly).
timezone string Optional IANA timezone like UTC or America/Los_Angeles.

Example

{
  "name": "automations.create",
  "arguments": {
    "name": "Daily Budget Alert",
    "type": "daily_budget_guard",
    "connectionId": "conn_abc123",
    "scheduleType": "daily",
    "cronExpr": "09:00",
    "timezone": "America/Los_Angeles"
  }
}

Automation Tools

automations.run

Queue an automation run immediately.

Parameters

Name Type Required Description
automationId string Required Automation id to run.

Example

{
  "name": "automations.run",
  "arguments": {
    "automationId": "auto_xyz789"
  }
}

Protocol Details

Authentication

All requests require an API key. Include it in the Authorization: Bearer YOUR_API_KEY header or as X-API-Key.

Session Management

The server returns an Mcp-Session-Id header after initialization. Include this header in subsequent requests to maintain session continuity.

Thread Continuity

For chat.send, use the same thread_id across multiple calls to preserve conversation context. The server maps external thread IDs to internal ASAPilot conversations.

Frequently asked questions

How many MCP tools does ASAPilot expose?

The current MCP server exposes five tools across chat, accounts, and automations.

How do I keep MCP session continuity?

Reuse the returned Mcp-Session-Id header across subsequent MCP requests.

How do I keep one external conversation mapped to one ASAPilot thread?

Reuse the same thread_id on chat.send calls so follow-up turns stay attached to the same conversation.