Skip to main content
Glama

Start the AppsFlyer import

start_appsflyer_import

Import everything AppsFlyer holds for this app: installs and the channel, campaign, adset and ad behind each one, in-app events and purchases, uninstalls, reinstalls, ad revenue and retargeting traffic. All twelve raw-data reports are walked; ones the AppsFlyer plan lacks are skipped, not failed. Runs in the background and keeps going after this call. mode 'auto' (default) only pulls the days since the last finished import when there is one, and walks the full history otherwise. 'full' re-walks everything. resume=true continues a failed or cancelled run from where it stopped. Safe to call while a run is going: it reports that run instead of starting another. Anything already imported is counted once. Check progress with get_appsflyer_import_status.

Input Schema

NameRequiredDescriptionDefault
modeNoDefault auto
resumeNoContinue the last failed or cancelled run

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: runs in the background and survives the call, missing plan reports are skipped rather than failing, dedup ensures already-imported data is counted once, and concurrent invocation is safe. Annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false) already cover the safety profile, and the description complements rather than contradicts them.

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?

Dense single paragraph with the scope declaration front-loaded, then mode semantics, then concurrency/progress guidance. Every sentence carries information, though it is long enough that a bulleted split of mode/resume semantics would read more scannably.

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 complex background import with no output schema, the description covers scope, mode behavior, resume semantics, concurrency safety, partial-plan tolerance, and where to check progress. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description meaningfully expands both parameters: it explains what 'auto' actually does (incremental from last finished import vs. full history on first run) and that resume=true restarts a failed/cancelled run from where it stopped, beyond the terse schema text.

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 (import) and resource (all AppsFlyer data for this app) and enumerates exactly what is pulled: installs, attribution chain, in-app events, purchases, uninstalls, reinstalls, ad revenue, retargeting. It is clearly distinct from the sibling get_appsflyer_import_status, which it explicitly names as the progress-inspection counterpart.

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 explicit when-to-use semantics for each mode: 'auto' (default) pulls days since last finished import or full history if none, 'full' re-walks everything, resume=true continues a failed/cancelled run. It also states the concurrent-call behavior (reports the running import instead of starting another) and routes progress checks to get_appsflyer_import_status.

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.

Resources