About DuckDuckGo Web Search MCP Server
An MCP server for searching the web with DuckDuckGo and optionally fetching and summarizing pages. It offers concurrent URL fetching and configurable result limits for MCP clients.
Key features
- 01DuckDuckGo web search
- 02Search result titles, URLs, and snippets
- 03Optional page fetching and Markdown conversion
- 04Concurrent fetching of multiple URLs
- 05Configurable result limit and error handling
Use cases
- 01Search the web from an MCP client
- 02Fetch and summarize pages found in search results
- 03Retrieve Markdown content from a specific URL
MCP support
Exposes `search_and_fetch` and `fetch` tools to MCP clients. `search_and_fetch` searches and fetches matching URLs; `fetch` retrieves a specified URL.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx 'git+https://github.com/kouui/web-search-duckduckgo.git@main'Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDuckDuckGo 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.
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" ] } } } - If you are using Claude Desktop, you can add the server to the
-
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).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.