Yandex Webmaster MCP
Яндекс Вебмастер MCP
A Yandex Webmaster MCP server with in-chat OAuth PKCE login: 20 tools for diagnostics, search queries, sitemaps and recrawl
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
- Can add sites and sitemaps, start ownership verification and recrawl, including deletion via the generic raw_request
- The obtained OAuth token grants access to all sites in the Yandex account for a year without re-login
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/yandeks-vebmaster-mcpDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal
claude mcp add --transport stdio --env 'YANDEX_OAUTH_TOKEN=<your YANDEX_OAUTH_TOKEN>' mcp-yandex-webmaster -- npx -y mcp-yandex-webmaster@1.1.1Or add to the file .mcp.json, in the project
{
"mcpServers": {
"mcp-yandex-webmaster": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"mcp-yandex-webmaster": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Run in a terminal
code --add-mcp '{"name":"mcp-yandex-webmaster","type":"stdio","command":"npx","args":["-y","mcp-yandex-webmaster@1.1.1"],"env":{"YANDEX_OAUTH_TOKEN":"<your YANDEX_OAUTH_TOKEN>"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"mcp-yandex-webmaster": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
codex mcp add mcp-yandex-webmaster --env 'YANDEX_OAUTH_TOKEN=<your YANDEX_OAUTH_TOKEN>' -- npx -y mcp-yandex-webmaster@1.1.1Or add to the file ~/.codex/config.toml, for all projects
[mcp_servers.mcp-yandex-webmaster]
command = "npx"
args = ["-y", "mcp-yandex-webmaster@1.1.1"]
env = { YANDEX_OAUTH_TOKEN = "<your YANDEX_OAUTH_TOKEN>" }If the file already exists, append the block to the end.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"mcp-yandex-webmaster": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"mcp-yandex-webmaster": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"mcp-yandex-webmaster": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"mcp-yandex-webmaster": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"mcp-yandex-webmaster": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"environment": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"mcp-yandex-webmaster": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .codeassistant/mcp.json, in the project
{
"mcpServers": {
"mcp-yandex-webmaster": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-webmaster@1.1.1"
],
"env": {
"YANDEX_OAUTH_TOKEN": "<your YANDEX_OAUTH_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
YANDEX_OAUTH_TOKENsecret, required- Yandex OAuth token with Webmaster access, sent as `Authorization: OAuth <token>`. Treat it as a secret.
YANDEX_USER_IDoptional- Token owner's user id; auto-detected via GET /v4/user when unset.
YANDEX_WEBMASTER_HOST_IDoptional- Default host_id (e.g. https:example.com:443) used when a tool call omits one.
YANDEX_WEBMASTER_API_BASEoptional- API root override.
YANDEX_WEBMASTER_TIMEOUT_MSoptional- Per-request timeout in milliseconds.
YANDEX_WEBMASTER_MAX_RETRIESoptional- Retries on transient errors (429 — except the daily QUOTA_EXCEEDED; 5xx/network for reads).
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add the server with claude mcp add --transport stdio --scope user yandex-webmaster -- npx -y mcp-yandex-webmaster@latest, then ask the agent to connect Yandex Webmaster and follow the login link.
Other ways from the author
claude mcp add --transport stdio --scope user yandex-webmaster -- npx -y mcp-yandex-webmaster@latestCommand from the README, no token needed: login happens in chat after connecting.
This is third-party code. Review the repository files before installing.
What it does
The server provides 20 tools for the Yandex Webmaster API v4: a site list with ИКС quality scores, diagnostics by severity, search query impressions and clicks broken down by device, indexing history, crawl HTTP errors, sitemaps and external links. Almost every tool is read-only, with a few that can add a site or sitemap, start ownership verification, or queue a page for recrawl. The connection happens right in chat: the agent opens Yandex's login page, the user sends back a one-time code that gets exchanged for a token via PKCE inside the running server, with no config editing or pre-created token.
Who it is for. For SEO specialists and site owners who want quick conversational access to Yandex Webmaster data without manually configuring a token.
Good fit when
- You want to connect without pre-creating an OAuth app and token
- You need to review diagnostics, impressions, clicks and positions in natural language
- You need to check a sitemap, queue a recrawl or add a new site
Not a fit when
- You need Metrika, Wordstat or ad-account data: the server only covers Webmaster's organic search
- You need continuous background monitoring: the server only responds to agent calls
Example request
What critical problems does the diagnostics show for my site right now?Limitations
Diagnostics, queries and indexing require verified site ownership, without it only the site list and verification status are visible. Recrawl is limited by the site's daily quota. Top queries are capped at 3000 rows per week, 500 rows per request. By default the server sends anonymous technical telemetry (disable with ASKADS_TELEMETRY=0), the token and account data are never included.
How to disable. Tell the agent to disconnect Webmaster, or remove the server from your client config; access can also be revoked in Yandex ID.
MCP
- Transport
- stdio
- Authentication
- OAuth
| Environment variables | |
|---|---|
| YANDEX_OAUTH_TOKEN secret | A ready OAuth token for CI, not needed in normal mode: takes priority over the in-chat login |
| YANDEX_WEBMASTER_HOST_ID | The default site, so it does not need to be specified in every request |
| YANDEX_WEBMASTER_OAUTH_CLIENT_ID | Your own OAuth app's ClientID instead of the default app |
Security check
- Can add sites and sitemaps, start ownership verification and recrawl, including deletion via the generic raw_request
- The obtained OAuth token grants access to all sites in the Yandex account for a year without re-login
README in short
The Russian README describes connecting without a pre-created token via in-chat OAuth PKCE, npx-based installation for Codex, Claude Code, Claude Desktop, Cursor and VS Code, a table of which operations change data, environment variables for CI, a telemetry section, and links to detailed tool documentation.
FAQ
Does an OAuth token need to be created in advance?
No, for regular use no token is needed: the connection happens right in chat through a one-time PKCE code, which is safe to paste into the conversation.
What does HOST_NOT_VERIFIED mean?
It means site ownership is not verified in Webmaster, only the site list and verification status are available, everything else needs verification via DNS, an HTML file or a meta tag.
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