DuckDuckGo Web Search MCP Server
Enables web search capabilities using the DuckDuckGo search engine, extracting titles, URLs, and snippets from search results with options to fetch and summarize content from found URLs.
Converts fetched web content to markdown format for better readability and processing of search results.
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., "@DuckDuckGo Web Search MCP Server search for recent advancements in quantum computing"
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.
DuckDuckGo Web Search MCP Server
This project provides an MCP (Model Context Protocol) server that allows you to search the web using the DuckDuckGo search engine and optionally fetch and summarize the content of the found URLs.
Features
Web Search: Search the web using DuckDuckGo.
Result Extraction: Extracts titles, URLs, and snippets from search results.
Content Fetching (Optional): Fetches the content of the URLs found in the search results and converts it to markdown format using jina api.
Parallel Fetching: Fetches multiple URLs concurrently for faster processing.
Error Handling: Gracefully handles timeouts and other potential errors during search and fetching.
Configurable: Allows you to set the maximum number of search results to return.
Jina API: using jina api to convert html to markdown.
MCP Compliant: This server is designed to be used with any MCP-compatible client.
Related MCP server: DuckDuckGo MCP Server
Usage
Prerequisites:
uvxpackage manager
Claude Desktop Configuration
If you are using Claude Desktop, you can add the server to the
claude_desktop_config.jsonfile.
{ "mcpServers": { "web-search-duckduckgo": { "command": "uvx", "args": [ "--from", "git+https://github.com/kouui/web-search-duckduckgo.git@main", "main.py" ] } } }the above configuration is not working, you might need to clone the repository to local pc and use the following configuration
{ "mcpServers": { "web-search-duckduckgo": { "command": "uv", "args": [ "--directory", "/path/to/web-search-duckduckgo", "run", "main.py" ] } } }Tool
In your MCP client (e.g., Claude), you can now use the following tools:
search_and_fetch: Search the web and fetch the content of the URLs.query: The search query string.limit: The maximum number of results to return (default: 3, maximum: 10).
fetch: Fetch the content of a specific URL.url: The URL to fetch.
License
This project is licensed under the MIT License. (Add a license file if you want to specify a license).
Available Tools
2 toolsfetchC
scrape the html content and return the markdown format using jina api.
Args:
url: The search query string
Returns:
text : html in markdown format
Inputs: url (required).
search_and_fetchA
Search the web using DuckDuckGo and return results.
Args:
query: The search query string
limit: Maximum number of results to return (default: 3, maximum 10)
Returns:
List of dictionaries containing
- title
- url
- snippet
- summary markdown (empty if not available)
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have distinct primary purposes: 'search_and_fetch' performs web searches and returns results, while 'fetch' scrapes HTML content from a given URL. However, there is some potential for confusion because 'fetch' accepts a 'url' argument but its description mentions 'search query string' (likely a documentation error), which could blur the boundary between searching and fetching.
The tool names follow a consistent verb-based pattern ('fetch' and 'search_and_fetch'), with clear action-oriented naming. The minor deviation is that 'search_and_fetch' uses an 'and' conjunction, but overall the naming is readable and predictable.
With only 2 tools, the server feels thin for a web search and scraping domain. While it covers basic search and fetch operations, more tools (e.g., for advanced search filtering, caching, or handling different content types) would provide better scope. It's borderline but not severely lacking.
The server covers core web search and content fetching workflows, but there are notable gaps. For example, it lacks tools for managing search history, refining queries, handling pagination, or supporting different output formats beyond markdown. Agents can work around these, but the surface is not fully comprehensive.
Maintenance
Related MCP Connectors
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Search the web, fetch any URL and map a site as clean, LLM-ready Markdown.
Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables web searching through DuckDuckGo and fetching content from webpages. Provides search capabilities with configurable result limits and webpage content extraction for AI assistants.-
- AlicenseBqualityDmaintenanceEnables web search through DuckDuckGo and webpage content fetching with intelligent text extraction. Features built-in rate limiting and LLM-optimized result formatting for seamless integration with language models.2MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform real-time web searches, fetch webpage content, and get search suggestions using DuckDuckGo's privacy-focused search engine.-
- AlicenseNot gradedqualityDmaintenanceEnables web searching through Google, DuckDuckGo, and Bing using a headless Chrome browser, returning structured results with titles, URLs, and snippets. Also supports fetching and extracting text content from any webpage.16MIT