Summary
Let your AI analyse your Yandex Direct advertising, read-only: campaigns, ad groups, ads, keywords and bids, sitelinks and callouts, agency clients, dictionaries, change tracking and statistics reports by day, campaign, ad or search query.
Guided setup
Connect Yandex Direct to Microsoft Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect Yandex Direct in the guided setup, then add your MCP URL to Microsoft Copilot. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for Yandex Direct
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Yandex Direct, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Yandex Direct + Microsoft Copilot
Let your AI analyse your Yandex Direct advertising, read-only: campaigns, ad groups, ads, keywords and bids, sitelinks and callouts, agency clients, dictionaries, change tracking and statistics reports by day, campaign, ad or search query.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
YANDEX_DIRECT_TOKEN
Step 1 — Get credentials
Setting up takes about 10 minutes, plus the time Yandex needs to approve API access (from an hour to a few business days). You need a Yandex Direct account with at least one campaign, and an app of your own registered at oauth.yandex.ru.
- Register an app at oauth.yandex.ru: platform web services, with the Yandex Direct API permission (
direct:api). Note its ClientID. - In the Yandex Direct web interface open Tools → API, submit an API access request for that ClientID and accept the API user agreement. Until Yandex approves the request, calls fail with error 58.
- Signed in with the Direct account, open
https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>with your ClientID and copy theaccess_token(it starts with y0_) intoYANDEX_DIRECT_TOKEN, without Bearer or OAuth in front. The token is valid for about a year and is extended while it is used. - Agencies only: set
YANDEX_DIRECT_CLIENT_LOGINto the Yandex login of the advertiser to read;yandex_direct_list_agency_clientslists those logins. Leave it empty for your own account. - Install the connector and run
yandex_direct_get_client: it shows the account, its login and its currency.
What it reads: campaigns with type, status, state, dates, funds and all-time clicks and impressions, plus the bidding strategy; ad groups with regions and negative keywords; ads with title, text and link; keywords and autotargeting with bids and productivity; keyword bids with the bids and traffic needed for each search position; sitelinks, callouts, shared negative keyword sets and retargeting lists; agency clients; dictionaries such as currencies and regions; which campaigns changed since a given moment; and statistics reports by day, campaign, ad or search query.
Reports: yandex_direct_get_report returns tab-separated text, with the column names in the first line and money as decimals. Small reports come back at once. Larger ones are built offline: the AI asks again with the same parameters after the wait Yandex gives. At most 5 offline reports can be queued, and search query reports are offline only and cover the last 180 days.
Money and paging: bids, budgets and funds come as integers in micros (2500000 = 2.50 in the account currency). Lists return up to 500 objects by default and at most 10,000, and ad groups, ads and keywords are read for up to 10 campaigns per call.
Read-only by design: every tool reads. Nothing creates, changes, pauses or pays for anything, so there is nothing to confirm and nothing switched off at install.
Limits: every call spends API points from the advertiser's daily allowance, and a failed call costs 20 points. The AI prefers one call with several ids over many single calls and asks only for the fields it needs. Error 152 means today's points are used up; 506 means too many requests at the same time.
Common errors: 53 means the token is invalid or expired: get a new one as in step 3. 58 means the app's API access is not approved yet. 54, 3000 or 3001 mean no API access or no rights, for example for a client login the token may not read. 513 means the login is not connected to Direct. 8000 and 4000 to 4006 mean a wrong parameter, 8800 that an object was not found, and 9300 too many ids in one call.
The connector does not create or edit campaigns, ads, keywords or bids, handle moderation, budgets or payments, or use the Sandbox or Wordstat.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Yandex Directtools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
yandex_direct_get_client | Read the advertiser account the token acts for (or the Client-Login one): ClientId, Login, ClientInfo (name), Currency, CountryId, Type… |
yandex_direct_list_campaigns | List campaigns: Id, Name, Type (TEXT_CAMPAIGN, UNIFIED_CAMPAIGN, SMART_CAMPAIGN, MOBILE_APP_CAMPAIGN, CPM_BANNER_CAMPAIGN ...), Status… |
yandex_direct_list_ad_groups | List ad groups of up to 10 campaigns (or by id): Id, Name, CampaignId, Type, Status, ServingStatus, RegionIds, NegativeKeywords… |
yandex_direct_list_ads | List ads of up to 10 campaigns, up to 1000 ad groups, or by id: Id, CampaignId, AdGroupId, Type, Status, State, StatusClarification, and… |
yandex_direct_list_keywords | List keywords and autotargeting of up to 10 campaigns, up to 1000 ad groups, or by id: Id, Keyword, State, Status, ServingStatus… |
yandex_direct_list_keyword_bids | Read keyword bids with the auction picture: for each keyword the search and network bid and, on search, the bids and traffic volume needed… |
yandex_direct_list_sitelinks | Read sitelink sets by id (SitelinkSetId from yandex_direct_list_ads): each sitelink's Title, Href and Description |
yandex_direct_list_ad_extensions | List ad extensions (callouts) of the account: Id, Type, Status, Associated and the callout text |
yandex_direct_list_negative_keyword_sets | Read shared negative keyword sets by id (NegativeKeywordSharedSetIds of campaigns and ad groups): Id, Name, NegativeKeywords, Associated |
yandex_direct_list_retargeting_lists | List retargeting and audience lists: Id, Name, Type, Description, Rules (Metrica goals and segments), IsAvailable, Scope |
yandex_direct_list_agency_clients | For agency accounts: list the agency's advertisers with Login, ClientId, ClientInfo, Currency and Archived |
yandex_direct_get_dictionaries | Read reference dictionaries: Currencies (with bid limits), GeoRegions (region ids used in RegionIds), TimeZones, Constants, AdCategories… |
yandex_direct_check_campaign_changes | Which campaigns changed since a moment: for each changed campaign, whether the campaign itself (SELF), its groups, ads or keywords… |
yandex_direct_get_report | Run a statistics report (Reports service) and return it as tab-separated text: a column header row, one row per line, money as decimals in… |
Example prompts
- "How did my campaigns do last week? Show impressions, clicks, CTR, cost and conversions per campaign."
- "Which search queries spent the most in the last 30 days without a single conversion?"
- "List the keywords of the Winter tyres campaign with their bids, and what it would take to reach the top positions."
- "Which of my ads are rejected or not being shown right now, and why?"
- "We are an agency: list our clients and show yesterday's spend for the client romashka-shop."
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?