Yandex search MCP server with offline install
MCP Search Server
A search MCP server on the Yandex Cloud Search API with a monitoring dashboard, Brave fallback and an offline bundle for air-gapped networks
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- The tools only search and read public pages
- fetch_url bypasses some WAF blocks, which should be used responsibly
Install
Manual install
pip install git+https://github.com/in40/mcp-search-server.gitOnline install when internet access is available.
This is third-party code. Review the repository files before installing.
What it does
The server exposes two JSON-RPC 2.0 tools: internet_search built on the Yandex Cloud Search API with a Brave Search API fallback, and fetch_url with a multi-layer fallback chain, requests with Chrome UA headers, an SSL-skip retry, curl to bypass some WAFs, Playwright for JS-heavy pages, and a dedicated path for QRATOR-protected Wikipedia mirrors. Page content is extracted to markdown via trafilatura. A separate web dashboard on port 8091 shows request statistics, a live auto-refreshing log, and per-request detail. For air-gapped networks there are offline bundles: a 21 MB light one with no browser and a 330 MB full one with Playwright and Chromium, including a ready Dockerfile for Astra Linux.
Who it is for. For teams that need Yandex-backed search with monitoring and the ability to deploy the server on an air-gapped network with no internet access.
Good fit when
- You need to deploy on an air-gapped network or on the certified Russian OS Astra Linux
- A live monitoring dashboard for requests and logs matters, not just console output
- You want a Brave fallback when the Yandex Cloud Search API is unavailable
Not a fit when
- You only want stdio with no REST and no dashboard: this is a standalone app with two ports
- You do not want to set up an X-API-Key and an api_keys.json file for authorization
Example request
Find the latest news about changes to taxi legislation and open the full text of the first articleLimitations
The YANDEX_SEARCH_API_KEY and YANDEX_FOLDER_ID variables of a Yandex Cloud service account are required. The full offline bundle weighs 330 MB because of the bundled Chromium. MCP and dashboard authorization go through an X-API-Key header and a local api_keys.json file that you maintain yourself.
How to disable. Stop the mcp-search-server process and remove its address from your MCP client configuration.
MCP
- Transport
- stdio, http
- Authentication
- API key
| Environment variables | |
|---|---|
| YANDEX_SEARCH_API_KEY required, secret | Yandex Cloud key for the Search API |
| YANDEX_FOLDER_ID required | Yandex Cloud folder ID |
| YANDEX_SEARCH_TYPE | SEARCH_TYPE_COM by default, SEARCH_TYPE_RU for Russian results |
| SEARCH_PROVIDER | yandex by default, brave switches to the Brave Search API |
Security check
- The tools only search and read public pages
- fetch_url bypasses some WAF blocks, which should be used responsibly
README in short
The README shows online and offline installs with ready bundles of different sizes, explains the architecture with separate ports for MCP JSON-RPC, the REST API and the dashboard, gives an environment variable table, the X-API-Key authorization scheme, and Dockerfile examples for a standard Debian image and for the certified Astra Linux.
FAQ
Can it be deployed with no internet?
Yes, the releases page has offline bundles with local wheels, a light one with no browser and a full one with Playwright and Chromium.
What if a site blocks the request?
fetch_url tries requests, then a retry without SSL verification, then curl to bypass WAFs, then Playwright for JS-heavy pages, in sequence.
Related
CLI, skill and Python library for browser control: the agent clicks, fills forms and reads pages over CDP
A skill that gathers the last 30 days of discussion on a topic from Reddit, X, YouTube, HN, Polymarket and GitHub into one brief
The Chrome DevTools team's official MCP server: the agent drives a live Chrome, reads network and console, and records performance traces
A fast Rust CLI for agent browser automation: accessibility snapshots with element refs, an MCP server and skills