ddgs-mcp
Provides web, news, image, and video search using Brave as one of the available metasearch backends, with support for region and time filters.
Provides web, news, image, and video search using DuckDuckGo as one of the available metasearch backends, with support for region and time filters.
Provides web, news, image, and video search using Google as one of the available metasearch backends, with support for region and time filters.
Provides web search using Mojeek as one of the available metasearch backends, with support for region and time filters.
Provides web search using Startpage as one of the available metasearch backends, with support for region and time filters.
Includes Wikipedia as one of the available sources in the metasearch backend pool, contributing results to the aggregated search responses.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ddgs-mcpsearch the web for sustainable packaging innovations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ddgs-mcp
A Model Context Protocol (MCP) server that exposes DDGS (Dux Distributed Global Search) — a keyless, multi-engine web metasearch — to AI agents.
It is a drop-in, more reliable alternative to a single SearXNG instance: instead of one upstream that gets IP-banned and poisons every query, DDGS fans each call out over several backends (DuckDuckGo, Bing, Brave, Google, Mojeek, Startpage, Yahoo, Wikipedia, ...) and deduplicates the union. If one engine rate-limits you, the others still answer.
No API key. No account. Runs over stdio via uvx, matching the other MCP servers in this stack.
Install / run
uvx ddgs-mcp # from PyPI (once published)
uvx --from git+https://github.com/marcinkuk/ddgs-mcp.git ddgs-mcp # direct from gitFor local development:
cd ddgs-mcp
uv sync
uv run ddgs-mcpRelated MCP server: DuckDuckGo Search MCP Server
Tools
Tool | Purpose |
| General web results (title, url, snippet). |
| News results with source + date. |
| Image results with direct image/thumbnail URLs. |
| Video results with embed URL, duration, publisher. |
| Read full readable content (markdown) of 1-5 URLs. |
| Diagnostics: version, configured backend/region, per-category backends, live ping. |
Each search tool accepts backend="auto" (randomized multi-engine, the default and most resilient) or a specific backend name, plus region, timelimit (d/w/m/y) and max_results.
All tools return a uniform envelope {"ok": bool, "engine": str, "count": int, "results": [...]}; on failure ok=false with a hint telling the agent how to retry (e.g. switch to auto or a different region).
Configuration (environment)
Variable | Default | Meaning |
|
| Default backend for search calls. |
|
| Default region code ( |
|
| Per-request timeout (seconds). |
| (unset) | Proxy URL passed to DDGS (e.g. |
|
| Server log verbosity. |
Agent Canvas registration
Register with a stdio MCP entry (no secrets required):
{
"ddgs": {
"transport": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/marcinkuk/ddgs-mcp.git", "ddgs-mcp"],
"enabled": true,
"description": "Keyless DDGS metasearch (DuckDuckGo/Bing/Brave/Google) + page extraction. Resilient SearXNG alternative."
}
}If you want ban-resistance, add an env entry for a rotating proxy:
"env": {"DDGS_PROXY": "http://127.0.0.1:1080"}The value is stored through the normal MCP config path (Fernet-encrypted at rest like the other secrets) — never commit it to this repo.
Why this over SearXNG?
Resilience: multi-backend aggregation survives single-engine bans (your exact
banuję mniesymptom).No key / no server: nothing to host;
uvxself-heals on container/image upgrades liketrailsearch-mcp.Extraction:
web_extractgives clean markdown of a page in one call.
Keep searxng registered alongside it if you like; the two can coexist and you can pick per query.
License
MIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to perform multi-engine web search, fetch web pages, and extract clean Markdown content via MCP, with no API keys required.35MIT
- FlicenseNot gradedqualityCmaintenanceBrings DuckDuckGo search (web, news, images, videos) to any MCP-compatible AI client without requiring an API key.
- AlicenseNot gradedqualityBmaintenanceProvides keyless, privacy-focused web search through DuckDuckGo and SearxNG via MCP, with token-efficient tool discovery and caching.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for multi-engine web search and web page fetching, supporting parallel search, content extraction, and optional LLM-powered search summarization and deep search.2MIT
Related MCP Connectors
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
Web search for AI agents — one tool across 6 engines, routed to the cheapest + cached.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marcinkuk/ddgs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server