Skip to main content
Glama
get-mcp-ads

ChatGPT Ads MCP server

openai ads get write context

openai_ads_get_write_context
Read-onlyIdempotent

Reads account, conversion settings, and product feeds before campaign proposals, listing objective, billing, and bid combinations plus missing prerequisites. Creates nothing and grants no eligibility.

Instructions

Read the account, its conversion settings and its product feeds before proposing a campaign. Lists the native objective, billing and bid strategy combinations and the missing prerequisites. It grants no eligibility and creates nothing.

Input Schema

NameRequiredDescriptionDefault
adAccountIdYesThe adacct_ ID configured in OPENAI_ADS_ACCOUNT_ID. The API key is scoped to this one account; another ID is refused.

Output Schema

NameRequiredDescriptionDefault
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and non-destructive, so the safety profile is known. The description adds real value beyond them: it clarifies that despite the 'write context' name it creates nothing and grants no eligibility, and it discloses that missing prerequisites are surfaced in the response — a meaningful behavioral caveat.

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?

Three short sentences, each earning its place: what to read, what comes back, and the key non-effect caveat. The purpose is front-loaded before the caveat, with no filler.

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

Completeness5/5

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

An output schema exists, so return structure need not be explained; annotations cover safety; the sole parameter is fully documented in the schema. The description supplies exactly the missing pieces — timing (pre-campaign), content hint, and the 'creates nothing' caveat.

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

Parameters3/5

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

Schema description coverage is 100% and the single adAccountId parameter already documents the adacct_ pattern and the single-account API key scoping. The description adds nothing about the parameter, so the schema does all the work — baseline 3.

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?

States a concrete verb and a composite resource set: reading the account, its conversion settings and product feeds. The phrase 'before proposing a campaign' signals this is a bundled pre-write context read rather than the single-resource getters (get_account, get_conversion_settings, get_feeds) it overlaps with, but it never names those siblings explicitly.

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

Usage Guidelines4/5

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

'Read ... before proposing a campaign' gives a clear triggering condition for use, and 'It grants no eligibility' implicitly rules out the misreading that it is an eligibility check. It does not name alternatives (e.g. get_write_schema for the mutation schema), so the when-not/alternative half is not explicit.

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