Skip to main content
Glama
Lermont

yadirect-mcp

by Lermont

direct_report

Read-only

Export Yandex Direct campaign statistics to a TSV file on disk, then return the file path, summary totals, and first rows for quick analysis.

Instructions

Выгрузить статистику через Reports API. Пишет TSV на диск, возвращает путь + итоги + первые строки.

client_login: клиентский логин (см. direct_list_clients) date_from / date_to: YYYY-MM-DD. Статистика доступна за 3 последних года. fields: колонки отчёта, например ["Date","CampaignName","Impressions","Clicks","Cost"]. Набор допустимых полей зависит от report_type. Внимание: поля разных классов — сегмент (даёт группировку), метрика, атрибут, фильтр (используется только в filters и в отчёт не выводится, напр. Keyword). report_type: CUSTOM_REPORT (самый общий, по умолчанию) | ACCOUNT_PERFORMANCE_REPORT | CAMPAIGN_PERFORMANCE_REPORT | ADGROUP_PERFORMANCE_REPORT | AD_PERFORMANCE_REPORT | CRITERIA_PERFORMANCE_REPORT | SEARCH_QUERY_PERFORMANCE_REPORT | REACH_AND_FREQUENCY_PERFORMANCE_REPORT goals: ID целей Метрики, например ["12345678"]. Без них не будет Conversions. attribution_models: FC | LC | LSC | LYDC | FCCD | LSCCD | LYDCCD | AUTO. Работает только вместе с goals; по умолчанию LSC. Несколько моделей → данные выводятся по каждой отдельно. filters: [{"Field":"CampaignId","Operator":"IN","Values":["123","456"]}] order_by: [{"Field":"Cost","SortOrder":"DESCENDING"}] limit: ограничение строк. Требует сортировки — если не задана, подставим по первому полю. include_vat: суммы с НДС (True) или без (False).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
goalsNo
limitNo
fieldsYes
date_toYes
filtersNo
order_byNo
date_fromYes
include_vatNo
report_typeNoCUSTOM_REPORT
client_loginYes
attribution_modelsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

Annotations only say readOnlyHint=true; the description goes further by disclosing that the tool writes a TSV to disk, returns path/totals/first rows, only has data for the last 3 years, and that multiple attribution_models produce per-model rows. It also explains field classes and the limit/order_by interaction. No contradiction with readOnlyHint.

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 long but each sentence adds information needed to call the tool correctly; the main behavior is front-loaded and parameter details are organized. There is no filler or repeated schema content.

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?

For a tool with 11 parameters and no schema-level descriptions, this covers all parameters, the side effect, output shape, and key API behaviors; the output schema fills in the remaining return-type details. No critical calling information is missing.

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

Parameters5/5

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

With 0% schema description coverage, the description must carry the documentation burden, and it does: every parameter is explained with formats, examples, allowed values, and constraints. It even gives the filter/order_by JSON structure and warns which field classes are not output columns.

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?

The description uses a specific verb ('Выгрузить статистику') and names the resource (Reports API), then distinguishes the tool by its side effect: it writes a TSV to disk and returns the path, totals, and first rows. This is enough to distinguish it from siblings like direct_read_report.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives context and constraints, such as data availability for 3 years, required client_login, and that conversions require goals, but it never explicitly states when to use this tool instead of direct_read_report or direct_campaigns. Usage must be inferred from the output-on-disk behavior, so guidance is implied rather than explicit.

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/Lermont/yamcp'

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