TrueClicks
Server Details
Audit and monitor PPC accounts: Google Ads, Microsoft Advertising, and Meta Ads.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
23 toolsaccountList accountsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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 labelsARead-onlyInspect
Get account labels as JSONL, one row per account-label assignment.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts. |
TDQS
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.
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.
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.
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.
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.
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 summaryARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | Yes | 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. |
TDQS
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.
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.
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.
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.
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.
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 tableARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum rows per rule (defaults to 10000 when omitted). | |
| ruleKeys | Yes | One or more audit rule key strings, e.g. "QueryMining_InefficientNGrams". | |
| accountId | Yes | TrueClicks account id to retrieve results for (the numeric Id field from the account listing, not the platform customer id). | |
| campaignIds | No | Optional campaign IDs to filter rows. Omit or leave empty to return all rows. |
TDQS
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.
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.
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.
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.
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.
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)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum rows per rule per week. | |
| ruleKeys | Yes | One or more audit rule key strings, e.g. "QueryMining_InefficientNGrams". | |
| accountId | Yes | TrueClicks account id to retrieve results for (the numeric Id field from the account listing, not the platform customer id). | |
| campaignIds | No | Optional campaign IDs to filter rows per rule per week. Omit or leave empty to return all rows. | |
| weekStartDates | Yes | Monday week-start dates (yyyy-MM-dd) identifying the weeks to retrieve. |
TDQS
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.
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.
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.
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.
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.
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 resultsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | Yes | 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. | |
| onlyFailed | No | If true, only return rules where the current result is Failed. Default false returns both passed and failed. | |
| numberOfWeeks | No | Number of historical weeks to include (e.g. 8 = last 8 weeks). Default 0 returns current results only. |
TDQS
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.
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.
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.
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.
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.
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 resultsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | Single TrueClicks account id (the numeric Id field from the account listing, not the platform customer id). | |
| campaignIds | No | Campaign IDs to filter results. Only rows with matching CampaignId are returned. If null or empty, all campaigns are returned. | |
| numberOfWeeks | No | Number of historical weeks to include (e.g. 4 = last 4 weeks) alongside current results. Default 0 returns current results only. |
TDQS
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.
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.
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.
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.
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.
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.
google_ads_execute_reportExecute Google Ads reportARead-onlyInspect
Execute a structured Google Ads GAQL query for one account and return the result rows as TSV (tab-separated, header row + one row per line). Report and field names are those of the Google Ads API GAQL reporting schema. Monetary '*_micros' fields are returned in the account's currency (value divided by 1,000,000) with the '_micros' suffix dropped from the column name (e.g. 'metrics.cost_micros' is returned as 'metrics.cost'). This renaming affects only the returned columns; the GAQL must still select and order by the real field names (e.g. 'metrics.cost_micros'). On a Google API error a detailed message describing the problem is returned.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum number of rows (GAQL LIMIT). | |
| fields | Yes | GAQL fields to select, e.g. ["campaign.name", "metrics.clicks", "metrics.impressions"]. | |
| report | Yes | Google Ads report/resource to query, e.g. "campaign", "ad_group", "keyword_view", "ad_group_ad". | |
| endDate | No | Optional end date (yyyy-MM-dd); startDate is required when set. | |
| orderBy | No | Optional ORDER BY entries, e.g. ["metrics.clicks DESC"]. | |
| accountId | Yes | 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. | |
| startDate | No | Optional start date (yyyy-MM-dd); endDate is required when set. | |
| predicates | No | Optional GAQL WHERE predicates, e.g. ["campaign.status = 'ENABLED'", "metrics.impressions > 0"]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, open-world, and non-destructive behavior, and the description does not contradict them. It adds useful behavioral detail about output formatting and error handling, though it does not mention limits or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient and well structured, with examples that clarify usage. The micros renaming point is explained twice but the repetition serves to prevent a common mistake, so it remains justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description sufficiently explains the return format (TSV with header and rows) and error behavior. It does not cover edge cases like empty results or pagination, but it is complete enough for typical query execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is complete, and the description adds significant meaning: it distinguishes accountId from Google Ads customer id, explains date dependencies, and gives concrete examples for fields, predicates, and ordering. This goes well beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as executing a structured Google Ads GAQL query for one account and returning results as TSV. It specifies the resource and query nature, distinguishing it from listing/column-discovery sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not state when to use it versus alternatives like google_ads_report_columns or google_ads_reports_list. There is no explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_report_columnsGoogle Ads report columnsARead-onlyInspect
Get the column/field definitions for a given Google Ads report as raw CSV.
| Name | Required | Description | Default |
|---|---|---|---|
| reportName | Yes | Name of the report whose column definitions should be returned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds that the output is 'raw CSV', providing specific behavior detail beyond the annotations. It does not mention error handling or side effects, but the read-only nature is well-covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately identifies the action, scope, and output format. It is concise and well-structured without unnecessary verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple metadata retrieval tool with one parameter, the description is largely complete. It covers the main purpose and output format, though it could hint at how report names are sourced or what the CSV contains (e.g., headers) for additional clarity. Minor gaps do not hinder basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a 100% description for the reportName parameter. The tool description essentially repeats this information without adding new details such as allowed values, format constraints, or how to obtain valid report names. No additional semantic value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (getting column/field definitions) and the resource (a given Google Ads report) and specifies the output format as raw CSV. It effectively differentiates itself from sibling tools like google_ads_reports_list and google_ads_execute_report by focusing on metadata retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. While the purpose is self-evident and the name suggests it is for retrieving column definitions, there is no direct guidance on use cases or contrast with sibling tools. This is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_ads_reports_listList Google Ads reportsARead-onlyInspect
Get the list of available Google Ads report definitions (report/resource names in the Google Ads GAQL schema) as raw CSV.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is known. The description adds valuable behavioral context by specifying the output format ('raw CSV') and the content (report/resource names in the GAQL schema), which goes beyond the annotations. No contradictions detected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the primary action ('Get the list'), then specifies the content and output format. Every word contributes meaning, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only list tool, the description is fully complete. It states what the tool returns (list of report definitions) and the format (raw CSV), which is all an agent needs to invoke it correctly. The lack of an output schema is compensated by this explicit return description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, and the schema description coverage is 100% (vacuously). Per the rubric, a baseline of 4 is appropriate. The description does not need to explain parameters since there are none, and it correctly avoids inventing any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving a list of available Google Ads report definitions (report/resource names) as raw CSV. It specifies the resource type and output format, making the purpose unambiguous. However, it does not explicitly distinguish itself from sibling tools like google_ads_report_columns, though the term 'report definitions' implies a difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context—when you need the list of report definitions—but does not explicitly state when to use this tool versus alternatives such as google_ads_execute_report or google_ads_report_columns. It provides clear context but no exclusions or comparative guidance.
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 reportARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 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'). | |
| accountId | Yes | 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. |
TDQS
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.
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.
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.
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.
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.
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 queryARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| report | Yes | Microsoft Ads bulk report name. | |
| columns | Yes | Report columns to select. | |
| accountId | Yes | 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. |
TDQS
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.
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.
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.
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.
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.
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 queryARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| report | Yes | Microsoft Ads report name. | |
| columns | Yes | Report columns to select. | |
| endDate | Yes | Report end date (yyyy-MM-dd). | |
| accountId | Yes | 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. | |
| startDate | Yes | Report start date (yyyy-MM-dd). | |
| predicates | No | Optional filter predicates, each with a column Name and one or more Values. | |
| reportAggregation | Yes | Report aggregation, e.g. "Summary", "Daily", "Weekly", "Monthly". |
TDQS
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.
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.
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.
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.
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.
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 columnsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| report | Yes | Name of a Microsoft Ads report (one of the available report names). |
TDQS
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.
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.
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.
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.
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.
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 reportsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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 tableARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum number of rows to return, applied after the campaign filter. Defaults to 10000 when omitted. | |
| accountId | Yes | Single TrueClicks account id the alert belongs to (the numeric Id field from the account listing, not the platform customer id). | |
| perfmonId | Yes | Perfmon definition id, from the PerfmonId field in a perfmon alert view | |
| campaignIds | No | Optional list of campaign IDs to filter rows. Omit or leave empty to return all campaigns. | |
| perfmonDefinitionMetricId | Yes | Perfmon definition metric id, from the PerfmonDefinitionMetricId field in a perfmon alert view |
TDQS
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.
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.
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.
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.
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.
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 alertsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | 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. | |
| campaignIds | No | 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). | |
| minPriority | No | Minimum 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
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.
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.
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.
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.
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.
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 alertsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | 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. | |
| campaignIds | No | 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). | |
| minPriority | No | Minimum 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
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.
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.
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.
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.
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.
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 targetsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts. |
TDQS
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.
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.
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.
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.
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.
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 targetsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts. |
TDQS
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.
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.
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.
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.
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.
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 tasksARead-onlyInspect
Get tasks as JSONL. Limited to tasks created in the last 365 days.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts. |
TDQS
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.
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.
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.
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.
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.
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 usersARead-onlyInspect
Get the customer's users as JSONL. Customer-level data (not account-filterable): returns rows only for a connector with no account restriction.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts. |
TDQS
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.
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.
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.
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.
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.
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 selectionsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountIds | No | Optional TrueClicks account ids to limit the result to (the numeric Id field from the account listing). Omit to return all accounts. |
TDQS
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.
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.
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.
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.
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.
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.
18 tool updates
- Changed
account_label1 field changed- changed
Input schema / properties / accountIds / descriptionPrevious 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."
- Changed
audit_account_result1 field changed- changed
Input schema / properties / accountIds / descriptionPrevious 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."
- Changed
audit_rule_output_table1 field changed- changed
Input schema / properties / accountId / descriptionPrevious 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)."
- Changed
audit_rule_output_table_historical1 field changed- changed
Input schema / properties / accountId / descriptionPrevious 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)."
- Changed
audit_rule_result1 field changed- changed
Input schema / properties / accountIds / descriptionPrevious 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."
- Changed
audit_rule_result_campaign1 field changed- changed
Input schema / properties / accountId / descriptionPrevious value: -"Single account Id"New value: +"Single TrueClicks account id (the numeric Id field from the account listing, not the platform customer id)."
- Changed
google_ads_execute_report1 field changed- changed
Input schema / properties / accountId / descriptionPrevious 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."
- Changed
meta_ads_execute_report2 fields changed- changed
Input schema / properties / accountId / descriptionPrevious 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." - changed
Input schema / properties / query / descriptionPrevious 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')."
- Changed
ms_ads_execute_bulk_query1 field changed- changed
Input schema / properties / accountId / descriptionPrevious 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."
- Changed
ms_ads_execute_report_query1 field changed- changed
Input schema / properties / accountId / descriptionPrevious 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."
- Changed
perfmon_alert_output_table1 field changed- changed
Input schema / properties / accountId / descriptionPrevious 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)."
- Changed
perfmon_fluctuation_alert2 fields changed- changed
Input schema / properties / accountIds / descriptionPrevious 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." - changed
Input schema / properties / campaignIds / descriptionPrevious 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)."
- Changed
perfmon_threshold_alert2 fields changed- changed
Input schema / properties / accountIds / descriptionPrevious 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." - changed
Input schema / properties / campaignIds / descriptionPrevious 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)."
- Changed
target_pacing1 field changed- changed
Input schema / properties / accountIds / descriptionPrevious 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."
- Changed
target_pacing_all1 field changed- changed
Input schema / properties / accountIds / descriptionPrevious 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."
- Changed
task1 field changed- changed
Input schema / properties / accountIds / descriptionPrevious 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."
- Changed
user1 field changed- changed
Input schema / properties / accountIds / descriptionPrevious 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."
- Changed
user_my_accounts1 field changed- changed
Input schema / properties / accountIds / descriptionPrevious 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."
23 tool updates
- First observed
account - First observed
account_label - First observed
audit_account_result - First observed
audit_rule_output_table - First observed
audit_rule_output_table_historical - First observed
audit_rule_result - First observed
audit_rule_result_campaign - First observed
google_ads_execute_report - First observed
google_ads_report_columns - First observed
google_ads_reports_list - First observed
meta_ads_execute_report - First observed
ms_ads_execute_bulk_query - First observed
ms_ads_execute_report_query - First observed
ms_ads_report_columns - First observed
ms_ads_reports_list - First observed
perfmon_alert_output_table - First observed
perfmon_fluctuation_alert - First observed
perfmon_threshold_alert - First observed
target_pacing - First observed
target_pacing_all - First observed
task - First observed
user - First observed
user_my_accounts
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Google & Meta Ads management with 100+ tools. Audit, create, and optimize campaigns.
Full Google Ads management: read (campaigns, performance, ROAS, keywords, search terms) and write (p
- MCP AdsOAuthcom.mcp-ads
Run Google Ads, Meta Ads, GA4 and Search Console from chat: read, audit and launch campaigns.
Google Ads, Meta (Facebook) Ads, GA4 and Merchant Center analysis in plain language. Read-only.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAnalyze 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.2MIT

PaidSync (Ads analysis &official
AlicenseNot gradedqualityFmaintenanceMCP 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.2MIT- FlicenseNot gradedqualityBmaintenanceEnables 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.-
- AlicenseNot gradedqualityCmaintenanceProvides 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.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
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 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.
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.
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.