DDGS multi-category search MCP server
multisearch-mcp
A DDGS-based MCP server with five search tools: text, images, news, video, books
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- The server only reads public search results via the DDGS library
Install
Manual install
uv syncInstall dependencies; for development add uv sync --group dev.
This is third-party code. Review the repository files before installing.
What it does
The server wraps the DDGS (duckduckgo_search) library into five category-based MCP tools: text_search, image_search, news_search, video_search, book_search. Each accepts query plus shared options backend, region, safesearch, page, max_results and returns a normalized results object. There is an optional legacy search tool with a category parameter, enabled via an environment flag, and an optional fetch_content tool for page text. It ships with a production-ready multi-stage Dockerfile with a non-root user and a healthcheck, plus ready configs for VS Code, Cursor and Claude Desktop, both locally and via Docker.
Who it is for. For developers who want a general-purpose DDGS-based MCP search tool covering text, images, news, video and books.
Good fit when
- You want one MCP search server covering all five DDGS categories at once
- You plan a containerized deploy: a production-ready Dockerfile and compose are included
- You want ready configs for VS Code, Cursor and Claude Desktop with no manual wiring
Not a fit when
- You specifically need Yandex search: the code and README have no direct integration with Yandex or any specific engine beyond the DDGS library's pass-through backend parameter
- You need official search-engine APIs with keys and guaranteed rate limits
Example request
Find the five latest news items about the new processor launchLimitations
The server is not tied to a specific search engine: it fully depends on the DDGS library and whichever backends it supports at install time; the code and README do not mention any Russian service directly. Requires Python 3.13+. The legacy search tool and fetch_content are disabled by default and need environment flags.
How to disable. Remove the multisearch-mcp server from your MCP client configuration or stop the Docker container.
MCP
- Transport
- stdio
- Authentication
- not required
| Environment variables | |
|---|---|
| MULTISEARCH_ENABLE_LEGACY_SEARCH | Enables the legacy multiplexed search tool with a category parameter |
| MULTISEARCH_ENABLE_FETCH | Enables the fetch_content tool for retrieving page text |
Security check
- The server only reads public search results via the DDGS library
README in short
The README describes the five DDGS category tools, the shared parameter and error schema, optional legacy mode and fetch_content, detailed instructions for adding the server to VS Code, Cursor and Claude Desktop both locally and via Docker, and the Dockerfile structure with a healthcheck and non-root user.
FAQ
Is there special Yandex support?
No, the README and code do not mention Yandex directly; there is only a pass-through backend parameter forwarded to the DDGS library.
Can it run in Docker?
Yes, a production-ready Dockerfile and docker-compose.yml with a healthcheck and non-root user are included.
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