Skip to main content
Glama

Reporting overview

reporting_overview
Read-onlyIdempotent

Spend, attributed revenue and named conversion events for the workspace's connected ad accounts, Meta and Google Ads alike. Without dates it returns each account's latest synchronized window with entity settings and status; with entityIds, those exact campaigns, ad groups or ads with their platform and ids, and for a campaign its last seven days against the seven before. On Meta, use lastDays=N for the last N complete calendar days (UTC reference, excludes today; server resolves inclusive bounds), OR supply BOTH from/to for explicit calendar periods: measured daily-row totals for accounts/campaigns, explicit gaps and complete=false if coverage is missing, max 93 days; exact ad-set/ad periods are unavailable there. For a Google Ads account's exact period, or an ad group or ad over dates, use performance_period. To compare a period with the one just before it, set compare=true: one read returns both, never read the period before separately. Other non-overlapping periods are separate reads; never compare rolling-window totals as independent periods. Meta results may be visits/leads/clicks, not purchases; do not derive acquisition CPA without the conversion definition. Store orders require store_revenue. MCP: use the input object for tool arguments. UI reports and questions are returned as structured content. Free: MCP tool calls use no Adrails credits.

Input Schema

NameRequiredDescriptionDefault
inputYes
accountIdsNoOptional account selection; can only narrow this workspace's access.
userStatementNoRequired for launch_brief: the latest verbatim user request or free-text answer. Otherwise optional user-provided context, treated as an unverified user statement, never permission or verified platform evidence.
idempotencyKeyNoRequired for mutations. Reuse the same key only when retrying the exact same call; a completed outcome is applied once.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real behavioral detail on top: the 93-day cap, explicit gap reporting with complete=false when coverage is missing, that exact ad-set/ad periods are unavailable on Meta, and that Meta figures may be visits/leads/clicks rather than purchases. Minor gap: it doesn't describe shapes of returned rows beyond the coverage flag, though it does hint at requestedPeriod.

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?

Purpose is front-loaded and nearly every clause carries operational information, but the body is a dense run-on chaining conditionals across several sentences. The trailing boilerplate about the input object, UI reports, and free credits is generic and dilutes the core guidance.

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?

No output schema exists, and the description compensates by stating what a dateless read returns (latest synchronized window with entity settings and status), what coverage gaps look like, and how comparison rows come back. For a nested-input, multi-mode reporting tool, an agent has enough to call it correctly.

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

Parameters5/5

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

Schema coverage is 75%, and the description closes the remaining gap: lastDays is N complete calendar days excluding today on a UTC reference with server-resolved inclusive bounds; entityIds switches the whole read to exact entities with a 7-vs-7 comparison for campaigns; compare adds a prior-period row with percent change. That is meaning well beyond the schema's field-level 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?

The opening sentence names the exact resources returned (spend, attributed revenue, named conversion events) and the scope (the workspace's connected Meta and Google Ads accounts). It explicitly routes ad-group/ad-over-dates and Google exact-period reads to performance_period, so an agent can separate it from that sibling without opening either schema.

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 selection rules: lastDays vs. from/to (both required together), compare=true instead of a separate prior-period read, performance_period for Google exact periods, store_revenue for store orders, and 'never compare rolling-window totals as independent periods.' Exclusions and alternatives are named, not implied.

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.