Yandex Search API v2 MCP server

yandex-search-mcp

A self-hosted MCP for Yandex Search API v2: web, image and generative search across all six Yandex indexes

MCP server

Low risk

We rate an entry low when it mostly gives the agent instructions and reference material.

Why this level

  • All three tools only read public search results via the official API
All reasons and checks
Russian stack

oleg-cat/yandex-search-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/oleg-cat-yandex-search-mcp

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

Assembled automatically, review before installing.

Run in a terminal

claude mcp add --transport stdio --env 'YANDEX_SEARCH_API_KEY=<your YANDEX_SEARCH_API_KEY>' --env 'YANDEX_FOLDER_ID=<your YANDEX_FOLDER_ID>' --env YANDEX_MCP_DEFAULT_SEARCH_TYPE=ru --env YANDEX_MCP_TIMEOUT_WEB=15 --env YANDEX_MCP_TIMEOUT_GEN=120 --env YANDEX_MCP_LOG_LEVEL=INFO --env YANDEX_MCP_TRANSPORT=stdio --env YANDEX_MCP_HOST=127.0.0.1 --env YANDEX_MCP_PORT=8000 yandex-search-mcp -- uvx yandex-search-mcp

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "yandex-search-mcp": {
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

YANDEX_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Install in Cursor

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": {
    "yandex-search-mcp": {
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

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_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Install in VS Code

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":"yandex-search-mcp","type":"stdio","command":"uvx","args":["yandex-search-mcp"],"env":{"YANDEX_SEARCH_API_KEY":"<your YANDEX_SEARCH_API_KEY>","YANDEX_FOLDER_ID":"<your YANDEX_FOLDER_ID>","YANDEX_MCP_DEFAULT_SEARCH_TYPE":"ru","YANDEX_MCP_TIMEOUT_WEB":"15","YANDEX_MCP_TIMEOUT_GEN":"120","YANDEX_MCP_LOG_LEVEL":"INFO","YANDEX_MCP_TRANSPORT":"stdio","YANDEX_MCP_HOST":"127.0.0.1","YANDEX_MCP_PORT":"8000"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "yandex-search-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

YANDEX_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

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 yandex-search-mcp --env 'YANDEX_SEARCH_API_KEY=<your YANDEX_SEARCH_API_KEY>' --env 'YANDEX_FOLDER_ID=<your YANDEX_FOLDER_ID>' --env YANDEX_MCP_DEFAULT_SEARCH_TYPE=ru --env YANDEX_MCP_TIMEOUT_WEB=15 --env YANDEX_MCP_TIMEOUT_GEN=120 --env YANDEX_MCP_LOG_LEVEL=INFO --env YANDEX_MCP_TRANSPORT=stdio --env YANDEX_MCP_HOST=127.0.0.1 --env YANDEX_MCP_PORT=8000 -- uvx yandex-search-mcp

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.yandex-search-mcp]
command = "uvx"
args = ["yandex-search-mcp"]
env = { YANDEX_SEARCH_API_KEY = "<your YANDEX_SEARCH_API_KEY>", YANDEX_FOLDER_ID = "<your YANDEX_FOLDER_ID>", YANDEX_MCP_DEFAULT_SEARCH_TYPE = "ru", YANDEX_MCP_TIMEOUT_WEB = "15", YANDEX_MCP_TIMEOUT_GEN = "120", YANDEX_MCP_LOG_LEVEL = "INFO", YANDEX_MCP_TRANSPORT = "stdio", YANDEX_MCP_HOST = "127.0.0.1", YANDEX_MCP_PORT = "8000" }

If the file already exists, append the block to the end.

Keys and settings

YANDEX_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

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

gemini mcp add -s user -e 'YANDEX_SEARCH_API_KEY=<your YANDEX_SEARCH_API_KEY>' -e 'YANDEX_FOLDER_ID=<your YANDEX_FOLDER_ID>' -e YANDEX_MCP_DEFAULT_SEARCH_TYPE=ru -e YANDEX_MCP_TIMEOUT_WEB=15 -e YANDEX_MCP_TIMEOUT_GEN=120 -e YANDEX_MCP_LOG_LEVEL=INFO -e YANDEX_MCP_TRANSPORT=stdio -e YANDEX_MCP_HOST=127.0.0.1 -e YANDEX_MCP_PORT=8000 yandex-search-mcp uvx yandex-search-mcp

Or add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "yandex-search-mcp": {
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

YANDEX_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

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": {
    "yandex-search-mcp": {
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

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_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

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": {
    "yandex-search-mcp": {
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

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_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

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": {
    "yandex-search-mcp": {
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

YANDEX_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

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": {
    "yandex-search-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "yandex-search-mcp"
      ],
      "environment": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

YANDEX_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

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": {
    "yandex-search-mcp": {
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

YANDEX_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

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": {
    "yandex-search-mcp": {
      "command": "uvx",
      "args": [
        "yandex-search-mcp"
      ],
      "env": {
        "YANDEX_SEARCH_API_KEY": "<your YANDEX_SEARCH_API_KEY>",
        "YANDEX_FOLDER_ID": "<your YANDEX_FOLDER_ID>",
        "YANDEX_MCP_DEFAULT_SEARCH_TYPE": "ru",
        "YANDEX_MCP_TIMEOUT_WEB": "15",
        "YANDEX_MCP_TIMEOUT_GEN": "120",
        "YANDEX_MCP_LOG_LEVEL": "INFO",
        "YANDEX_MCP_TRANSPORT": "stdio",
        "YANDEX_MCP_HOST": "127.0.0.1",
        "YANDEX_MCP_PORT": "8000"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

YANDEX_SEARCH_API_KEYsecret, required
Api-Key (scope yc.search-api.execute)
YANDEX_FOLDER_IDsecret, required
Folder ID (role search-api.editor)
YANDEX_SEARCH_API_KEY_FILEsecret, optional
Alternative: path to a file with the key (Docker/K8s secrets)
YANDEX_MCP_ENABLED_TOOLSoptional
Tool whitelist, space- or comma-separated, e.g. "yandex_web_search"
YANDEX_MCP_DISABLED_TOOLSoptional
Tool blacklist, applied after the whitelist, e.g. "yandex_gen_search"
YANDEX_MCP_DEFAULT_REGIONoptional
Default geo-id (225 = Russia, 213 = Moscow)

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: uv

Checked against the repository on Sep 26, 2026, commit 4315ed7.

Text for your agent

Clone oleg-cat/yandex-search-mcp, install dependencies via venv and pip install -e ., get an API key and Folder ID in Yandex Cloud, then connect with claude mcp add yandex-search -e YANDEX_SEARCH_API_KEY=key -e YANDEX_FOLDER_ID=folder -- /absolute/path/.venv/bin/python -m yandex_search_mcp.

Other ways from the author
claude mcp add yandex-search -e YANDEX_SEARCH_API_KEY=<key> -e YANDEX_FOLDER_ID=<folder> -- /abs/path/to/yandex-search-mcp/.venv/bin/python -m yandex_search_mcp

Command from the README, uses the absolute path to the venv python.

This is third-party code. Review the repository files before installing.

What it does

A Python server provides three typed tools: yandex_web_search for classic web search with site, host, date operators and minus words, yandex_image_search with format, size, orientation and color filters, and yandex_gen_search for one AI-synthesized answer with cited sources. All six Yandex indexes are supported: ru, com, tr, kk, be, uz. The author wrote the server from scratch to replace the official yandex/yandex-search-mcp-server, calling it a Turkish-market demo with fragile XML parsing and a json.loads hack on generative search. Here XML is parsed with defusedxml against live API fixtures, there are retries with exponential backoff on 429 and 5xx, a unified error contract, and tests confirm the API key never leaks into logs.

Who it is for. For developers who want reliable, typed access to Yandex search, including an AI answer with sources, from Claude Code, Codex or opencode.

Good fit when

  • You need the official Yandex Search API v2, not SERP scraping
  • You need generative search with explicit source citations, not just a document list
  • You work with Russian-language search and need all six Yandex indexes

Not a fit when

  • You lack a Yandex Cloud service account: without the API key and Folder ID the server will not start
  • You need instant generative search answers: the quota is 1 request per second, and responses take tens of seconds

Example request

Find recent news about the taxi law over the last two weeks and give a short answer with source citations

Limitations

The package is not published to PyPI; install by cloning and pip install -e. Default quotas are 10 RPS and 10,000 per hour for web and image search, 1 RPS and 1,000 per hour for generative search; the server does not work around them, it only retries on 429 and 5xx. A Yandex Cloud service-account key with yc.search-api.execute scope and the search-api.editor role is required.

How to disable. Remove the server with claude mcp remove yandex-search or codex mcp remove yandex-search, or delete the entry from your config.

MCP

Transport
stdio
Authentication
API key
Environment variables
Environment variables
YANDEX_SEARCH_API_KEY
required, secret
Yandex Cloud service-account Api-Key with yc.search-api.execute scope
YANDEX_FOLDER_ID
required
Yandex Cloud folder ID with the search-api.editor role
YANDEX_MCP_ENABLED_TOOLS
Space-separated allowlist of enabled tools, defaults to all

Security check

  • All three tools only read public search results via the official API

README in short

The README explains in detail the differences from the official Yandex server, covers getting an API key and Folder ID in Yandex Cloud, venv install, configs for Claude Code, Codex CLI, opencode and Docker, full parameter tables for all three tools, a quota table, and a troubleshooting section for common auth and limit errors.

FAQ

How is this better than the official Yandex server?

The author points to the official server's tr/en-only regions, fragile regex-based XML parsing, and a nonexistent dependency pin; this one is tested against live fixtures and supports all 6 indexes.

Why is generative search so slow?

The quota is 1 request per second, and the answer itself takes tens of seconds to generate; the default timeout is 120 seconds.

Editors’ pick

CLI, skill and Python library for browser control: the agent clicks, fills forms and reads pages over CDP

CLIHigh risk116.6KRepository stars
Editors’ pick

A skill that gathers the last 30 days of discussion on a topic from Reddit, X, YouTube, HN, Polymarket and GitHub into one brief

SkillHigh risk63.1KRepository stars
Official

The Chrome DevTools team's official MCP server: the agent drives a live Chrome, reads network and console, and records performance traces

MCP serverMedium risk52.7KRepository stars
Official

A fast Rust CLI for agent browser automation: accessibility snapshots with element refs, an MCP server and skills

CLIHigh risk43.3KRepository stars
Foxx AIYandex Search API v2 MCP server

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.