Skip to main content
Glama

Microsoft Advertising campaign performance

msads_get_campaign_performance
Read-only

Campaign performance for a date range: impressions, clicks, CTR, average CPC, cost (in the account's currency), conversions, conversion value and cost per conversion, highest spend first. byDay: true returns one row per campaign per day instead of one per campaign. Microsoft generates this as an async report, which usually takes a few seconds.

Input Schema

NameRequiredDescriptionDefault
byDayNoOne row per campaign per day (default: one row per campaign for the whole range).
limitNoMost rows to return, highest spend first (default 50, max 500).
endDateNoYYYY-MM-DD. Omit for yesterday.
accountIdNoMicrosoft Advertising account id or account number (e.g. 'F123ABCD'), as listed by msads_list_accounts. Only needed when the sign-in can reach more than one account.
startDateNoYYYY-MM-DD. Omit for the last 30 days.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), so the bar is lower, and the description still adds real operational context: the report is generated asynchronously and 'usually takes a few seconds', cost is returned in the account's currency, and rows are sorted highest spend first. It does not state whether the report is paginated beyond the limit or whether an async poll timeout is possible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight paragraph, front-loaded with the resource and its metric list, followed by the byDay variant and the async-cost warning. The long metric enumeration earns its place because there is no output schema to describe the return shape.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by listing the returned metrics, and it also flags the async latency. Date defaults and row caps are covered by the schema, so little is missing; only the choice against the non-msads 'get_campaign_performance' sibling is unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (byDay, limit, endDate, accountId, startDate) are already fully documented with defaults, formats and ranges; that sets the baseline at 3. The description restates byDay behavior ('one row per campaign per day instead of one per campaign') and the spend ordering but adds no syntax or constraint detail beyond the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Campaign performance for a date range') and enumerates the exact metrics returned (impressions, clicks, CTR, CPC, cost, conversions, conversion value, cost per conversion), so an agent knows precisely what it gets. The gap is sibling differentiation: it never distinguishes itself from the other campaign-level tools in the list, notably 'get_campaign_performance' and 'msads_get_campaigns', which an agent could easily confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied through the metric list and the note that results are ordered by highest spend; there is no explicit when-to-use statement or exclusion against 'msads_get_campaigns' (entity listing) or the generic 'get_campaign_performance'. The 'byDay' sentence clarifies one variant behavior but not when to choose it.

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