Skip to main content
Glama
shinypebble

microsoft-ads-mcp

by shinypebble

replace_ad_schedule

Replace an ad schedule window by removing the old criterion and adding a new one in a single call, avoiding overlap errors.

Instructions

Replace one ad-schedule (dayparting) window: remove the old criterion, add a new one.

The API rejects adding a window that overlaps an existing same-day window, so an in-place edit is impossible; this does the only safe sequence -- remove the old criterion, then add new_window -- in one call. Get the criterion_id from get_ad_schedules. If the remove fails, nothing changes; if the add fails after the remove, the result says so (the old window is gone, so that slot is briefly uncovered until you re-add it).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
new_windowYesThe replacement window {day, from_hour, from_minute, to_hour, to_minute, bid_adjustment}. day is "Monday".."Sunday"; minutes are 0/15/30/45.
campaign_idYesThe campaign id.
criterion_idYesThe existing window's criterion id (from get_ad_schedules) to replace.
use_searcher_time_zoneNoIf set, also updates the campaign flag controlling whether the hours are interpreted in each searcher's time zone (true) or the campaign's (false).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
idsNo
messageYes
partial_errorsNo
Behavior5/5

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

Discloses destructive nature and partial failure scenarios (removal succeeds but addition fails), beyond the minimal readOnlyHint annotation.

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 succinct sentences front-loading purpose, followed by well-structured explanation of necessity and behavior.

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?

Covers rationale, prerequisites, parameter origin, failure modes, and safe behavior; adequate given output schema exists.

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 covers parameters fully; description adds only procedural context (e.g., 'criterion_id from get_ad_schedules') but not new parameter details.

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

Purpose5/5

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

Clearly states it replaces an ad-schedule window by removing old and adding new, distinguishing from add/remove sibling tools.

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?

Explicitly explains when to use (no in-place edit possible), how to get criterion_id, and the safe sequence with failure outcomes.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shinypebble/microsoft-ads-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server