Skip to main content
Glama
Pavelsiba

yandex-direct-mcp-plus

by Pavelsiba

Минус-фразы группы

set_ad_group_negative_keywords
Destructive

Set negative keywords for a Yandex.Direct ad group using replace, add, or remove mode. Add and remove read the existing list first, so no separate lookup is needed.

Instructions

Минус-фразы на уровне группы объявлений. Режим mode обязателен: replace заменяет список целиком (прежние фразы теряются, пустой массив очищает), add дописывает к текущим, remove убирает названные — читать список перед этим не нужно, add и remove делают это сами. Чтобы добавить фразу к существующим, нужен add: replace с одной фразой сотрёт остальные.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYesОбязателен. replace — заменить список целиком (пустой массив очищает, прежние фразы теряются), add — дописать к текущим, remove — убрать перечисленные. add и remove сначала читают текущий список, это дополнительный вызов API. Фразы сравниваются так же, как их сравнивает Директ: без учёта регистра, буквы ё и е равны, краевые и повторные пробелы не учитываются, операторы закрепления ! и + игнорируются
dry_runNotrue — ничего не менять: проверить параметры и вернуть тела запросов, которые ушли бы в Директ. Чтение при этом выполняется.
ad_group_idYesID группы объявлений
negative_keywordsYesМинус-фразы группы: при mode=replace — полный новый список взамен прежнего, при add — что дописать, при remove — что убрать

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.7.0
    • addedInput schema / properties / dry_run
      Added value: +{
      +  "description": "true — ничего не менять: проверить параметры и вернуть тела запросов, которые ушли бы в Директ. Чтение при этом выполняется.",
      +  "type": "boolean"
      +}
  2. First observedv1.6.1

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description usefully augments this by spelling out the destruction semantics ('прежние фразы теряются', empty array clears) and the side effect that add/remove read the current list itself, i.e. an extra API call. This adds genuine context beyond the structured fields, though it omits auth/permission or rate-limit information.

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?

Three sentences with the purpose front-loaded and the critical destruction warning prominent. Minor redundancy: the add-vs-replace point is made twice (once enumerating modes, once in the closing sentence), which slightly dilutes conciseness.

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 mutation tool with no output schema, the description covers the key behaviors an agent needs: mode semantics, list-preservation implications, and the self-reading behavior of add/remove. The dry_run parameter is left to the schema, which is acceptable given the otherwise complete operational picture.

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%, and the schema's own mode description already details replace/add/remove plus normalization rules, so the schema carries the burden. The description largely restates the mode behavior rather than extending it, landing at the baseline of 3 for high-coverage schemas.

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+resource (negative keywords) and scopes it explicitly to 'на уровне группы объявлений', which implicitly distinguishes it from campaign-level siblings like set_campaign_negative_keywords. It is clear what the tool does, though it never names the sibling alternative explicitly, so sibling differentiation rests on the level qualifier rather than a stated contrast.

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 gives strong when-to-use guidance at the mode level: replace wipes the list, add appends, remove deletes, and it explicitly warns that to add to an existing set you must use add because replace with a single phrase will erase the rest. It does not, however, address when to prefer this tool over its siblings (e.g., campaign-level or shared-set tools), so tool-level alternative guidance is absent.

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