SerpentSeek search gateway with 39 providers
SerpentSeek
A self-hosted Go search gateway with an MCP search tool: 39 providers, including the official Yandex Search API v2
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
- Requests run under the paid keys of whoever deployed the service, and the cost falls on them
- The admin panel exposes provider keys and the history of every request
Install
Manual install
cp .env.example .env && docker compose up --buildQuick start from the README; the UI comes up at localhost:8080, providers are configured after logging into the admin panel.
This is third-party code. Review the repository files before installing.
What it does
SerpentSeek is a unified gateway for 39 built-in search providers: SearXNG, Brave, Google Vertex AI Search, Yandex, SerpApi, DataForSEO, Exa, Tavily, Kagi, Perplexity and more, with a visual fallback-chain editor between providers. Yandex is wired in as the yandex driver with an api_key and folder_id against the official /v2/web/search endpoint, and the YandexGPT generative answer is available as a separate yandex_gen driver via /v2/gen/search on an answer-type node. The server exposes a single MCP search tool over streamable HTTP with Bearer-token auth, supports an stdio wrapper via mcp-remote for clients without HTTP transport, keeps request history with live SSE tracing, and stores data in SQLite or PostgreSQL. All requests run under the keys of whoever deployed the service and are billed to them.
Who it is for. For teams that want one self-hosted search gateway with fallback between providers, including official Yandex search, serving both Open WebUI and MCP clients.
Good fit when
- You need fallback between several search providers, including Yandex, in one chain
- You need both a /search endpoint for Open WebUI and an MCP tool for Claude, Cursor, VS Code at once
- Request auditing, API keys and WebAuthn passkeys for the admin panel matter to you
Not a fit when
- You only need Yandex without the other 38 providers: a dedicated Yandex Search API MCP server is simpler
- You do not want to deploy and administer a separate service: SerpentSeek is a full application with a database and web panel
Example request
Search Yandex for recent material on the new law and give a short generated answer with linksLimitations
The Yandex Search API is paid; an api_key and Yandex Cloud folder_id must be configured on the Providers page after first start. Passkeys require HTTPS and a domain; over HTTP or a bare IP only API keys are available. SearXNG is not bundled and must be deployed separately under AGPLv3. All provider costs are billed to whoever deployed the service; the project authors are not liable for them.
How to disable. Run docker compose down and remove the serpentseek MCP server from your client.
MCP
- Transport
- http
- Authentication
- API key
| Environment variables | |
|---|---|
| GOOGLE_API_KEY secret | Key for the default google_vertex provider seeded on first start |
| SEARXNG_URL | URL of an external SearXNG instance, if that provider is used |
Security check
- Requests run under the paid keys of whoever deployed the service, and the cost falls on them
- The admin panel exposes provider keys and the history of every request
README in short
The README lists all 39 providers by category (web/SERP, AI search, academic, enterprise, generative answer nodes) with their credential fields, shows a docker compose quick start, Open WebUI and MCP integration, PostgreSQL setup, API-key and passkey authentication, background cleanup jobs, and a risks section about paid providers and who bears the cost.
FAQ
Can several providers be used with fallback?
Yes, the visual chain editor lets you order providers, including several instances of the same driver with different keys.
Does Yandex's generative answer need a separate key?
Yes, the yandex_gen driver uses its own api_key and folder_id on an answer-type node.
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