Skip to main content
Glama
wvuhskr

mcp-microsoft-ads

by wvuhskr

remove_negative_keywords

Remove negative keywords by ID from a campaign, ad group, or shared list. Supply the entity ID, scope, and keyword IDs to clean up your Microsoft Ads account.

Instructions

Draft negative removal by id. scope: campaign | ad_group | shared_list. keyword_ids come from get_negative_keywords. scope='ad_group' REQUIRES campaign_id for consistency with add_negative_keywords — validation only, DeleteNegativeKeywordsFromEntities has no parent field per WSDL.

Live-verified 2026-07-28 at ad_group scope; campaign scope not separately smoked.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeYes
entity_idYes
campaign_idNo
keyword_idsYes
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses a validation-only behavior, the lack of a parent field in the WSDL, and the verification status by scope ('Live-verified 2026-07-28 at ad_group scope; campaign scope not separately smoked'). This gives the agent confidence about reliability. It does not mention return format or error behavior, but the tool likely has a standard response pattern.

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

Conciseness4/5

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

The description is compact and front-loaded with the core action. The scope restriction is stated early, and additional notes (source of IDs, validation requirement, verification status) are appended in a structured manner. No wasted words.

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 tool with no annotations or output schema, the description covers the essential operational details: scope enum, ID source, campaign_id requirement, and testing status. It lacks explicit information about the result of the operation or error handling, but these may be inferred from similar tools. Overall, it provides sufficient context for an agent to call the tool correctly.

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 coverage is 0%, so the description must compensate. It clarifies that keyword_ids come from get_negative_keywords and that campaign_id is required for ad_group scope. It also enumerates scope values. However, it does not explain entity_id (whether it's the campaign, ad group, or shared list ID) or the relationship with campaign_id, leaving some ambiguity for a tool with 4 parameters.

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 clearly states the operation ('Draft negative removal by id') and the resource (negative keywords), and enumerates valid scopes. It distinguishes from sibling tools like remove_keywords by specifying 'negative' removal, though it does not explicitly contrast with similar tools such as remove_extension or add_negative_keywords. Overall, the core purpose is unambiguous.

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?

It provides concrete usage context: keyword_ids should come from get_negative_keywords, and scope='ad_group' requires campaign_id for consistency with add_negative_keywords. It also clarifies that the parent field is not in the underlying WSDL, so validation is manual. However, it does not explicitly state when to avoid this tool or when to prefer an alternative like remove_keywords, leaving some inference to the agent.

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/wvuhskr/mcp-microsoft-ads'

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