Yandex MCP Server with admin panel
Yandex MCP Server
A multi-tenant MCP server for Direct, Metrika, Webmaster, Audience and Wordstat with a web admin panel for tokens
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Stores several users' OAuth tokens in a shared database, even if encrypted
- The admin panel exposes adding and viewing account integrations
Install
Manual install
uv sync --no-dev && cp .env.example .env && uv run alembic upgrade head && uv run python -m app.mainLocal run on SQLite; generate FERNET_KEY first and put it in .env.
This is third-party code. Review the repository files before installing.
What it does
A FastMCP and FastAPI server provides 14 read tools across five Yandex APIs: Direct campaigns and stats, Metrika counters, Webmaster hosts, Audience segments, AdMetrica campaigns and Wordstat frequency. Each API also has an MCP resource with a short doc excerpt so the agent does not invent data structures, plus three ready prompts for campaign analysis, budget optimization and finding underperforming ads. Yandex tokens are stored in a database (SQLite or MySQL) encrypted with Fernet and auto-refreshed on expiry, with users identified via an X-Bifrost-User-Id header from a proxy. A separate web admin panel handles adding integrations and the OAuth callback.
Who it is for. For teams deploying their own multi-tenant MCP gateway to Yandex APIs with a web panel for clients.
Good fit when
- You want one server covering Direct, Metrika, Webmaster, Audience and Wordstat at once
- You plan multiple users with different Yandex accounts and a web panel for connecting tokens
- You want the agent to read API docs via MCP resources instead of guessing
Not a fit when
- You want a simple single-user server: this one needs a database, a Fernet key and a proxy header
- You need to write to Direct or Metrika: only reads are implemented
Example request
Show statistics for campaign 12345 over the last 7 days and suggest where to cut budgetLimitations
The project is built around a Bifrost proxy that forwards an X-Bifrost-User-Id header and a separate admin panel for OAuth; without them multi-tenant mode will not work. It needs a Fernet key and its own database (SQLite for MVP, MySQL for load) with Alembic migrations. Only reads are implemented: campaigns, counters, hosts, segments and statistics; nothing in Yandex can be changed through this server.
How to disable. Stop the containers with docker compose down and remove the server from your MCP client settings.
MCP
- Transport
- http
- Authentication
- OAuth
| Environment variables | |
|---|---|
| FERNET_KEY required, secret | Encryption key for tokens stored in the database |
| YANDEX_CLIENT_ID required | Yandex OAuth application client ID |
| YANDEX_CLIENT_SECRET required, secret | Yandex OAuth application client secret |
Security check
- Stores several users' OAuth tokens in a shared database, even if encrypted
- The admin panel exposes adding and viewing account integrations
README in short
The README shows a SQLite quick start and a production Docker Compose deploy on SQLite or MySQL behind a Bifrost network, the admin panel structure, a Caddy config example proxying the user header, the full list of 14 tools, 5 documentation resources and 3 prompts with call examples, and the app/ project layout.
FAQ
Is the admin panel mandatory?
It is needed for multi-tenant OAuth and integration management; for a single local test, SQLite and .env are enough.
Can the server pause a campaign?
No, all 14 tools only read Direct, Metrika, Webmaster, Audience and AdMetrica data.
Related
Official DataLens (Yandex) skills for Claude Code, Codex and OpenCode: SDK, HTML reports and RLS resolution
A Yandex Metrika MCP server generated from the API spec: 108 methods, 10 tools declared by default, transparent filters and response metadata
An open MCP server and agent skill set for SEO: keyword research, competitors, backlinks and site audits powered by DataForSEO
A Claude Code plugin for SEO audits: technical SEO, E-E-A-T, schema, local and AI search via parallel subagents