Skip to main content
Glama
marcinkuk

ddgs-mcp

by marcinkuk

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 git

For local development:

cd ddgs-mcp
uv sync
uv run ddgs-mcp

Related MCP server: DuckDuckGo Search MCP Server

Tools

Tool

Purpose

web_search

General web results (title, url, snippet).

news_search

News results with source + date.

image_search

Image results with direct image/thumbnail URLs.

video_search

Video results with embed URL, duration, publisher.

web_extract

Read full readable content (markdown) of 1-5 URLs.

search_status

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

DDGS_BACKEND

auto

Default backend for search calls.

DDGS_REGION

us-en

Default region code (pl-pl, de-de, wt-wt ...).

DDGS_TIMEOUT

10

Per-request timeout (seconds).

DDGS_PROXY

(unset)

Proxy URL passed to DDGS (e.g. http://127.0.0.1:1080). Useful behind a rotating proxy to avoid bans.

DDGS_MCP_LOG_LEVEL

INFO

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ę mnie symptom).

  • No key / no server: nothing to host; uvx self-heals on container/image upgrades like trailsearch-mcp.

  • Extraction: web_extract gives 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.

A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides keyless, privacy-focused web search through DuckDuckGo and SearxNG via MCP, with token-efficient tool discovery and caching.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for multi-engine web search and web page fetching, supporting parallel search, content extraction, and optional LLM-powered search summarization and deep search.
    2
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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