Skip to main content
Glama
trip-clear

google-ads-mcp

by trip-clear

Google 広告へ操作を送信

google_ads_mutate
Destructive

Submit raw Google Ads mutate operations when typed tools lack a write path. Set validate_only=true to dry-run complex changes before applying them.

Instructions

型付きツールで足りない書き込みを通す最後の手段(googleAds:mutate)。validate_only=true にすると Google 側で検算だけ行い何も変更しないので、複雑な操作は先にこれで通してから本番に送ること。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
customer_idNo対象の顧客 ID(ハイフン有無どちらでも可)。省略時は GOOGLE_ADS_CUSTOMER_ID
validate_onlyNotrue なら検算だけで、実際には変更しない
mutate_operationsYesMutateOperation の配列(campaignOperation など)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, so the safety profile is covered. The description adds genuine value on top: it documents the validate_only=true dry-run behavior ('検算だけ、何も変更しない') and the recommended validate-then-commit sequence. It doesn't discuss rate limits, partial failure, or auth expectations, keeping it below 5.

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

Conciseness5/5

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

Two compact sentences, front-loaded with the tool's role and followed by the dry-run guidance. No filler, no repetition of the title, and the most decision-relevant information (last resort + validate first) leads.

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

Completeness4/5

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

For a destructive, open-world mutation tool with no output schema, the description covers why it exists, when to prefer it, and the safe dry-run path. It leaves unstated what a successful mutate returns and how errors/partial failures surface, which is a minor gap given the schema handles the inputs.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description reiterates validate_only's meaning (already in the schema) and says nothing about customer_id's env-var fallback or the MutateOperation array shape beyond what the schema states. It neither compensates for nor undermines the schema.

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

Purpose4/5

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

The description states a specific action (raw write via googleAds:mutate) and positions it as the fallback for writes the typed tools don't cover, which distinguishes it from the create_*/update_*/remove siblings. It clearly conveys 'escape hatch for mutations not otherwise expressible'. It stops short of 5 only because it doesn't spell out what a MutateOperation targets beyond the parenthetical.

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

Usage Guidelines5/5

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

It names the alternative (the typed tools) and the condition that selects this one ('足りない書き込み' = writes the typed tools lack), plus a concrete workflow: run validate_only=true first for complex operations before committing. That is explicit when-to-use and how-to-sequence, which is exactly what the dimension asks for.

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