mcp-ddgs
Provides web search, news search, and image search via DuckDuckGo, returning titles, URLs, snippets, and image URLs.
Click on "Deploy 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., "@mcp-ddgssearch the web for the latest breakthroughs in AI"
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.
🦆 mcp-ddgs
Serveur MCP pour la recherche web via DuckDuckGo — gratuit, anonyme, sans clé API.
Donne aux agents IA (Goose, Claude Desktop, Cursor, Continue, etc.) la capacité de chercher sur le web en temps réel et d'extraire le contenu propre d'une page (sans publicités ni navigation).
Outils
Outil | Description |
| Recherche web classique — titre, URL, extrait |
| Actualités récentes |
| Recherche d'images — URLs + descriptions |
| Texte éditorial principal (articles, blogs, actualités) — sans données produit/prix |
| Tout le texte visible + données structurées (prix/produit) — pages produit/e-commerce, et en cas de doute |
Related MCP server: Web Search MCP Server
Installation rapide
Goose
# ~/.config/goose/config.yaml
extensions:
ddgs:
enabled: true
type: stdio
name: DDGS
description: Recherche web DuckDuckGo
cmd: uvx
args:
- --from
- git+https://github.com/Llamatron2112/mcp-ddgs.git
- mcp-ddgs
timeout: 300Claude Desktop
{
"mcpServers": {
"ddgs": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Llamatron2112/mcp-ddgs.git", "mcp-ddgs"]
}
}
}Développement local
git clone https://github.com/Llamatron2112/mcp-ddgs.git
cd mcp-ddgs
uv sync
uv run mcp-ddgsLicence
MIT
Available Tools
3 toolsddgs_image_searchA
Recherche d'images via DuckDuckGo. Retourne les URLs et descriptions des images trouvées.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | La requête de recherche d'images | |
| max_results | No | Nombre maximum de résultats (défaut: 10, max: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals that the tool returns URLs and descriptions, which is useful, but it does not mention any side effects, authentication requirements, rate limits, or network behavior. For a read-only search tool, this is acceptable but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, directly front-loaded with the tool's action, and contains no filler or redundant information. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool, the description and schema cover the essentials: what it does and the parameters. The output schema is absent, but the description explains the return type. It could be slightly more complete by noting that it makes network calls or that results are not filtered, but it is sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific details beyond what the schema already provides. It simply restates the overall purpose, so no extra semantic value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs image search via DuckDuckGo and specifies the output (URLs and descriptions). The resource ('images') distinguishes it from sibling text and news search tools, so it meets the bar for specific verb+resource and differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for image searches but does not explicitly mention alternatives or exclusion criteria. It would benefit from noting that this is for images only, while text and news searches are handled by sibling tools, but the context is inferable from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ddgs_news_searchA
Recherche d'actualités via DuckDuckGo. Retourne les articles récents correspondant à la requête.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | La requête (ex: 'intelligence artificielle 2026') | |
| max_results | No | Nombre maximum de résultats (défaut: 10, max: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool returns recent articles, which implies a read-only search behavior. Yet it does not mention result count limits, potential errors, or whether it uses any filtering beyond the query, leaving some behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the purpose and result type. There is no redundant text or unnecessary detail, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool without an output schema, the description provides sufficient context: it names the source, the query concept, and the output (recent articles). It could have explicitly differentiated from sibling tools, but the core usage is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 100% of parameters, including query and max_results with defaults and examples. The description adds minimal semantic value beyond the schema, only reinforcing that the query targets news articles and that results are recent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs a news search via DuckDuckGo and returns recent articles. This specific resource ('actualités') distinguishes it from sibling tools like ddgs_text_search and ddgs_image_search, with an explicit result type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the term 'actualités' (news), indicating this is the tool for news-related queries. However, it does not explicitly state when to use it over ddgs_text_search or ddgs_image_search, nor provide exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ddgs_text_searchA
Recherche web texte via DuckDuckGo. Retourne titre, URL et extrait pour chaque résultat.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | La requête de recherche (ex: 'Python MCP protocol') | |
| max_results | No | Nombre maximum de résultats (défaut: 10, max: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It states this is a search operation and describes the return format, implying a read-only action. However, it does not mention rate limits, failure modes, or any other caveats that could affect an agent's expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that clearly states the purpose and output. Every word is useful, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool with full schema coverage and no output schema, the description adequately explains the return values (title, URL, snippet). It is complete for most practical purposes, though it could optionally mention result limits or error behavior, but these are not essential given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of parameters, so the description does not need to add parameter details. The description focuses on output rather than parameters, which is acceptable given the high schema coverage, but it adds no extra semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Recherche' (search), the resource (web text via DuckDuckGo), and the expected output (title, URL, snippet). This distinguishes it from sibling tools like ddgs_news_search and ddgs_image_search by explicitly stating 'texte'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates this is for web text search, which gives clear context for when to use it. It does not explicitly mention exclusions or alternatives, but the sibling tool names provide enough context to differentiate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
ddgs_image_search - First observed
ddgs_news_search - First observed
ddgs_text_search
TDQS
Scored across 3 tools
Each tool targets a distinct content type (text, news, images) with clear descriptions, so there is no ambiguity about which to use for a given search need.
All tools follow the same ddgs_<type>_search pattern, making the naming predictable and consistent across the set.
Three tools exactly cover the core search capabilities (web, news, images) for a DuckDuckGo server without unnecessary bloat or gaps.
The server covers the primary search types, though video or shopping search are absent; these are minor gaps for a typical search toolkit.
Maintenance
Related MCP Connectors
Docs: https://docs.keenable.ai/mcp-server Keenable is a free, remote MCP server that gives agents access to the web index. Search the web with ranked results and date/site filters, then fetch any indexed page as clean markdown. Works out of the box with no account or API key.
Scrape, crawl and search the web for AI agents via MCP.
Serper MCP — wraps the Serper Google Search API (serper.dev)
Related MCP Servers
- AlicenseAqualityAmaintenanceA privacy-friendly MCP server that enables web searches and URL content extraction using DuckDuckGo, allowing AI assistants to access real-time web information without API keys.156142Apache 2.0
- FlicenseNot gradedqualityDmaintenanceThis MCP server provides tools for AI agents to search the web, fetch page content, and query specific elements from pages using DuckDuckGo.7-
- AlicenseNot gradedqualityDmaintenanceMCP server for internet search via direct Google and DuckDuckGo HTML scraping with AI-powered result normalization and optional summarization, requiring no API keys for search.MIT
- AlicenseAqualityDmaintenanceMCP server that enables web search, image search, and image download using DuckDuckGo.43MIT