meta_ads_today
Today's ad performance dashboard. Returns per-ad: spend, revenue, ROAS, CPA, impressions, clicks, CTR. Plus _summary aggregate across all ads.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| auth_account | No | ||
| include_zero | No |
Today's ad performance dashboard. Returns per-ad: spend, revenue, ROAS, CPA, impressions, clicks, CTR. Plus _summary aggregate across all ads.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| auth_account | No | ||
| include_zero | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not add behavioral details beyond the annotations. It simply states it 'returns' metrics, which aligns with the readOnlyHint and idempotentHint. There is no mention of side effects, rate limits, or data freshness, but since the annotations already cover safety and non-destructiveness, the description adds minimal extra transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core purpose ('Today's ad performance dashboard') and then lists the return values in a compact list. It avoids redundancy and includes all essential output details without excess wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately explains the return values, which is helpful given no output schema is present. However, it omits any explanation of the input parameters and does not mention potential edge cases (e.g., what happens when no ads exist). For a simple tool, the core output is covered, but the lack of parameter context reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no information about the parameters (account, auth_account, include_zero). It does not explain how 'account' is used or what 'include_zero' controls. With 0% schema coverage and no compensation, the description fails to clarify parameter meanings, making it difficult for an agent to correctly invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Today's ad performance dashboard' and enumerates the exact metrics returned (spend, revenue, ROAS, CPA, impressions, clicks, CTR) plus an aggregate. This precisely conveys what the tool does and distinguishes it from other ad-related tools that might focus on campaign management or real-time data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks explicit usage guidance. It does not mention when to prefer this tool over siblings like meta_ads_realtime or meta_ads_ads, nor does it state conditions such as 'use for daily summaries' or 'requires an active account'. The word 'Today's' implies a time scope, but it is not explicitly framed as a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.