Skip to main content
Glama

Trillboards DOOH Advertising

provide_performance_feedback

[AdCP Media Buy] Provide optimization signals from buyer agent.

Accepts feedback from buyer agents for floor price adjustment and inventory optimization. Enables closed-loop optimization between buyer and seller agents.

WHEN TO USE:

  • Sending bid response feedback to optimize future pricing

  • Providing conversion data for bid price calibration

  • Adjusting floor prices based on demand signals

EXAMPLE: provide_performance_feedback({ media_buy_id: "mbuy_abc123", feedback: { type: "bid_response", avg_bid_price_cpm: 6.5, fill_rate_percent: 72, preferred_hours: [8, 9, 10, 17, 18], quality_score: 0.85 } })

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
feedbackYesPerformance feedback data
media_buy_idYesMedia buy ID

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses that feedback influences floor price adjustment and inventory optimization and gives a concrete example. However, it does not state side effects, whether feedback is stored or applied immediately, or what the caller should expect in response.

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

Conciseness5/5

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

The description is front-loaded with a concise purpose, followed by a focused WHEN TO USE list and a complete example. There is no filler; every section contributes to selecting and invoking the tool correctly.

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 two-parameter tool with a nested object and no output schema, the description provides enough context to call it correctly, including an example with realistic values. It could be more complete about return behavior or side effects, but it is not under-specified.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds value by mapping feedback types to use cases and showing realistic field combinations in the example. It still leaves some nested fields, like message and pacing, to be interpreted from the schema alone.

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 verb and resource: 'Provide optimization signals from buyer agent' and explains it accepts feedback for floor price adjustment and inventory optimization. It clearly describes what the tool does, though it does not explicitly differentiate it from overlap-prone siblings like update_media_buy.

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?

A WHEN TO USE section lists three concrete triggers: sending bid response feedback, providing conversion data for calibration, and adjusting floor prices based on demand signals. It does not mention when not to use the tool or name alternative tools, so exclusion guidance is missing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.3/5.0
Disambiguation2/5

There are exact duplicates (get_task_status/tasks_get, list_tasks/tasks_list) and several overlapping analytics, attribution, and semantic search clusters (get_attention_metrics vs get_creative_attention vs get_social_attention; find_similar_moments vs semantic_search_observations; get_campaign_attribution vs get_multi_touch_attribution vs get_roas). Detailed descriptions help, but with 83 tools an agent will frequently struggle to pick the right one.

Naming Consistency3/5

Most tools follow a snake_case verb_noun pattern (list_devices, create_campaign, delete_webhook), but there are notable inconsistencies: list_* and get_* are used interchangeably for list operations, attention tools mix conventions (get_attention_metrics vs get_creative_attention vs get_social_attention), and the legacy tasks_get/tasks_list names break the established get_task_status/list_tasks pattern.

Tool Count1/5

83 tools is an extreme count for a single MCP server, spanning device management, sensing, campaigns, media buys, attribution, webhooks, billing, API discovery, and AdCP protocol concerns. This is a broad API surface dump rather than a focused tool set, and it would be far better split into several coherent servers.

Completeness2/5

Despite the enormous surface, core campaign lifecycle is incomplete: create_campaign explicitly tells the agent to use update_campaign to activate a campaign, but no update_campaign tool exists, and there are no list/delete campaign tools. Significant capabilities exist for analytics, attribution, and webhooks, but the primary advertising workflow has a dead end.

Resources