Skip to main content
Glama
raihan675

OpenAI Ads & Conversion Intelligence MCP Server

by raihan675

Upload Creative Asset from URL

upload_creative_asset

Upload a remote image URL to OpenAI Ads to obtain a reusable file_id for ad creatives or brand account favicon. Use for chat_card assets or account branding review.

Instructions

Upload a remote image URL to OpenAI Ads and receive a reusable file_id for ads (chat_card) or brand review (account_favicon).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
purposeNoPurpose of asset. Set to 'account_favicon' when uploading brand icon (min 128x128).
image_urlYesPublicly accessible HTTPS URL of the image

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden and does add useful behavioral traits: the returned file_id is 'reusable' and serves two distinct purposes. It does not disclose persistence side effects (a stored asset on the ad account), authentication requirements, image format or size limits, or failure behavior for invalid URLs; the only constraint (min 128x128) lives in the schema.

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

Conciseness5/5

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

A single 24-word sentence with a clean action → outcome → use-cases arc and the verb front-loaded. Every word earns its place, with no filler or redundancy; the chat_card ambiguity is a content issue rather than a structure problem.

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 low-complexity tool (2 params, 1 required, no nesting, full schema coverage), the description is nearly complete: it names the input, the output (partially compensating for the absent output schema), and the two consumption contexts. It omits the default behavior when purpose is omitted and any upload constraints or failure modes, but these are minor given the tool's simplicity.

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%, with both parameters already documented (HTTPS requirement for image_url, enum and 128x128 note for purpose), so the baseline is 3. The description adds a use-case mapping for purpose (ads vs brand review), which is genuinely helpful, but the 'chat_card' reference corresponds to no enum value and slightly muddies that mapping.

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 names a specific verb ('Upload'), resource ('remote image URL'), target system ('OpenAI Ads'), and outcome ('reusable file_id'), and maps the result to two downstream uses. No sibling tool covers asset uploads, so it is easily distinguished from the crowd. Minor deduction because the description references 'chat_card' as a purpose while the schema enum only allows account_favicon and custom_audience.

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

Usage Guidelines3/5

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

The description implies when to call this tool — when a reusable file_id is needed for ads or an account favicon — by naming the two consumption paths. It does not state any when-not-to-use conditions or point to alternative tools, leaving routing decisions among the 40+ siblings to inference.

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