yandex-api-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YANDEX_SEARCH_API_API_KEY | No | API key for Yandex Search API (used in secrets/yandex.env) | |
| YANDEX_SEARCH_API_FOLDER_ID | No | Folder ID for Yandex Search API (used in secrets/yandex.env) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dashboard.generate_option1C | Generate a simple HTML+JSON dashboard from Direct+Metrica data (Option 1). |
| dashboard.generate_pro_htmlC | Pro-only: generate an enriched HTML+JSON dashboard with search terms, keyword diagnostics, campaign watchlist, bids, and tracking gap findings. |
| accounts.listA | List configured project profiles from the accounts registry file. |
| accounts.reloadA | Reload accounts registry from disk (updates server cache). |
| accounts.upsertC | Create or update a project profile in the accounts registry file. |
| accounts.deleteC | Delete a project profile from the accounts registry file. |
| direct.list_campaignsC | List campaigns from Yandex Direct. |
| direct.list_adgroupsC | List ad groups from Yandex Direct. |
| direct.list_adsC | List ads from Yandex Direct. |
| direct.list_keywordsC | List keywords from Yandex Direct. |
| direct.create_campaignsC | Create campaigns in Yandex Direct. |
| direct.update_campaignsC | Update campaigns in Yandex Direct. |
| direct.create_adgroupsC | Create ad groups in Yandex Direct. |
| direct.update_adgroupsC | Update ad groups in Yandex Direct. |
| direct.create_adsC | Create ads in Yandex Direct. |
| direct.update_adsC | Update ads in Yandex Direct. |
| direct.create_keywordsC | Create keywords in Yandex Direct. |
| direct.update_keywordsC | Update keywords in Yandex Direct. |
| direct.reportD | Run a Direct report (raw output). |
| direct.list_clientsC | List Direct clients (agency use). |
| direct.list_dictionariesC | Get Direct dictionaries. |
| direct.get_changesC | Get changes since a given timestamp. |
| direct.list_sitelinksC | List sitelinks sets. |
| direct.list_vcardsC | List vCards. |
| direct.list_adextensionsC | List ad extensions. |
| direct.list_bidsC | List bids. |
| direct.list_bidmodifiersC | List bid modifiers. |
| direct.raw_callB | Raw Direct API call (escape hatch). |
| metrica.list_countersC | List available Metrica counters. |
| metrica.reportC | Run a Metrica report (raw output). |
| metrica.counter_infoC | Get details of a Metrica counter. |
| metrica.logs_exportD | Logs API export (optional). |
| metrica.raw_callB | Raw Metrica API call (escape hatch). |
| metrica.goals.listC | Metrica: list goals for a counter. |
| metrica.goals.getC | Metrica: get goal by id. |
| metrica.goals.createC | Metrica: create goal (pro-only). |
| metrica.goals.updateC | Metrica: update goal (pro-only). |
| metrica.goals.deleteC | Metrica: delete goal (pro-only). |
| audience.user_infoB | Audience: user info (validate access). |
| audience.segments.listD | Audience: list segments. |
| audience.segments.getC | Audience: get segment by id. |
| audience.segments.statsC | Audience: segment stats (size/status) (best effort). |
| audience.segments.overlapC | Audience: overlap between segments (best effort). |
| audience.pixels.listD | Audience: list pixels. |
| audience.pixels.getC | Audience: get pixel by id. |
| audience.lookalikes.listC | Audience: list lookalikes (best effort). |
| audience.lookalikes.getC | Audience: get lookalike by id. |
| audience.segments.createC | Audience: create segment (pro-only). |
| audience.segments.updateC | Audience: update segment (pro-only). |
| audience.segments.deleteC | Audience: delete segment (pro-only). |
| audience.upload.startC | Audience: start upload job (pro-only, may include PII). |
| audience.upload.statusC | Audience: upload job status (pro-only). |
| audience.upload.errorsC | Audience: upload job errors (pro-only). |
| audience.raw_callC | Audience: raw API call (escape hatch, pro-only). |
| wordstat.user_infoC | Wordstat: Search API access check via getRegionsTree. |
| search_serpC | Search API Web Search: normalized Yandex SERP ads and organic results. |
| wordstat.get_regions_treeD | Wordstat: getRegionsTree (regions dictionary). |
| wordstat.top_requestsC | Wordstat: topRequests (top queries by phrase). |
| wordstat.dynamicsC | Wordstat: dynamics (frequency dynamics by period). |
| wordstat.regionsC | Wordstat: regions (frequency by region). |
| direct.hf.find_campaignsC | Human-friendly: find campaigns by name/status/type. |
| direct.hf.find_adgroupsC | Human-friendly: find ad groups by campaign and name. |
| direct.hf.find_adsB | Human-friendly: find ads by campaign/adgroup and title/href filters. |
| direct.hf.find_keywordsC | Human-friendly: find keywords by campaign/adgroup and substring. |
| direct.hf.get_campaign_summaryC | Human-friendly: summarize campaigns with counts (adgroups/ads/keywords). |
| direct.hf.get_campaign_assetsC | Human-friendly: show sitelinks/callouts/vcards attached in campaign. |
| direct.hf.pause_campaignsC | Human-friendly: suspend campaigns (by id or name). |
| direct.hf.resume_campaignsC | Human-friendly: resume campaigns (by id or name). |
| direct.hf.archive_campaignsC | Human-friendly: archive campaigns (by id or name). |
| direct.hf.unarchive_campaignsC | Human-friendly: unarchive campaigns (by id or name). |
| direct.hf.moderate_adsC | Human-friendly: send ads for moderation (by ids or campaign). |
| direct.hf.pause_adsD | Human-friendly: suspend ads. |
| direct.hf.resume_adsC | Human-friendly: resume ads. |
| direct.hf.archive_adsC | Human-friendly: archive ads. |
| direct.hf.unarchive_adsC | Human-friendly: unarchive ads. |
| direct.hf.set_campaign_strategy_presetC | Human-friendly: apply a strategy preset to a campaign. |
| direct.hf.set_campaign_budgetC | Human-friendly: set campaign daily budget (rubles) if supported, else returns patch hint. |
| direct.hf.set_campaign_geoC | Human-friendly: set geo (RegionIds) for all ad groups in a campaign. |
| direct.hf.set_campaign_scheduleC | Human-friendly: set campaign schedule/time targeting (best effort). |
| direct.hf.set_campaign_negative_keywordsC | Human-friendly: set campaign negative keywords. |
| direct.hf.set_campaign_tracking_paramsC | Human-friendly: set TrackingParams for a campaign (best effort). |
| direct.hf.set_campaign_utm_templateC | Human-friendly: apply UTM template to a campaign (utm_mode=auto). |
| direct.hf.clone_campaignC | Human-friendly: clone campaign structure into a new draft campaign (best effort). |
| direct.hf.create_adgroup_simpleC | Human-friendly: create a simple ad group under a campaign. |
| direct.hf.update_adgroup_geoC | Human-friendly: set RegionIds for an ad group. |
| direct.hf.set_adgroup_negative_keywordsC | Human-friendly: set ad group negative keywords. |
| direct.hf.set_adgroup_autotargetingC | Human-friendly: enable/disable autotargeting (best effort, depends on campaign type). |
| direct.hf.set_adgroup_tracking_paramsC | Human-friendly: set TrackingParams for an ad group. |
| direct.hf.create_text_ads_bulkC | Human-friendly: create multiple TextAds in an ad group. |
| direct.hf.update_ads_text_bulkC | Human-friendly: update multiple TextAds fields (title/text/href). |
| direct.hf.apply_utm_to_adsC | Human-friendly: apply UTM template to ads in a campaign (utm_mode=auto). |
| direct.hf.attach_sitelinks_to_adsC | Human-friendly: attach an existing sitelinks set to ads. |
| direct.hf.attach_callouts_to_adsC | Human-friendly: attach callouts (adextension ids) to ads. |
| direct.hf.attach_vcard_to_adsC | Human-friendly: attach vcard id to ads (if supported). |
| direct.hf.create_sitelinks_setC | Human-friendly: create a sitelinks set. |
| direct.hf.create_calloutsC | Human-friendly: create callouts (AdExtensions CALLOUT). |
| direct.hf.ensure_assets_for_campaignC | Human-friendly: ensure sitelinks+callouts exist and attach to ads in campaign. |
| direct.hf.set_keyword_bidC | Human-friendly: set a bid for a single keyword (rubles). |
| direct.hf.set_keyword_bids_bulkC | Human-friendly: set a uniform bid (rubles) for all keywords in a campaign/adgroup. |
| direct.hf.set_autotargeting_bidC | Human-friendly: set bid for ---autotargeting pseudo-keywords (rubles). |
| direct.hf.get_bids_summaryB | Human-friendly: summarize bids in a campaign (min/avg/max). |
| direct.hf.set_bid_modifier_mobileC | Human-friendly: set mobile bid modifier (percent). |
| direct.hf.set_bid_modifier_desktopC | Human-friendly: set desktop bid modifier (percent). |
| direct.hf.set_bid_modifier_demographicsC | Human-friendly: set demographics bid modifier (age+gender). |
| direct.hf.set_bid_modifier_geoC | Human-friendly: set geo bid modifier (best effort). |
| direct.hf.clear_bid_modifiersC | Human-friendly: delete bid modifiers (by campaign/type). |
| direct.hf.report_performanceC | Human-friendly: Direct performance report preset (day/week/month). |
| direct.hf.report_keywordsC | Human-friendly: Direct keyword report preset. |
| direct.hf.report_adsC | Human-friendly: Direct ads report preset. |
| direct.hf.report_adgroupsC | Human-friendly: Direct adgroups report preset. |
| direct.hf.report_search_phrasesC | Human-friendly: Direct search phrases report preset (optional). |
| direct.hf.pressure_reportC | Human-friendly: market pressure report by semantic clusters (best effort, read-only). |
| metrica.hf.list_accessible_countersC | Human-friendly: list accessible counters. |
| metrica.hf.counter_summaryD | Human-friendly: counter summary. |
| metrica.hf.report_time_seriesC | Human-friendly: time series report (day/week/month/quarter/year). |
| metrica.hf.report_landing_pagesC | Human-friendly: landing pages report. |
| metrica.hf.report_utm_campaignsC | Human-friendly: UTM campaigns report. |
| metrica.hf.report_geoC | Human-friendly: geo report (country/city). |
| metrica.hf.report_devicesD | Human-friendly: device report. |
| metrica.hf.logs_export_presetD | Human-friendly: logs export preset (optional). |
| metrica.hf.create_goalB | Human-friendly: create a Metrica goal (pro-only, apply=true). |
| metrica.hf.update_goalB | Human-friendly: update a Metrica goal (pro-only, apply=true). |
| metrica.hf.delete_goalB | Human-friendly: delete a Metrica goal (pro-only, apply=true). |
| direct.hf.plan_changesC | Human-friendly: build an opaque change plan for Direct (preview-only). |
| direct.hf.apply_planB | Human-friendly: apply a previously planned Direct change plan (pro-only, apply=true). |
| direct.hf.bid_sweep_planC | Human-friendly: build a bid sweep experiment plan (pro-only; execution is sandbox-only). |
| direct.hf.bid_sweep_runA | Human-friendly: apply one bid sweep step (pro-only, apply=true, sandbox-only). |
| direct.hf.bid_sweep_analyzeB | Human-friendly: analyze a bid sweep plan using Direct keyword performance report (read-only). |
| wordstat.hf.suggest_keywordsC | Human-friendly: suggest keyword candidates from seed phrases (resumable via cursor). |
| wordstat.hf.suggest_negative_keywordsC | Human-friendly: suggest negative keyword tokens from phrases (lexicon-based). |
| audience.hf.find_segmentC | Human-friendly: find Audience segments by name/type/status. |
| audience.hf.get_segment_summaryC | Human-friendly: Audience segment summary card for UI/LLM. |
| audience.hf.segment_healthC | Human-friendly: Audience segment health check. |
| audience.hf.overlap_matrixC | Human-friendly: overlap matrix (sparse) for segment ids. |
| audience.hf.segment_perfC | Human-friendly: best-effort segment performance via Direct+Metrica. |
| audience.hf.catalogC | Human-friendly: audience segments catalog for dashboards. |
| audience.hf.activation_planB | Human-friendly: preview Direct activation plan for an Audience segment (pro-only apply tool is separate). |
| audience.hf.apply_activation_planC | Human-friendly: apply activation plan for an Audience segment in Direct (pro-only, apply=true). |
| join.hf.direct_vs_metrica_by_utmB | Human-friendly: join Direct daily performance with Metrica daily visits using a stable UTMCampaign value. |
| join.hf.direct_vs_metrica_by_yclidC | Human-friendly: join Metrica visits (Logs API yclid) with Direct click identifiers (best effort). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 140 tools
Massive overlap: direct.list_campaigns vs direct.hf.find_campaigns vs direct.hf.get_campaign_summary, multiple report tools for the same data, raw vs hf variants for nearly every operation. An agent cannot reliably select the right tool without deep domain knowledge.
All names use dot-separated snake_case, but action placement is inconsistent (direct.list_campaigns vs metrica.goals.list) and some tools lack a namespace (search_serp). The hf prefix adds another layer but is not universally applied.
140 tools is an extreme mismatch far beyond the typical 3–15 range. Many tools are thin wrappers or duplicate functionality, creating prohibitive cognitive load for an agent.
The surface is very broad, covering Direct, Metrica, Audience, Wordstat, and Search with CRUD for many resources, raw escape hatches, and cross-domain joins. Minor gaps exist (e.g., no delete for campaigns/adgroups/ads, limited Audience pixel management, Search API only web).