vk-ads-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vk-ads-mcplist my ad plans"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vk-ads-mcp
Hardened fork of lexamarketolog/vk-ads-mcp. Управляет рекламными кампаниями в VK Реклама (myTarget API v2) через любой MCP-клиент — Claude Code, Claude Desktop, Cursor и другие. По умолчанию работает только на чтение; мутирующие операции включаются явно через VK_ADS_ENABLE_WRITES=true. Каждый партнёр использует собственные API-ключи.
Возможности
Чтение (24 инструмента, всегда доступны)
Позволяют просматривать данные аккаунта, не изменяя ничего в кабинете.
auth_check, get_account_info,
list_ad_plans, get_ad_plan,
list_campaigns, get_campaign,
list_ad_groups, get_ad_group,
list_banners, get_banner,
get_statistics_day, get_statistics_summary, get_statistics_breakdown, get_async_report,
list_remarketing_groups, list_remarketing_pixels, get_lookalike,
list_users_lists,
list_content,
list_feeds,
list_agency_clients,
list_packages, search_regions, get_dictionary
Управление (31 инструмент, только при VK_ADS_ENABLE_WRITES=true)
Мутирующие операции — создание, изменение, удаление объектов, загрузка файлов. Требуют явного включения, так как затрагивают бюджет и данные кампаний.
create_ad_plan, update_ad_plan, delete_ad_plan,
create_campaign, update_campaign, set_campaign_status, delete_campaign,
create_ad_group, update_ad_group, delete_ad_group,
create_banner, update_banner, moderate_banner, delete_banner,
upload_image, upload_video,
create_remarketing_group, update_remarketing_group, delete_remarketing_group,
create_remarketing_pixel, delete_remarketing_pixel,
create_lookalike,
create_users_list, upload_users_list_items, delete_users_list,
create_feed, update_feed, delete_feed,
create_agency_client,
create_async_report,
revoke_token
Related MCP server: OpenAI Ads MCP
Терминология VK Ads API (важно)
API использует устаревшие имена myTarget. В новом кабинете ads.vk.com:
Интерфейс кабинета | Имя в API | MCP-инструменты |
Кампания (верхний уровень) |
|
|
Группа объявлений |
|
|
Объявление |
|
|
Внимание:
campaignбезad_plan_idсоздаётся без ошибки, но становится «сиротой» и не отображается в новом кабинете. Всегда привязывайте кампанию к плану.
Установка
Claude Code
claude mcp add vk-ads \
--env VK_ADS_CLIENT_ID=<id> \
--env VK_ADS_CLIENT_SECRET=<secret> \
-- uvx --from git+https://github.com/nikolaymokh-dev/vk-ads-mcp@v0.1.0 vk-ads-mcp.claude.json / Cursor / другие MCP-клиенты
{
"mcpServers": {
"vk-ads": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nikolaymokh-dev/vk-ads-mcp@v0.1.0",
"vk-ads-mcp"
],
"env": {
"VK_ADS_CLIENT_ID": "<id>",
"VK_ADS_CLIENT_SECRET": "<secret>"
}
}
}
}Вместо client_id/client_secret можно передать готовый токен:
"env": {
"VK_ADS_ACCESS_TOKEN": "<token>"
}Включение управления кампаниями
Добавьте переменную окружения VK_ADS_ENABLE_WRITES=true при запуске сервера:
claude mcp add vk-ads \
--env VK_ADS_CLIENT_ID=<id> \
--env VK_ADS_CLIENT_SECRET=<secret> \
--env VK_ADS_ENABLE_WRITES=true \
-- uvx --from git+https://github.com/nikolaymokh-dev/vk-ads-mcp@v0.1.0 vk-ads-mcpИли в JSON-конфиге:
"env": {
"VK_ADS_CLIENT_ID": "<id>",
"VK_ADS_CLIENT_SECRET": "<secret>",
"VK_ADS_ENABLE_WRITES": "true"
}Внимание: мутирующие инструменты могут создавать объекты, менять статусы и тратить рекламный бюджет. Включайте только там, где это действительно нужно.
Настройка доступа
Как получить API-ключи в кабинете VK Реклама: docs/SETUP.md.
Безопасность
Что защищает этот форк и какие ограничения остаются: docs/SECURITY.md.
Отличия от оригинала (что добавил форк)
Этот форк добавляет слой безопасности поверх lexamarketolog/vk-ads-mcp, не меняя поведение самих инструментов:
Read-only по умолчанию — 31 мутирующий инструмент скрыт, пока не задан
VK_ADS_ENABLE_WRITES=true.Защита upload от SSRF — блок непубличных адресов (loopback/RFC1918/link-local
169.254.169.254/CGNAT) +follow_redirects=False.Запрет чтения произвольных файлов — локальный upload только из
VK_ADS_ALLOW_LOCAL_UPLOAD=<dir>(с проверкой path-traversal).Lock
base_urlнаads.vk.com(override черезVK_ADS_ALLOW_BASE_URL_OVERRIDE).Защита от path-traversal в пользовательских значениях, попадающих в URL-путь.
Воспроизводимая установка через
uvxпо тегу, запинённыйuv.lock, CI, тесты безопасности.
Полный список — в CHANGELOG.md; модель угроз — в docs/SECURITY.md.
Лицензия
MIT — форк lexamarketolog/vk-ads-mcp, см. NOTICE.
Available Tools
24 toolsauth_checkA
Verify credentials and API reachability.
Returns current user info if token is valid, otherwise an error payload.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that a valid token returns current user info and an invalid one returns an error payload. This is clear and sufficient for a simple auth check, though more details (e.g., idempotency) could be added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence states the core purpose; the second explains outcomes. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no annotations, and an existing output schema, the description is fairly complete. It covers purpose and result. Could mention how credentials are passed (e.g., authorization header), but it's adequate for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters, so schema coverage is 100%. The description adds nothing about parameters, which is acceptable as there are none. Baseline for zero params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool verifies credentials and API reachability, a specific verb+resource. It distinguishes from sibling tools which are all about retrieving specific data entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the purpose is distinct from siblings, the description does not mention common use cases (e.g., checking token validity before other calls) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_account_infoA
Get current account info (including balance/budget fields).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It describes a read operation ('Get') and adds detail about including balance/budget fields, which is adequate for a simple zero-parameter tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, efficiently conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (0 parameters, output schema exists), the description is sufficiently complete. It states what info is retrieved, though implicit that it's the user's own account.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. No additional parameter information needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets current account info and specifies that it includes balance/budget fields, which is specific and distinguishes it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ad_groupC
Get a single ad group by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| ad_group_id | Yes | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility for behavioral disclosure. It only states the action ('Get') but omits crucial details such as authentication requirements, error handling, idempotency, or response format beyond what the output schema might imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, making it concise and front-loaded. However, it sacrifices substance for brevity, leaving important details unexplained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters, 0% param descriptions, presence of output schema), the description is insufficiently complete. It fails to explain the 'fields' parameter, return value structure, or how this tool fits with sibling tools, leaving the agent with unanswered questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must clarify parameter meanings. It explains 'ad_group_id' implicitly ('by ID') but does not explain the 'fields' parameter, its format, or its purpose. This leaves a significant gap in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Get), resource (ad group), and scope (single item by ID). It effectively distinguishes from sibling tools like 'list_ad_groups' which retrieve multiple ad groups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when-not-to-use scenarios, or refer to sibling tools like 'list_ad_groups' for different use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ad_planB
Get a single ad plan by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| ad_plan_id | Yes | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden for behavioral disclosure. It only states the basic action (getting a plan by ID) without detailing error behavior, required permissions, or response format. This is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundancy. It is appropriately sized for a simple get-by-ID tool, though it could benefit from slightly more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema (which documents return values), the description is adequate but lacks behavioral context and usage tips. It provides the minimum viable information, but gaps remain in transparency and guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate by explaining parameters. The two parameters (ad_plan_id and fields) are self-explanatory from their names and schema titles, but the description adds no additional meaning or formatting guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Get' and the resource 'ad plan', with 'single...by ID' qualifying the scope. It distinguishes itself from sibling tools like list_ad_plans which imply batch retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like list_ad_plans. Usage is implied by the tool name and sibling context, but no direct guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_async_reportC
Get async report status or download link when ready.
| Name | Required | Description | Default |
|---|---|---|---|
| report_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states 'status or download link when ready' but does not explain behavior when report is not ready, error handling, or whether it is read-only. With no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but overly terse. While it front-loads the purpose, it lacks necessary details and does not earn its place with additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter and an output schema exists, the description is minimally adequate. However, it could better explain the behavior of async status retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not add any meaning beyond the schema for the report_id parameter. Schema coverage is 0%, so description must compensate but fails.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets async report status or download link. It implies the tool is for asynchronous reports, distinguishing it from synchronous statistics tools among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not state when to use this tool versus alternatives, nor any prerequisites or context for the report_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bannerB
Get a single banner by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| banner_id | Yes | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so the description must carry the full burden. It only indicates a read operation but provides no details on permissions, error handling, or side effects. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence with no wasted words. However, it sacrifices completeness for brevity, missing important context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values are covered. But the description lacks context about when to use this tool, required inputs (though schema has required), and any constraints. Adequate for a simple get operation but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions are missing for both parameters. The description only hints at 'by ID' for banner_id but does not explain the fields parameter at all. Insufficient to clarify parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a single banner by ID', specifying the verb, resource, and scope. It distinguishes from sibling get_* tools that target other resources and from list_banners which returns multiple items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like list_banners or other get_* tools. Does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaignC
Get a single campaign by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | Yes | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for disclosure. It only states basic functionality without mentioning side effects, permissions, rate limits, or return behavior. The existence of an output schema partially mitigates but does not complete the picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at five words, with no extraneous content. However, it may be too terse, sacrificing clarity on parameter usage. It is well-structured for a simple tool but lacks important details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simple nature and presence of an output schema, the description is incomplete. It fails to explain the 'fields' parameter or provide any usage context beyond retrieving by ID. More details on parameter behavior would be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no explanation for parameters. The 'fields' parameter is entirely undocumented, leaving agents to guess its purpose and format. Only the 'campaign_id' is implied by 'by ID'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', resource 'campaign', and identifier method 'by ID'. It effectively distinguishes from sibling tools like 'list_campaigns' and other 'get_' tools by specifying the resource. However, it lacks any additional context about scope or limitations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'list_campaigns' or other get tools. There is no mention of prerequisites, filtering, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dictionaryA
Fetch an arbitrary VK Ads dictionary.
Examples:
name="interests"→/api/v2/interests.jsonname="browsers"→/api/v2/browsers.jsonname="currencies"→/api/v2/currencies.jsonname="sectors"→/api/v2/sectors.json
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| params | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states fetch operation without disclosing auth needs, rate limits, error behavior, or side effects (likely none). Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one sentence defining purpose plus bulleted examples. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has output schema, so return values may be covered there. Description covers basic usage but omits validation, error scenarios, or read-only nature. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description adds value for 'name' parameter with examples and API mapping. However, 'params' parameter is undocumented, missing its optional query parameter purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches an arbitrary VK Ads dictionary, with examples that distinguish it from sibling tools that target specific resources like ad groups or campaigns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Examples imply usage (e.g., name='interests' maps to /api/v2/interests.json), but there is no explicit guidance on when to use vs alternatives or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lookalikeB
Get a lookalike audience (incl. processing status).
| Name | Required | Description | Default |
|---|---|---|---|
| lookalike_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. 'Get' implies a read operation and 'incl. processing status' indicates part of the return value. However, there is no explicit mention of idempotency, side effects, or required permissions, which are not inherently obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is concise, though extremely brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to detail return values. However, it lacks parameter semantics and usage guidance, which are critical for correct invocation. The tool is simple, but the missing information leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, placing full burden on the description, which fails to define the 'lookalike_id' parameter. The description does not explain what the parameter represents, its format, or expected values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving a lookalike audience including its processing status. The verb 'Get' and resource 'lookalike audience' are specific, and the additional detail about processing status distinguishes it from other get_ tools like get_ad_group or get_campaign.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as list_users_lists or other audience-related tools. The description does not mention prerequisites, filters, or any context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statistics_breakdownC
Statistics sliced by a dimension.
Args:
entity: campaigns | ad_groups | banners.
ids: comma-separated IDs.
group_by: one of age, gender, region, placement, os, device_type.
metrics: metric group.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | ||
| ids | Yes | ||
| date_from | Yes | ||
| date_to | Yes | ||
| group_by | Yes | ||
| metrics | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. The description does not mention whether the tool is read-only, any rate limits, pagination, data freshness, or what happens on failure. The existence of an output schema partially mitigates this, but the description itself adds no behavioral context beyond the parameter list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and uses a bullet list for args, which is reasonable. However, it omits two required parameters, making it incomplete. The front-loading is acceptable with a brief sentence followed by args, but the omission reduces the effectiveness of the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six parameters (five required) and an output schema, the description should cover all parameters and provide context on usage. It fails to mention date_from and date_to, does not explain what 'metric group' means, and offers no differentiation from sibling statistics tools. This leaves the overall description incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. While it provides allowed values for entity and group_by, and hints at ids being comma-separated, it completely omits two required parameters: date_from and date_to. This omission is critical and misleading, as a user might not know those parameters exist. The description does not sufficiently clarify all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Statistics sliced by a dimension,' which conveys the main purpose of retrieving statistics broken down by a dimension. It also lists entity types and group_by options, clarifying the resource. However, it could be more explicit about the action (e.g., 'Retrieve statistics breakdown') and does not fully differentiate from similar siblings like get_statistics_day or get_statistics_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides allowed values for entity and group_by, giving implicit guidance on how to use the tool. However, no explicit guidance is given on when to use this tool versus alternatives (e.g., get_statistics_day or get_statistics_summary), nor are there any exclusions or when-not-to-use statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statistics_dayB
Daily statistics.
Args:
entity: one of campaigns, ad_groups, banners, users.
ids: comma-separated entity IDs (e.g. "123,456").
date_from: YYYY-MM-DD.
date_to: YYYY-MM-DD.
metrics: optional metric group (e.g. base, video, uniques, all).
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | ||
| ids | Yes | ||
| date_from | Yes | ||
| date_to | Yes | ||
| metrics | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral transparency. It covers parameter formats but omits important details such as whether the tool is read-only, rate limits, data freshness, or the nature of the statistics (e.g., aggregated counts). The description does not disclose behavioral traits beyond basic parameter usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, using a clear docstring format with one line per parameter. Every sentence adds value, and there is no redundant information. It is well-structured for quick parsing by an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema, the description does not need to detail return values. However, it lacks explanation of what metrics are available in each group and does not describe the output structure or potential errors. For a tool with a sibling set including other statistics tools, the description could better contextualize its role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by explaining each parameter: entity options, format for IDs and dates, and an optional metrics group. This adds significant value beyond the raw schema. However, it could be improved by listing the exact allowed values for entity and metrics groups, and providing examples for clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Daily statistics' which clearly indicates the tool retrieves daily statistics for various entities. The name and parameter list further clarify the purpose. However, it does not explicitly differentiate from siblings like get_statistics_breakdown or get_statistics_summary, which could confuse an agent about which tool to use for different types of statistics queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides parameter details but offers no guidance on when to use this tool versus alternatives such as get_statistics_breakdown or get_statistics_summary. There is no mention of typical use cases, prerequisites, or contexts where this tool is preferred, leaving the agent to infer usage from the tool's name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statistics_summaryC
Summary (aggregated) statistics for the period.
Args mirror get_statistics_day.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | ||
| ids | Yes | ||
| date_from | No | ||
| date_to | No | ||
| metrics | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose any behavioral traits such as data aggregation method, time period coverage, permissions needed, rate limits, or what happens with missing data. The existence of an output schema is not leveraged to clarify return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief (two short sentences), but lacks necessary detail. While concise in length, it fails to convey essential information, making it under-specified rather than efficiently complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters with 0% schema coverage, no annotations, and an output schema that isn't referenced, the description is severely incomplete. It does not explain the aggregated nature, return format, or parameter usage, forcing reliance on an external tool reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage across all 5 parameters. The description only says 'Args mirror `get_statistics_day`', which adds no specific meaning for `entity`, `ids`, `date_from`, `date_to`, or `metrics`. An agent would need to look up the other tool to infer meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it provides 'Summary (aggregated) statistics for the period', which clearly identifies the tool's purpose. It also references 'Args mirror `get_statistics_day`' to indicate parameter similarity. However, it does not explicitly differentiate from sibling tools like `get_statistics_breakdown` or `get_statistics_day`, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is that arguments mirror `get_statistics_day`, which implies the same parameters but for aggregated data. There is no explicit advice on when to use this tool versus alternatives like `get_statistics_day` or `get_statistics_breakdown`, nor any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ad_groupsB
List ad groups, optionally filtered by campaign_id.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | No | ||
| limit | No | ||
| offset | No | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description fails to disclose pagination behavior (limit/offset), field selection, or access scope. Minimal text does not compensate for missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no fluff, but sacrifices completeness. Conciseness is good but at the expense of necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, description is insufficient for a 4-parameter tool with no annotations. Missing pagination and field selection guidance, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, description must explain parameters but only mentions campaign_id. Ignores limit, offset, and fields, which have defaults and require context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'List' and resource 'ad groups', with optional filtering by campaign_id. Distinguishes from sibling 'get_ad_group' which retrieves a single group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for listing ad groups, but no explicit guidance on when to use this vs alternatives like 'get_ad_group' or other list tools. No exclusion conditions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ad_plansC
List ad plans (top-level entity visible as "Кампания" in VK Ads UI).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It fails to disclose pagination behavior, rate limits, required permissions, or any side effects, offering only a minimal statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but arguably too brief given the lack of other information. It is not verbose but could benefit from more detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description omits parameter details, usage context, and behavioral notes, making it incomplete for a 3-parameter tool with no schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the parameters (limit, offset, fields). The agent receives no hints about parameter usage beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List ad plans' and provides the UI equivalent 'Кампания', making the resource identifiable. However, it does not differentiate from sibling tools like get_ad_plan or list_campaigns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as search or filter capabilities, is provided. The description only states the basic function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_agency_clientsC
List clients managed under an agency account.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only says 'list', but doesn't disclose if the operation is safe, what pagination behavior exists, or how authentication is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, packed into one clear sentence. However, it could add value without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks details about output format, pagination behavior, and prerequisites. Given the presence of an output schema and pagination parameters, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not mention the two parameters (limit, offset) at all. No additional meaning is provided beyond the schema's default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists clients under an agency account, with a specific verb and resource. It distinguishes from sibling tools like list_ad_groups or list_banners, which list different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_account_info for non-agency clients). No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bannersC
List banners (individual ads).
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | No | ||
| ad_group_id | No | ||
| limit | No | ||
| offset | No | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavioral traits. It only states 'List banners' without mentioning that it's a read operation, requires authentication, or how pagination works. The description does not add beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that effectively states the purpose without extraneous words. It is front-loaded with the action and resource, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no annotations, the description is too minimal. It does not explain filtering, pagination, or the return format (though an output schema exists but is not shown). The description leaves significant gaps for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for all 5 parameters, and the description does not mention any parameters. The description fails to add meaning about campaign_id, ad_group_id, limit, offset, or fields, which are crucial for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('banners'), and clarifies that banners are 'individual ads.' This distinguishes it from sibling tools like get_banner (singular) or list_ad_groups (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of filtering, prerequisites, or context in which this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_campaignsA
List advertising campaigns.
Args: limit: max items (default 50, max 250). offset: pagination offset. status: filter by status (active, blocked, deleted, etc.). fields: comma-separated field list to return.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| status | No | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses parameter behaviors (defaults, max, filtering) but does not mention authentication, rate limits, or explicitly state read-only nature. Annotations absent, so description carries full burden but is incomplete on safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise. Purpose stated upfront, then bullet-like arg descriptions. No wasted words, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 4 params, no required params, and an output schema. Description covers main aspect (list campaigns) and parameter details. Lacks usage guidelines and safety context, but for a list tool with output schema, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. Description compensates by explaining limit (max items, default, max), offset (pagination), status (filter with examples), fields (comma-separated). Adds significant meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'List' and resource 'advertising campaigns'. Distinguishes from 'get_campaign' but no explicit differentiation from other list tools among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives like 'get_campaign' or other list tools. No context on prerequisites or intended use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_contentB
List uploaded content.
Args:
content_type: one of static, video, html5.
limit, offset: pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| content_type | No | static | |
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only mentions listing without disclosing side effects or behavior like sorting. Output schema exists but doesn't mitigate lack of behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise and to the point. However, it could be more structured (e.g., bullet points) but no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no annotations, and a broad set of siblings, the description is insufficient. It omits what type of content is returned, ordering, and scope of listing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds value over input schema by specifying content_type options ('static', 'video', 'html5') and clarifying limit/offset for pagination. Schema coverage was 0%, so this is crucial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List uploaded content' with a specific verb and resource. It distinguishes from siblings by being generic, though incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like list_banners or list_feeds. Context signals show many sibling list tools but description offers no differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_feedsC
List product feeds for dynamic/shopping ads.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as authentication requirements, rate limits, or side effects. It only states the basic function without elaboration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words, but it is too brief to convey useful context beyond the core purpose. It is adequately concise but not well-structured for quick scanning of key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 parameters, no required fields, output schema present), the description is minimally complete. However, it fails to provide any context about usage scenarios, pagination behavior, or returned data structure, which an agent might need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema has no descriptions for parameters. The tool description entirely omits parameter details, forcing the agent to rely solely on parameter names (limit, offset) which are generic and lack context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and the resource (product feeds) with a specific use case (dynamic/shopping ads). It distinguishes itself from sibling list tools by specifying 'feeds' as a unique resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or when not to use it. The description lacks any context about prerequisites or filtering conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_packagesA
List available ad packages (ad formats / placements).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full burden for behavioral disclosure. It does not mention authentication needs, rate limits, side effects, or any constraints like filtering or pagination. The description is too sparse to inform the agent about behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately conveys the tool's purpose without any unnecessary words. It is front-loaded and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and an existing output schema, the description is adequate but minimal. It could provide more context about how these packages are used (e.g., in campaign creation) to be fully complete, but it suffices for a straightforward list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema description coverage is effectively 100%. The description adds clarifying context by explaining what 'ad packages' means, which is beneficial. Baseline 4 is appropriate as no further parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists ad packages with an explicit verb 'List' and a specific resource 'ad packages', and provides clarification in parentheses that these are ad formats/placements. This effectively distinguishes it from sibling list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to list packages versus other entities, or any prerequisites or conditions. It lacks both when-to-use and when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_remarketing_groupsC
List remarketing audiences.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description does not disclose pagination behavior, rate limits, or read-only nature, leaving the agent uninformed about side-effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it omits important details. It is not front-loaded with critical context beyond the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, covering return values. However, the description lacks context about what constitutes a 'remarketing group' or prerequisites, making it barely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds no meaning to the limit and offset parameters. It does not explain their function or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists rememrketing audiences, matching the name. It's a specific resource, but could be more precise about 'groups' vs 'audiences'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like list_remarketing_pixels or list_campaigns. Without exclusions or context, the agent lacks decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_remarketing_pixelsC
List remarketing pixels (tracking tags).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the brief description does not disclose behavioral traits such as read-only nature, authentication requirements, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but under-specified. It lacks necessary details, making it too terse to be truly useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema existing, the description omits usage context, pagination details, and any behavioral information. It is incomplete for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the parameters 'limit' and 'offset'. The description fails to compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'remarketing pixels' with added clarification 'tracking tags'. It distinguishes from sibling tools like list_remarketing_groups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives or when not to use. The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_users_listsB
List custom-audience users lists (uploaded phone/email hash segments).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. Only states 'list' which implies read-only, but lacks details on pagination, rate limits, data format, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key purpose, no redundant information. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal but adequate: covers basic purpose, output schema exists to document return values. However, missing usage guidance and parameter semantics leave gaps for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, yet description adds no explanation for limit and offset parameters. Standard pagination is assumed, but the description should compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'list' and resource 'custom-audience users lists', with specific qualifier 'uploaded phone/email hash segments'. This distinguishes from sibling tools like list_remarketing_groups or list_remarketing_pixels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Among many list tools (list_ad_groups, list_banners, etc.), there is no context for selecting this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_regionsC
Search geo regions for targeting (cities, regions).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavioral traits such as pagination, rate limits, or whether results are ordered. The minimal text does not compensate for the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single short sentence, but overly terse. It is concise but at the cost of omitting crucial details. Every word is needed but more should be added.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Has an output schema, but description does not explain what the output contains. Given the tool's search nature (2 parameters, 1 required), more context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain what the 'query' or 'limit' parameters mean, leaving the agent to infer from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Search geo regions for targeting (cities, regions),' clearly indicating the action and resource. No sibling search tools exist, so differentiation is not needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_dictionary' or other list tools. The description does not mention any preconditions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct entity or action (authentication, specific entities like campaign/ad group, statistics variants, different list operations). No two tools overlap in function; get/list pairs are complementary. The three statistics tools are differentiated by aggregation level (breakdown, daily, summary).
All tool names follow a consistent snake_case pattern with clear verb prefixes: 'get_' for single entities, 'list_' for plural entities, 'search_' for search, 'auth_' for authentication. No mixing of conventions or unclear verbs.
24 tools cover a broad range of VK Ads operations (auth, account, campaigns, ad groups, banners, ads, statistics, dictionaries, remarketing, content, feeds, packages, regions). The count is well-scoped for a comprehensive ads management server, neither too sparse nor bloated.
The tool surface is entirely read-only: only get, list, search, and statistics tools exist. There are no create, update, or delete operations for any entity (campaigns, ad groups, banners, etc.), which severely limits practical use for campaign management. Critical mutation capabilities are missing.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only MCP access to your DEXUN AdWhiz account: ad accounts, AI recommendations, savings.
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Read and manage Meta Ads campaigns, ad sets, ads, audiences, pages and Business Manager. You provide
Hosted Meta ads MCP with OAuth, bounded reads, and prepare/confirm writes.
Related MCP Servers
- AlicenseAqualityDmaintenanceRead-only MCP server for analyzing VK Ads campaigns, listing ad structures, retrieving statistics, and generating optimization recommendations.81MIT
- AlicenseNot gradedqualityCmaintenanceEnables management of OpenAI Ads campaigns, ad groups, ads, and insights through MCP, with approval-gated live mutations for safe write operations.54MIT
- AlicenseAqualityAmaintenanceMCP server for VK Ads API: manage ad plans, ad groups, banners, and statistics.18804MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for VK Ads API (myTarget v2) that allows AI agents to manage advertising accounts: create and modify campaigns, ads, upload creatives, and fetch statistics.1456Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/nikolaymokh-dev/vk-ads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server