Skip to main content
Glama

Server Details

Audit and monitor PPC accounts: Google Ads, Microsoft Advertising, and Meta Ads.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL

Available Tools

23 tools
accountList accountsA
Read-only
Inspect

Get all accounts as JSONL, one line per account with the account id, account name, platform, currency, and 30-day cost (in account currency and USD). The account id (the Id field, not ClientCustomerId) is what the other TrueClicks tools take as accountId; use this to resolve account ids before calling them.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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

The description discloses the read-only nature ('Get') and the output format (JSONL), which goes beyond the provided annotations (readOnlyHint=true, destructiveHint=false). It also transparently explains the account ID field naming convention, which could otherwise be ambiguous. No contradictions with annotations.

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?

The description is concise (two sentences) and well-structured. It front-loads the primary purpose ('Get all accounts'), then adds necessary details about output format and ID resolution. No redundant or vague wording.

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 tool with no parameters and no output schema, the description is complete. It specifies what is returned (accounts with fields), the format (JSONL), and how to use the results (accountId resolution). It fully equips the agent to invoke the tool correctly.

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?

The input schema is empty (0 parameters), so the baseline is 4. The description doesn't need to explain parameters, and it adds additional context about the output and ID usage. No parameter-related gaps exist.

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 description clearly states the tool's purpose: 'Get all accounts' with specific output details (JSONL format and fields). It distinguishes itself from sibling tools by indicating this is the account listing tool, and the mention of resolving account IDs for other calls further clarifies its role.

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?

The description explicitly tells when to use this tool: 'use this to resolve account ids before calling them' and clarifies the distinction between Id and ClientCustomerId field. This provides direct guidance for the agent, making it clear this is a prerequisite step for tools requiring accountId.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

account_labelList account labelsA
Read-only
Inspect

Get account labels as JSONL, one row per account-label assignment.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNoOptional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts.

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses the output format (JSONL) and row semantics (one per assignment), which goes beyond the readOnlyHint annotation. It does not mention potential edge cases like large result sets, but for a simple read operation this is adequate.

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?

The description is a single, concise sentence that directly states the purpose and output format. No unnecessary words or redundancy.

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?

The description is sufficient for a simple list tool, but it does not specify the exact fields present in each row (e.g., account ID, label name). This minor gap is acceptable given the typical expectation of such a tool, but a bit more detail would make it fully complete.

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?

The sole parameter 'accountIds' is fully documented in the schema description, including its optionality, meaning, and default behavior. The reference to the 'numeric Id field' from the account listing adds helpful context.

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 description clearly states the tool retrieves account labels as JSONL, with a specific resource (account labels) and action (Get). It is distinct from sibling tools like 'account' which likely lists accounts, and 'account_label' is unambiguous.

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?

The description implies usage for retrieving account-label assignments, but does not explicitly contrast with alternatives or state when to prefer this tool over others. However, given the sibling set, the purpose is fairly evident, so it is not misleading.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_account_resultAccount audit summaryA
Read-only
Inspect

Get the latest account-aggregated audit results as a Markdown summary, suitable for direct AI consumption. Results are aggregated per account, a high-level roll-up across all audit rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsYesOne or more TrueClicks account ids to filter (the numeric Id field from the account listing, not the platform customer id). If empty, all accounts accessible by the connector are returned.

TDQS

A4/5.0
Behavior4/5

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

The safe read-only behavior is already captured by readOnlyHint=true and destructiveHint=false, so the description doesn't need to cover those. It adds useful behavioral context beyond the annotations: results are 'latest,' formatted as Markdown, aggregated per account, and represent a high-level roll-up across all audit rules. It does not contradict the annotations.

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?

The description is just two sentences with clear front-loading of the action, target resource, and output format. There is no filler, and the phrase 'suitable for direct AI consumption' adds relevant guidance rather than being padding.

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?

For a one-parameter, read-only tool with 100% schema coverage and no output schema, the description covers the main points an agent needs: what to call it for, the result format, and the aggregation level. It's slightly sparse on detail of what the Markdown summary actually contains, but the high-level roll-up context makes it sufficient for the intended use.

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%, and the accountIds parameter already carries the specific true-natural language about TrueClicks account IDs, the ID type nuance, and the empty-array behavior. The description adds no new parameter semantics, so the baseline score of 3 applies.

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 description gives a specific verb+resource ('Get the latest account-aggregated audit results') and states the output format (Markdown summary) and scope (high-level roll-up across all audit rules). This makes it clearly distinct from the per-rule and per-campaign audit siblings, even without naming them.

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?

The description implies when to use this tool: when an account-level, high-level Markdown summary of audit results is needed. However, it never names or excludes alternatives like audit_rule_result or audit_rule_output_table, so in a list of many audit sibling tools the selection guidance is mostly left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_rule_output_tableAudit rule output tableA
Read-only
Inspect

Get the detailed output rows for the latest completed audit run of one or more rules for one account, as a multi-block CSV: one ">>>>> RuleKey: ..." block per rule, each followed by a "metadata: { tooltip: {...} }" line and the rule's rows as CSV. Provides the raw findings behind a failing audit rule. Rules with no completed run in the last 30 days contribute no block.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional maximum rows per rule (defaults to 10000 when omitted).
ruleKeysYesOne or more audit rule key strings, e.g. "QueryMining_InefficientNGrams".
accountIdYesTrueClicks account id to retrieve results for (the numeric Id field from the account listing, not the platform customer id).
campaignIdsNoOptional campaign IDs to filter rows. Omit or leave empty to return all rows.

TDQS

A4.1/5.0
Behavior4/5

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

The description discloses significant behavior: the output format, the rule-key block structure, and the 30-day no-run exclusion. The readOnlyHint annotation already covers the read-only nature, and the description adds no conflicting information.

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?

The description is somewhat long but well-organized and directly relevant. It front-loads the core purpose and then explains formatting, striking a balance between completeness and brevity.

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?

For a simple read-only tool with no output schema, the description provides sufficient context: it explains the output format, the filtering condition (30-day window), and the purpose (raw findings). It does not need to elaborate on authentication or error handling given the tool's simplicity and the presence of sibling tools for historical data.

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 descriptions cover all four parameters completely, so the baseline is 3. The description does not add extra semantic detail beyond what the schema already provides, such as clarifying the relationship between accountId and campaignIds.

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 description clearly states the tool's function: retrieving detailed output rows for the latest completed audit run for one or more rules. It also specifies the output format (multi-block CSV with rule keys and metadata) and distinguishes it from the historical variant by emphasizing 'latest completed.'

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

Usage Guidelines4/5

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

The description mentions that it provides raw findings behind a failing audit rule and that rules with no completed run in the last 30 days are omitted, giving practical guidance. However, it does not explicitly contrast with sibling tools like audit_rule_output_table_historical, though the 'latest completed' phrasing implies the difference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_rule_output_table_historicalAudit rule output table (historical)A
Read-only
Inspect

Get the detailed output rows for one or more audit rules across multiple historical weeks for one account, as a multi-block CSV: one ">>>>> RuleKey: ..., Week: yyyy-MM-dd" block per rule/week, each followed by a "metadata: { tooltip: {...} }" line and that rule/week's rows as CSV. Use to compare how findings changed over time. Weeks are identified by their Monday start date. Weeks with no completed run for a rule contribute no block.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional maximum rows per rule per week.
ruleKeysYesOne or more audit rule key strings, e.g. "QueryMining_InefficientNGrams".
accountIdYesTrueClicks account id to retrieve results for (the numeric Id field from the account listing, not the platform customer id).
campaignIdsNoOptional campaign IDs to filter rows per rule per week. Omit or leave empty to return all rows.
weekStartDatesYesMonday week-start dates (yyyy-MM-dd) identifying the weeks to retrieve.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly annotation, the description discloses the exact output behavior: multi-block CSV with block headers, metadata lines, and omission of missing weeks. This transparently sets expectations for retrieval results without contradicting the annotations.

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?

The description is well-structured and concise, delivering the tool's purpose, output format, and edge-case behavior in four short sentences. No filler or redundant phrases dilute the message.

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?

Since there is no output schema, the description provides enough detail about the response shape: block format, metadata line, CSV rows, and behavior for missing weeks. Combined with the complete parameter descriptions, an agent can understand the tool's functionality without ambiguity.

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?

The input schema already covers 100% of parameters with clear descriptions, including accountId, ruleKeys, weekStartDates, optional campaignIds, and limit. The description does not add significant parameter-specific meaning beyond the schema, so a baseline score is appropriate.

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 description states a specific verb 'Get' and resource: detailed audit rule output rows for one or more rules across multiple historical weeks. It clearly distinguishes historical retrieval from current output tables by emphasizing the multi-block historical CSV format and time comparison purpose.

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?

The description explicitly says 'Use to compare how findings changed over time,' giving a clear when-to-use directive. It also clarifies week identification by Monday start dates and behavior for weeks with no completed run, which helps the agent know when to call this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_rule_resultAudit rule resultsA
Read-only
Inspect

Get account-level audit rule results as a Markdown summary. Returns results for one or more accounts; use accountIds to filter. Never returns disabled rules. Results are grouped by type: Errors Monitoring, Optimizations, Insights. Each rule row includes: Rule Name, Rule Key, ScoreIncrease, Accountability, Classification, Is Campaign Specific (Yes/No: whether a campaign-level breakdown is available for this rule), and the result value. When numberOfWeeks > 0, historical weekly columns are appended (most recent first). ScoreIncrease shows how much the TrueClicks score would improve if the rule were fixed. Use onlyFailed=true to limit to currently failing rules only.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsYesOne or more TrueClicks account ids to filter (the numeric Id field from the account listing, not the platform customer id). If empty, all accounts accessible by the connector are returned.
onlyFailedNoIf true, only return rules where the current result is Failed. Default false returns both passed and failed.
numberOfWeeksNoNumber of historical weeks to include (e.g. 8 = last 8 weeks). Default 0 returns current results only.

TDQS

A4.2/5.0
Behavior4/5

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

The description adds useful behavioral details beyond the annotations, such as 'Never returns disabled rules', grouping by type, and historical column appending. The readOnlyHint annotation already covers safety, and the description does not contradict it.

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?

The description is information-dense but not bloated. It follows a logical flow: result type, filtering, grouping, columns, and optional historical behavior. Every sentence adds useful information.

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?

There is no output schema, so the description rightly explains return format and key columns. It is complete enough for typical use, though it omits edge-case behavior like empty accountIds, ordering, pagination, or error conditions.

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?

The schema already covers all parameters with 100% coverage, and the description adds extra behavioral meaning, especially for numberOfWeeks ('historical weekly columns are appended, most recent first') and onlyFailed. It reinforces but does not merely echo the schema.

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 description clearly states the verb ('Get'), the resource ('account-level audit rule results'), and the output format ('Markdown summary'). It also distinguishes itself as account-level, which helps separate it from campaign-level or output-table sibling tools.

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?

Parameter usage is explained well (accountIds filtering, onlyFailed, numberOfWeeks), but the description does not explicitly say when to choose this tool over related siblings like audit_account_result, audit_rule_output_table, or audit_rule_result_campaign. Guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_rule_result_campaignCampaign-level audit rule resultsA
Read-only
Inspect

Get campaign-level audit rule results as a Markdown summary. Single account only (not cross-account). Included: campaigns that are currently failing (have output rows in the latest audit run) AND, when numberOfWeeks > 0, campaigns that were failing in any historical week but are now resolved (shown with "Rows (0)" in the current column). Not included: campaigns that passed in both the current run and all historical weeks (no output rows at any point). Only rules where IsCampaignSpecific = Yes are considered. Cell values in historical week columns: an actual result means the rule ran and found issues; "Rows (0)" means the rule ran and calculated results for that campaign but found nothing (passed); "-" means the rule did not run at all that week.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesSingle TrueClicks account id (the numeric Id field from the account listing, not the platform customer id).
campaignIdsNoCampaign IDs to filter results. Only rows with matching CampaignId are returned. If null or empty, all campaigns are returned.
numberOfWeeksNoNumber of historical weeks to include (e.g. 4 = last 4 weeks) alongside current results. Default 0 returns current results only.

TDQS

A4/5.0
Behavior4/5

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

Beyond the read-only annotation, the description discloses the exact behavior regarding historical weeks, how results are filtered, and the meaning of cell values like 'Rows (0)' and '-'. It provides substantial operational details that an agent would need to interpret the output correctly.

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

Conciseness3/5

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

The description is verbose and repeats inclusion/exclusion logic in multiple places. While it is well-structured and front-loaded, the redundant clarifications could be condensed without losing meaning, making it less concise than ideal.

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?

The description covers the output format (Markdown summary), the inclusion rules, and the interpretation of historical data. It does not mention pagination or error handling, but for a read-only reporting tool, the provided context is largely sufficient.

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?

All three parameters have descriptions that go beyond type definitions. For example, campaignIds explains the filtering behavior and the null/empty default, and numberOfWeeks clarifies the default and its effect. This provides clear semantic value beyond the schema.

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 description clearly states that the tool gets campaign-level audit rule results as a Markdown summary, and explicitly distinguishes it from account-level or rule-level results. It also defines the inclusion and exclusion criteria, making the purpose unambiguous.

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?

The description explains the scope (single account, campaign-specific rules) and the inclusive/exclusive logic, but it does not explicitly compare this tool to sibling tools like audit_rule_result or audit_account_result. The selection is implied by the title and content, but not directly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

meta_ads_execute_reportExecute Meta Ads reportA
Read-only
Inspect

Execute a Meta (Facebook) Marketing API query for one account and return the result rows as TSV (tab-separated, header row + one row per line). The query is Graph API syntax, an edge name plus parameters such as fields=, date_preset=, time_range=. The act_ prefix and access token are added automatically; do not include them.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesGraph API edge plus parameters. Do not include the act_<accountId> prefix or access_token; they are added automatically. Examples: 'campaigns?fields=name,status,daily_budget'; 'ads?fields=name,adset_id,campaign_id'; 'insights?fields=impressions,clicks,spend&date_preset=last_7d'; 'insights?fields=impressions,clicks,spend&time_range={"since":"2025-01-01","until":"2025-01-31"}'. Account-level queries start with 'me/' (e.g. 'me/adaccounts?fields=name,currency').
accountIdYesTrueClicks account id (the numeric Id field from the account listing, not the Meta customer id / ClientCustomerId). Must be a Meta account accessible by the connector.

TDQS

A4.4/5.0
Behavior4/5

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

The description is transparent that this performs a read-only query (no destructive action) and returns TSV rows. The annotations already mark readOnlyHint and destructiveHint, and the description adds clarity about output format and automatically injected prefixes, covering behavior beyond the annotations without contradiction.

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?

The description is compact and information-dense, with a clear first sentence and practical examples. It is slightly longer than strictly necessary because of the extensive query examples, but those examples directly aid correct usage and do not waste space.

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?

The description covers the essential context: what the tool does, what output format to expect, key parameter disambiguation, and query syntax. Since no output schema is provided, the description compensates by specifying TSV with a header row, which is sufficient for this dynamic report tool.

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?

Both parameters are explained in detail: accountId is clearly distinguished from Meta's customer id and provided with context, and query is fully described with syntax rules, examples, and the note that the act_<accountId> prefix and access_token are auto-added. This is strong, concrete parameter guidance that goes beyond the schema.

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 description clearly states the tool executes a Meta (Facebook) Marketing API query and returns results as TSV. It explicitly differentiates from Google Ads and Microsoft Ads report tools via the Meta-specific naming and API references, so an agent can distinguish it from sibling tools.

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

Usage Guidelines4/5

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

The description implicitly signals usage for Meta Ads reports by stating 'Meta (Facebook) Marketing API query' and contrasts with Google/Microsoft siblings in the sibling list. It gives concrete examples but does not explicitly state 'use this when you need Meta Ads data' or compare with other Meta report tools, leaving slightly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ms_ads_execute_bulk_queryExecute Microsoft Ads bulk queryA
Read-only
Inspect

Execute a Microsoft Ads bulk query for one account, returning entity/configuration rows as TSV (tab-separated, header row + one row per line). This is an entity/configuration snapshot with no date range or aggregation, as opposed to time-bound performance metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportYesMicrosoft Ads bulk report name.
columnsYesReport columns to select.
accountIdYesTrueClicks account id (the numeric Id field from the account listing, not the Microsoft customer id / ClientCustomerId). Must be a Microsoft account accessible by the connector.

TDQS

A4.4/5.0
Behavior4/5

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

The readOnlyHint and destructiveHint annotations already indicate safety, and the description reinforces a read-only snapshot behavior by describing the TSV output and lack of date aggregation. It adds useful context about the output format and data scope.

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?

The description is two sentences with no redundant wording. It front-loads the primary action and resource, then clarifies output format and scope in a compact way.

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?

Given there is no output schema, the description sufficiently indicates the return format (TSV with header row). It also explains the snapshot nature and what the data represents, covering the main context needed for correct use.

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?

All three parameters are described in the schema with 100% coverage, so the description adds minimal additional parameter-level meaning. The existing parameter descriptions are adequate for understanding report name, columns, and account ID.

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 description clearly states the tool executes a Microsoft Ads bulk query for one account and returns entity/configuration rows in TSV format. It explicitly contrasts with time-bound performance metrics, distinguishing it from sibling reporting tools.

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?

The description provides direct guidance on when to use this tool: for entity/configuration snapshots with no date range or aggregation, as opposed to time-bound performance metrics. This makes the appropriate context clear relative to the available alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ms_ads_execute_report_queryExecute Microsoft Ads report queryA
Read-only
Inspect

Execute a Microsoft Ads performance report query for one account over a date range, returning rows as TSV (tab-separated, header row + one row per line). Requires startDate, endDate and reportAggregation (performance data is time-bound). Covers metric reports over a date range, not entity/configuration snapshots (campaigns, ad groups, keywords with no metrics and no date range).

ParametersJSON Schema
NameRequiredDescriptionDefault
reportYesMicrosoft Ads report name.
columnsYesReport columns to select.
endDateYesReport end date (yyyy-MM-dd).
accountIdYesTrueClicks account id (the numeric Id field from the account listing, not the Microsoft customer id / ClientCustomerId). Must be a Microsoft account accessible by the connector.
startDateYesReport start date (yyyy-MM-dd).
predicatesNoOptional filter predicates, each with a column Name and one or more Values.
reportAggregationYesReport aggregation, e.g. "Summary", "Daily", "Weekly", "Monthly".

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark the operation read-only and non-destructive. The description adds transparency by specifying the TSV return format and by clarifying that it covers only performance reports, not config snapshots. There is no contradiction with the readOnlyHint annotation.

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?

The description is concise, well-structured, and free of redundant wording. It conveys the essential purpose, scope, required parameters, and output format in three clear sentences.

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?

The description is sufficiently complete for a report-execution tool: it states the input constraints, the output format, and the scope boundary. Since no output schema is provided and the schema descriptions are thorough, no critical invocation context is missing.

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?

The input schema already provides complete descriptions for all parameters, including the important clarification about accountId and the optional predicates. The main description only reiterates that startDate, endDate, and reportAggregation are required, adding little beyond the schema coverage.

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 description clearly states the action ('Execute a Microsoft Ads performance report query'), the target resource ('for one account over a date range'), and the output format ('TSV'). It also distinguishes itself from entity/configuration snapshots, making its purpose unambiguous relative to sibling tools.

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

Usage Guidelines4/5

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

The description provides useful when-to-use guidance by explicitly indicating it covers metric reports over a date range and not entity/configuration snapshots. It does not explicitly name sibling tools like ms_ads_execute_bulk_query or ms_ads_reports_list, but the scope distinction is clear enough for an agent to choose appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ms_ads_report_columnsMicrosoft Ads report columnsA
Read-only
Inspect

Get the selectable columns for a given Microsoft Ads report as CSV (one per row). These column names are the valid entries for the report query's 'columns' argument.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportYesName of a Microsoft Ads report (one of the available report names).

TDQS

A4.5/5.0
Behavior4/5

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

The readOnlyHint annotation already indicates no side effects. The description adds the concrete output format (CSV, one column name per row), which helps set expectations. No behavioral contradictions exist.

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?

The description is very concise, with no redundant wording. It communicates the resource, output format, and downstream usage in one short paragraph.

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 simple single-parameter read-only tool, the description is complete: it states what is returned, in what format, and how the result should be used. No output schema is provided, but the CSV format is explicitly described.

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?

The schema property description fully explains that 'report' is the name of a Microsoft Ads report and one of the available report names, linking conceptually to the reports list tool. This adds enough context beyond the raw parameter name.

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 description clearly states the tool gets selectable columns for a Microsoft Ads report, specifies CSV output format (one per row), and explains their purpose as valid entries for the report query's 'columns' argument. This distinguishes it from sibling tools like ms_ads_reports_list and ms_ads_execute_report_query.

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

Usage Guidelines4/5

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

The description implies the tool should be used to discover valid column names before constructing a report query's 'columns' argument. It does not explicitly mention alternatives or when not to use it, but the reference to the query's columns argument gives clear practical guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ms_ads_reports_listList Microsoft Ads reportsA
Read-only
Inspect

Get the available Microsoft Ads reports as CSV: a 'Report' name column and a 'Type' column. Type 'Report' is a performance report (time-bound metrics); type 'Bulk' is an entity/configuration snapshot. The two types use different report names and column naming.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds valuable context about the CSV format and the meaning of the 'Type' column, including that the two types use different naming conventions. This goes beyond annotations and helps the agent interpret the output correctly.

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?

The description is two sentences, front-loaded with the core purpose and output format, then explains the two types. Every sentence earns its place; no wasted words. It is concise and well-structured.

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 listing tool with no parameters and no output schema, the description covers everything an agent needs: it specifies the CSV format, the columns, and the meaning of the two types, including the note about naming differences. No critical information 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?

The tool has zero parameters, so the schema coverage is trivially 100%. With no parameters to document, the description does not need to add anything. The baseline for zero parameters is 4, and the description correctly focuses on output semantics rather than parameters.

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 description states a specific verb ('Get') and resource ('available Microsoft Ads reports') and defines the output as CSV with two named columns. It further distinguishes the two report types ('Report' vs 'Bulk') with their meanings, clearly differentiating from sibling tools like ms_ads_report_columns (which lists columns) and ms_ads_execute_report_query (which executes queries).

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

Usage Guidelines4/5

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

The description gives clear context about what the tool returns and the semantics of the two types, which helps an agent decide when to use it. However, it does not explicitly mention alternatives or when not to use it. The distinction between listing reports and executing them is implied but not stated, so a small gap remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perfmon_alert_output_tablePerfmon alert output tableA
Read-only
Inspect

Get the per-campaign metric rows behind a triggered perfmon alert as JSONL. The alert is identified by its PerfmonId and PerfmonDefinitionMetricId (both from a perfmon alert row) plus the accountId. Each row is one campaign for one date range; the DateRange column is 1 = current period, 2 = previous period (for fluctuation metrics). Use campaignIds to limit to specific campaigns.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional maximum number of rows to return, applied after the campaign filter. Defaults to 10000 when omitted.
accountIdYesSingle TrueClicks account id the alert belongs to (the numeric Id field from the account listing, not the platform customer id).
perfmonIdYesPerfmon definition id, from the PerfmonId field in a perfmon alert view
campaignIdsNoOptional list of campaign IDs to filter rows. Omit or leave empty to return all campaigns.
perfmonDefinitionMetricIdYesPerfmon definition metric id, from the PerfmonDefinitionMetricId field in a perfmon alert view

TDQS

A4.2/5.0
Behavior4/5

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

The description adds useful behavioral context beyond the read-only annotation: it specifies the output format (JSONL), the row structure (one per campaign per date range), and the meaning of the DateRange column. Since annotations already indicate read-only and non-destructive behavior, the additional detail is appropriately supplementary.

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?

Two sentences with no redundancy. The main purpose is front-loaded, followed by precise identification details and output semantics. Every clause adds value; no filler or unnecessary repetition.

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?

For a tool with five parameters and no output schema, the description gives sufficient context: purpose, identification method, output format, row granularity, DateRange meaning, and filtering option. It does not enumerate possible output fields, but that is not essential for invoking the tool correctly.

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 coverage is 100% with each parameter already described. The description restates where PerfmonId and PerfmonDefinitionMetricId come from (matching schema text) and clarifies the campaignIds filter, but these are marginal additions. The primary new information (DateRange) pertains to the output, not parameters. Baseline of 3 is appropriate given high schema coverage.

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?

Clearly states the action ('Get') and the resource ('per-campaign metric rows behind a triggered perfmon alert'), specifying the output format (JSONL). Distinguishes from sibling alert-view tools by indicating this returns the underlying rows, not the alert definitions.

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

Usage Guidelines4/5

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

Provides explicit instructions on how to identify the alert (PerfmonId, PerfmonDefinitionMetricId, accountId) and how to filter (campaignIds). Explains the DateRange semantics for interpreting rows. While it doesn't explicitly contrast with sibling tools, the context of sibling names (perfmon_fluctuation_alert, perfmon_threshold_alert) makes the use case clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perfmon_fluctuation_alertPerfmon fluctuation alertsA
Read-only
Inspect

Get the currently triggered perfmon FLUCTUATION alerts (a monitored metric moved too far vs the previous period) for one or more accounts as JSONL. Perfmon keeps no history, so this is the current state. Each line carries: Metric + ApiType, MetricType, AlertLevel (Increase/Decrease), Current + Previous value, ChangeValue (current − previous), PercentageChange (0..1 where 1 = 100%, e.g. 6.95 = 695%, vs previous), DefinitionLimit (the allowed fluctuation as a 0..1 fraction where 1 = 100%, e.g. 0.1 = 10%), Priority + PriorityNum, TimeRangeDays, and the target AccountIds/CampaignIds. Defaults to High + Critical only (pass minPriority to widen). Each alert's PerfmonId + PerfmonDefinitionMetricId identify the underlying per-campaign metric rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNoOptional TrueClicks account ids to filter (the numeric Id field from the account listing, not the platform customer id). Omit or leave empty to return all accounts accessible by the connector.
campaignIdsNoOptional. Use this ONLY to focus on / analyze specific campaign(s). Pass the campaign id(s) you care about and only alerts scoped to those campaigns are returned (a single-campaign alert on any of them, or a campaign-group alert whose campaigns are all within your set). Account-level alerts and alerts touching other campaigns are excluded. Omit to get all alerts for the account(s).
minPriorityNoMinimum priority to include. Priority scale: 1=Insight, 2=Low, 3=Medium, 4=High, 5=Critical. Defaults to 4 (High) so only High + Critical are returned; pass 1 (Insight) to return all priorities.High

TDQS

A4/5.0
Behavior4/5

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

The readOnlyHint annotation already covers side-effect expectations, and the description adds useful context by stating that no history is kept and that the result is the current state. There is no contradiction between the description and annotations.

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

Conciseness3/5

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

The description is verbose, with a long enumeration of output fields and repeated emphasis on default priority behavior. The field list is valuable because there is no output schema, but the text could be tightened without losing important information.

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?

There is no output schema, so the description compensates by enumerating the fields carried in each JSONL line and explaining priority, filtering, and current-state semantics. It is reasonably complete for the tool's read-only nature.

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?

All parameters have detailed schema descriptions, including accountIds filtering, campaignIds scoping behavior, and minPriority values with defaults. The description largely repeats or restates this information rather than adding substantial new meaning, so the baseline of 3 is appropriate.

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 description clearly states the tool's purpose: getting currently triggered perfmon fluctuation alerts for one or more accounts as JSONL. It also distinguishes this from threshold alerts through the explicit 'FLUCTUATION' qualifier and the detailed alert semantics.

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

Usage Guidelines4/5

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

It explains that the tool returns current state because perfmon keeps no history, and it specifies the default priority behavior. It does not explicitly contrast with the sibling perfmon_threshold_alert tool, but the fluctuation framing makes the intended use clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perfmon_threshold_alertPerfmon threshold alertsA
Read-only
Inspect

Get the currently triggered perfmon THRESHOLD alerts (a monitored metric crossed a configured limit) for one or more accounts as JSONL. Perfmon keeps no history, so this is the current state. Each line carries: Metric + ApiType, MetricType, AlertLevel (AboveThreshold/BelowThreshold), CurrentValue, DefinitionLimit (the raw threshold on the metric's scale), ChangeValue (current − limit), PercentageChange (0..1 where 1 = 100%, vs the limit), Priority + PriorityNum, TimeRangeDays, and the target AccountIds/CampaignIds. Defaults to High + Critical only (pass minPriority to widen). Each alert's PerfmonId + PerfmonDefinitionMetricId identify the underlying per-campaign metric rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNoOptional TrueClicks account ids to filter (the numeric Id field from the account listing, not the platform customer id). Omit or leave empty to return all accounts accessible by the connector.
campaignIdsNoOptional. Use this ONLY to focus on / analyze specific campaign(s). Pass the campaign id(s) you care about and only alerts scoped to those campaigns are returned (a single-campaign alert on any of them, or a campaign-group alert whose campaigns are all within your set). Account-level alerts and alerts touching other campaigns are excluded. Omit to get all alerts for the account(s).
minPriorityNoMinimum priority to include. Priority scale: 1=Insight, 2=Low, 3=Medium, 4=High, 5=Critical. Defaults to 4 (High) so only High + Critical are returned; pass 1 (Insight) to return all priorities.High

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses behavioral traits beyond the annotations: it notes that no history is kept (current state only), describes the output format (JSONL), and explains the default priority filter. These details provide transparency about what the tool returns and its limitations, though it does not mention potential errors or edge cases like empty results.

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?

The description is a single, dense sentence that lists many output fields. While it is long, all information is relevant and there is no redundancy. The structure is slightly monolithic but acceptable given the lack of an output schema; it could be improved with bullet points, but it remains clear and focused.

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?

Without an output schema, the description fully specifies the returned fields and their meanings (e.g., Metric, AlertLevel, Priority). It also explains the default behavior of minPriority and the effect of omitting parameters. This gives an agent all necessary context to invoke the tool correctly and interpret results.

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?

The input schema already provides comprehensive descriptions for all three parameters, covering their purpose, defaults, and acceptable values. The tool description repeats none of this information and adds no further parameter semantics. Since schema coverage is 100%, the baseline score of 3 is appropriate.

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 description clearly states the verb 'Get', the resource 'perfmon THRESHOLD alerts', and the scope 'for one or more accounts'. It also mentions the output format 'JSONL' and distinguishes from historical data by noting 'Perfmon keeps no history'. This makes the tool's purpose unambiguous and distinct from siblings like perfmon_alert_output_table or perfmon_fluctuation_alert.

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

Usage Guidelines4/5

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

The description provides usage guidance for parameters, such as 'Use this ONLY to focus on / analyze specific campaign(s)' for campaignIds and explains the default behavior of minPriority. It indirectly implies when to use this tool (current state only) by mentioning 'no history', but it does not explicitly name alternative tools or state when not to use it. This is clear enough for most scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

target_pacingCurrent pacing & efficiency targetsA
Read-only
Inspect

Get the current active pacing and efficiency targets (pacers) as JSONL. Not just budget: covers pacing targets (Cost, Clicks, Conversions, Conversion Value; Type = Pacing) and efficiency targets (CPC, ROAS, CPA, ACOS; Type = Efficiency). Each line carries the target metric, target value, value to date, pacing percentage, projected value, and target status.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNoOptional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts.

TDQS

A4.3/5.0
Behavior4/5

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

The readOnlyHint and destructiveHint annotations already cover the non-mutating behavior, and the description consistently describes a read operation. It adds useful output-format context but no conflicting behavior.

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?

The description is compact but information-dense, using two sentences to convey purpose, scope, output format, target categories, and included fields. No unnecessary filler.

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 compensates by listing the fields contained in each line. It lacks details on error conditions or ordering, but for a simple read-only getter it is sufficiently complete.

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?

The only parameter, accountIds, is fully described in the schema with its optionality, meaning, source of valid values, and default behavior when omitted. No ambiguity remains.

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?

Clearly states it retrieves current active pacing and efficiency targets as JSONL, and explicitly distinguishes the scope from budget-only targets. The resource and purpose are unambiguous.

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?

Describes what the tool covers and that it returns active targets, but does not explicitly compare it to sibling tools such as target_pacing_all or state when one should be preferred over the other.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

target_pacing_allAll pacing & efficiency targetsA
Read-only
Inspect

Get all pacing and efficiency targets (pacers) across periods as JSONL. Not just budget: covers pacing targets (Cost, Clicks, Conversions, Conversion Value; Type = Pacing) and efficiency targets (CPC, ROAS, CPA, ACOS; Type = Efficiency). Limited to the last 365 days: periods ending within the last year, plus current and future-scheduled ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNoOptional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate read-only and non-destructive behavior, and the description reinforces this by describing a listing/retrieval operation returning JSONL. It also clarifies date-scope behavior, which adds transparency beyond the annotations.

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?

The description is compact and well-structured, front-loading the core purpose and then clarifying scope and limitations. No redundant or filler content.

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?

Sufficiently complete for a read-only listing tool: it explains output format, coverage, and date restriction. It does not describe a return schema, but none is provided, and the operation is simple enough that this is not a critical gap.

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?

The single parameter accountIds is fully described in the schema including default and omission behavior. The description reinforces that omitting returns all accounts, adding practical meaning beyond the 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?

Clearly states it gets all pacing and efficiency targets as JSONL, explicitly covering Pacing and Efficiency types. It distinguishes itself from the sibling target_pacing tool by saying 'all' and by describing scope across periods and the 365-day limit.

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

Usage Guidelines4/5

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

Provides useful usage context: not just budget, includes pacing and efficiency targets, limited to last 365 days plus current/future. It implies this is the broader list compared to target_pacing, though it does not explicitly name the sibling alternative or when to choose one over the other.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

taskList tasksA
Read-only
Inspect

Get tasks as JSONL. Limited to tasks created in the last 365 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNoOptional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts.

TDQS

A4.2/5.0
Behavior4/5

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

The description aligns with the readOnlyHint annotation and adds useful behavioral details (JSONL format, time limit) without contradicting the annotations. No side effects are mentioned, which is consistent with the read-only nature.

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?

The description is a single, concise sentence that directly conveys the tool's purpose and key constraints without unnecessary detail.

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?

The description provides enough context for the tool's operation, including output format and time limit. Since there is no output schema, it does not need to explain return values. Minor details like pagination are omitted but not critical for basic usage.

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?

The only parameter, accountIds, has a full description in the schema, so the tool description does not need to add more. The schema coverage is 100%, meeting the baseline for this dimension.

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 description clearly states the verb 'Get', the resource 'tasks', and the output format 'JSONL', which distinguishes it from other tools. It also specifies a time limit, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context about the tool's behavior (JSONL output, 365-day limit) but does not explicitly state when to use it versus alternatives. However, since no sibling tool performs a similar task-listing function, the intended use is implicit and clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

userList usersA
Read-only
Inspect

Get the customer's users as JSONL. Customer-level data (not account-filterable): returns rows only for a connector with no account restriction.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNoOptional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts.

TDQS

A3.5/5.0
Behavior4/5

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

The read-only nature is already covered by annotations, and the description adds behavioral context by specifying JSONL output and the 'no account restriction' scoping. It does not mention pagination or rate limits, but those are not required given the annotation coverage.

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

Conciseness3/5

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

The description is brief, but the phrase 'returns rows only for a connector with no account restriction' is vague and confusing. It introduces ambiguity without adding clear value, so not every sentence earns its place.

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

Completeness2/5

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

The tool is simple, but the contradictory statements about account filtering leave the overall behavior unclear. The description would be complete if it clarified whether accountIds is accepted and how it affects results; without that, it is not reliable.

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

Parameters1/5

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

The schema fully documents accountIds as an optional filter, but the description explicitly says the data is 'not account-filterable'. This directly contradicts the parameter's purpose and undermines the agent's ability to decide whether or how to pass accountIds.

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 description clearly identifies the resource as the customer's users, the action as getting/listing them, and the output format as JSONL. It also distinguishes it as customer-level data, separating it from account-level tools.

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

Usage Guidelines4/5

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

It states that the data is customer-level and not account-filterable, giving clear scope and exclusions. However, it does not explicitly name an alternative tool such as user_my_accounts, so it falls short of fully explicit alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

user_my_accountsUsers' My Accounts selectionsA
Read-only
Inspect

Get each user's selected 'My Accounts' as JSONL, one row per user-account selection. My Accounts is the set of accounts a user has picked as their own in TrueClicks (a per-user preference, not an access-permission list). Filter by accountIds to limit to specific accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdsNoOptional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already indicate read-only, and description adds no extra behavioral details but clarifies output format (JSONL).

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?

Two sentences with no redundancy, all information relevant.

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?

Explains the concept of My Accounts, the output format (JSONL, one row per selection), and the optional filter; sufficient despite lack of output schema.

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 fully describes accountIds with optionality and meaning; description only repeats the filter behavior, so no additional meaning beyond schema.

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 ('Get') and resource ('each user's selected My Accounts'), distinguishes from sibling tools like 'account' and 'user' by clarifying it's a per-user preference, not access-permission.

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

Usage Guidelines4/5

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

Provides context on when to use (when you need user preferences, not permissions) and mentions optional filtering by accountIds, but does not explicitly name alternative tools for comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 18 tool updates
    • Changedaccount_label1 field changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"Optional account IDs to limit the result to. Omit to return all accounts."New value: +"Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts."
    • Changedaudit_account_result1 field changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"One or more account IDs to filter. If empty, all accounts accessible by the connector are returned."New value: +"One or more TrueClicks account ids to filter (the numeric Id field from the account listing, not the platform customer id). If empty, all accounts accessible by the connector are returned."
    • Changedaudit_rule_output_table1 field changed
      • changedInput schema / properties / accountId / description
        Previous value: -"Ad platform account ID to retrieve results for."New value: +"TrueClicks account id to retrieve results for (the numeric Id field from the account listing, not the platform customer id)."
    • Changedaudit_rule_output_table_historical1 field changed
      • changedInput schema / properties / accountId / description
        Previous value: -"Ad platform account ID to retrieve results for."New value: +"TrueClicks account id to retrieve results for (the numeric Id field from the account listing, not the platform customer id)."
    • Changedaudit_rule_result1 field changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"One or more account IDs to filter. If empty, all accounts accessible by the connector are returned."New value: +"One or more TrueClicks account ids to filter (the numeric Id field from the account listing, not the platform customer id). If empty, all accounts accessible by the connector are returned."
    • Changedaudit_rule_result_campaign1 field changed
      • changedInput schema / properties / accountId / description
        Previous value: -"Single account Id"New value: +"Single TrueClicks account id (the numeric Id field from the account listing, not the platform customer id)."
    • Changedgoogle_ads_execute_report1 field changed
      • changedInput schema / properties / accountId / description
        Previous value: -"Ad platform account ID to query (must be a Google Ads account accessible by the connector)."New value: +"TrueClicks account id (the numeric Id field from the account listing, not the Google Ads customer id / ClientCustomerId). Must be a Google Ads account accessible by the connector."
    • Changedmeta_ads_execute_report2 fields changed
      • changedInput schema / properties / accountId / description
        Previous value: -"Ad platform account ID to query (must be a Meta account accessible by the connector)."New value: +"TrueClicks account id (the numeric Id field from the account listing, not the Meta customer id / ClientCustomerId). Must be a Meta account accessible by the connector."
      • changedInput schema / properties / query / description
        Previous value: -"Graph API edge plus parameters. Do not include the act_<accountId> prefix or access_token — they are added automatically. Examples: 'campaigns?fields=name,status,daily_budget'; 'ads?fields=name,adset_id,campaign_id'; 'insights?fields=impressions,clicks,spend&date_preset=last_7d'; 'insights?fields=impressions,clicks,spend&time_range={\"since\":\"2025-01-01\",\"until\":\"2025-01-31\"}'. Account-level queries start with 'me/' (e.g. 'me/adaccounts?fields=name,currency')."New value: +"Graph API edge plus parameters. Do not include the act_<accountId> prefix or access_token; they are added automatically. Examples: 'campaigns?fields=name,status,daily_budget'; 'ads?fields=name,adset_id,campaign_id'; 'insights?fields=impressions,clicks,spend&date_preset=last_7d'; 'insights?fields=impressions,clicks,spend&time_range={\"since\":\"2025-01-01\",\"until\":\"2025-01-31\"}'. Account-level queries start with 'me/' (e.g. 'me/adaccounts?fields=name,currency')."
    • Changedms_ads_execute_bulk_query1 field changed
      • changedInput schema / properties / accountId / description
        Previous value: -"Ad platform account ID to query (must be a Microsoft account accessible by the connector)."New value: +"TrueClicks account id (the numeric Id field from the account listing, not the Microsoft customer id / ClientCustomerId). Must be a Microsoft account accessible by the connector."
    • Changedms_ads_execute_report_query1 field changed
      • changedInput schema / properties / accountId / description
        Previous value: -"Ad platform account ID to query (must be a Microsoft account accessible by the connector)."New value: +"TrueClicks account id (the numeric Id field from the account listing, not the Microsoft customer id / ClientCustomerId). Must be a Microsoft account accessible by the connector."
    • Changedperfmon_alert_output_table1 field changed
      • changedInput schema / properties / accountId / description
        Previous value: -"Single account Id the alert belongs to"New value: +"Single TrueClicks account id the alert belongs to (the numeric Id field from the account listing, not the platform customer id)."
    • Changedperfmon_fluctuation_alert2 fields changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"Optional account IDs to filter. Omit or leave empty to return all accounts accessible by the connector."New value: +"Optional TrueClicks account ids to filter (the numeric Id field from the account listing, not the platform customer id). Omit or leave empty to return all accounts accessible by the connector."
      • changedInput schema / properties / campaignIds / description
        Previous value: -"Optional — use this ONLY to focus on / analyze specific campaign(s). Pass the campaign id(s) you care about and only alerts scoped to those campaigns are returned (a single-campaign alert on any of them, or a campaign-group alert whose campaigns are all within your set). Account-level alerts and alerts touching other campaigns are excluded. Omit to get all alerts for the account(s)."New value: +"Optional. Use this ONLY to focus on / analyze specific campaign(s). Pass the campaign id(s) you care about and only alerts scoped to those campaigns are returned (a single-campaign alert on any of them, or a campaign-group alert whose campaigns are all within your set). Account-level alerts and alerts touching other campaigns are excluded. Omit to get all alerts for the account(s)."
    • Changedperfmon_threshold_alert2 fields changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"Optional account IDs to filter. Omit or leave empty to return all accounts accessible by the connector."New value: +"Optional TrueClicks account ids to filter (the numeric Id field from the account listing, not the platform customer id). Omit or leave empty to return all accounts accessible by the connector."
      • changedInput schema / properties / campaignIds / description
        Previous value: -"Optional — use this ONLY to focus on / analyze specific campaign(s). Pass the campaign id(s) you care about and only alerts scoped to those campaigns are returned (a single-campaign alert on any of them, or a campaign-group alert whose campaigns are all within your set). Account-level alerts and alerts touching other campaigns are excluded. Omit to get all alerts for the account(s)."New value: +"Optional. Use this ONLY to focus on / analyze specific campaign(s). Pass the campaign id(s) you care about and only alerts scoped to those campaigns are returned (a single-campaign alert on any of them, or a campaign-group alert whose campaigns are all within your set). Account-level alerts and alerts touching other campaigns are excluded. Omit to get all alerts for the account(s)."
    • Changedtarget_pacing1 field changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"Optional account IDs to limit the result to. Omit to return all accounts."New value: +"Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts."
    • Changedtarget_pacing_all1 field changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"Optional account IDs to limit the result to. Omit to return all accounts."New value: +"Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts."
    • Changedtask1 field changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"Optional account IDs to limit the result to. Omit to return all accounts."New value: +"Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts."
    • Changeduser1 field changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"Optional account IDs to limit the result to. Omit to return all accounts."New value: +"Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts."
    • Changeduser_my_accounts1 field changed
      • changedInput schema / properties / accountIds / description
        Previous value: -"Optional account IDs to limit the result to. Omit to return all accounts."New value: +"Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts."
  2. 23 tool updates
    • First observedaccount
    • First observedaccount_label
    • First observedaudit_account_result
    • First observedaudit_rule_output_table
    • First observedaudit_rule_output_table_historical
    • First observedaudit_rule_result
    • First observedaudit_rule_result_campaign
    • First observedgoogle_ads_execute_report
    • First observedgoogle_ads_report_columns
    • First observedgoogle_ads_reports_list
    • First observedmeta_ads_execute_report
    • First observedms_ads_execute_bulk_query
    • First observedms_ads_execute_report_query
    • First observedms_ads_report_columns
    • First observedms_ads_reports_list
    • First observedperfmon_alert_output_table
    • First observedperfmon_fluctuation_alert
    • First observedperfmon_threshold_alert
    • First observedtarget_pacing
    • First observedtarget_pacing_all
    • First observedtask
    • First observeduser
    • First observeduser_my_accounts

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Analyze paid marketing accounts (Google Ads, Meta Ads, GA4, Merchant Center) in plain language, read-only. Provides insights, competitor ads, and landing page audits via natural language.
    2
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for managing Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads via AI. 210+ tools including account audits, wasted spend detection, and PMax insights.
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables monitoring and managing multi-platform media buying accounts via natural language, detecting anomalies like creative fatigue and spend spikes, with AI-powered recommendations and a human-in-the-loop approval queue.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides read access to campaign performance data from Google Ads, Meta Ads, and TikTok Ads via live API calls, enabling AI assistants to analyze and audit advertising campaigns.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but the audit and report tools (e.g., audit_rule_output_table vs audit_rule_output_table_historical vs audit_rule_result vs audit_rule_result_campaign) are closely related and rely on detailed descriptions to differentiate.

Naming Consistency4/5

Naming is generally consistent with snake_case and domain-prefixed groups (google_ads_*, ms_ads_*, perfmon_*), though a few tools are bare nouns (account, task, user) rather than verb-led, which slightly deviates from the dominant pattern.

Tool Count4/5

23 tools is on the higher end but justified for a platform covering multiple ad platforms, audit reports, alerts, and user management; it remains navigable with clear groupings.

Completeness4/5

The tool set comprehensively covers account enumeration, audit results, report execution for major ad platforms, perfmon alerts, pacing targets, tasks, and users. Minor gaps exist (e.g., no create/update/modify operations), but the core analytics and monitoring surface is well covered.

Resources