<tool_description> Create a media buy (bid on publisher inventory). Validates rules, runs auction scoring, and returns approval/rejection status. AdCP-compatible first-price sealed-bid auction. </tool_description> <when_to_use> When an advertiser wants to place a bid on a publisher inventory slot...
Risk signalsHigh parameter count (16 properties)
Part of the Discovery server.
Free to start. No card required.
AI agents use create_media_buy to create or modify resources in Discovery. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.
Without a policy, an AI agent could call create_media_buy repeatedly, creating or modifying resources faster than any human could review. PolicyLayer's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Discovery.
Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.
{
"version": "1",
"default": "deny",
"tools": {
"create_media_buy": {
"limits": [
{
"counter": "create_media_buy_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} See the full Discovery policy for all 19 tools.
These attack patterns abuse exactly the kind of access create_media_buy gives an agent. Each links to the full case and the policy that stops it:
Other write tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.
<tool_description> Create a media buy (bid on publisher inventory). Validates rules, runs auction scoring, and returns approval/rejection status. AdCP-compatible first-price sealed-bid auction. </tool_description> <when_to_use> When an advertiser wants to place a bid on a publisher inventory slot. Requires inventory_id from list_inventory/get_inventory_item. ALWAYS confirm with user before calling — creates a binding commitment. </when_to_use> <combination_hints> list_inventory → get_inventory_item → create_media_buy → submit_creatives → activate. If rejected: check rejection_reason and adjust bid/brand/category. Score formula: 0.3*bid + 0.3*quality + 0.2*quality + 0.2*context. </combination_hints> <output_format> Media buy ID, status (approved/rejected), auction score, rejection reason if applicable. </output_format>. It is categorised as a Write tool in the Discovery MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Discovery MCP server in PolicyLayer and add a rule for create_media_buy: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Discovery. Nothing to install.
create_media_buy is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_media_buy rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_media_buy. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_media_buy is provided by the Discovery MCP server (https://mcp.nexbid.dev/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 19 Discovery tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.