Repolode
nickclyde

nickclyde/duckduckgo-mcp-server

An MCP server that gives AI assistants DuckDuckGo web search plus webpage content fetching and parsing.

Stars
1,550
Forks
195
Open issues
7
Last commit
2 months ago

What is it?

This is a Model Context Protocol (MCP) server that lets AI assistants such as Claude Desktop and Claude Code run DuckDuckGo web searches and read the content of web pages. It exposes a search tool that returns titles, URLs and snippets, and a fetch_content tool that downloads a page and extracts its readable text, with pagination for long pages.

The server is aimed at giving language models current web information in a compact form. Long result URLs are replaced with short ref:// tokens that can be passed back to fetch_content or expanded on demand, which saves context. Fetching supports text, main-content and markdown extraction modes, and an optional browser-impersonation backend (curl_cffi) for sites that block the default httpx client.

Operators can configure SafeSearch level, default region, rate limits, and an in-memory page cache through environment variables or CLI flags. By default fetch_content blocks requests to private and loopback addresses, and it supports stdio, SSE and streamable HTTP transports.

Key features

  • 01Searches DuckDuckGo with configurable SafeSearch level and default region.
  • 02Fetches webpages and extracts readable text with start_index pagination.
  • 03Offers text, main-content and markdown parse modes.
  • 04Replaces long URLs with short ref:// tokens to save context.
  • 05Includes rate limiting, a TTL page cache and retry handling for HTTP 429.
  • 06Supports an optional curl_cffi backend for sites that block plain HTTP clients.
  • 07Blocks private and loopback addresses in fetch_content by default.

Use cases

  • Giving Claude Desktop or Claude Code live web search results.
  • Letting an AI agent read the text of articles or documentation pages found through search.
  • Running a shared search and fetch service over HTTP for other MCP clients inside a private network.

Quick start

  1. 1

    Run the server with uvx

    uvx duckduckgo-mcp-server
  2. 2

    Or install from PyPI with uv

    uv pip install duckduckgo-mcp-server

Things to know

  • Search can return empty results if DuckDuckGo blocks the default httpx client, so the optional [browser] extra is recommended.

In collections

Topics

FAQ

What is duckduckgo-mcp-server?
An MCP server that gives AI assistants DuckDuckGo web search plus webpage content fetching and parsing. This is a Model Context Protocol (MCP) server that lets AI assistants such as Claude Desktop and Claude Code run DuckDuckGo web searches and read the content of web pages. It exposes a search tool that returns titles, URLs and snippets, and a fetch_content tool that downloads a page and extracts its readable text, with pagination for long pages.
Is duckduckgo-mcp-server free to use? What license does it have?
duckduckgo-mcp-server is open source under the MIT license. Check the license terms before using it in commercial products.
Is duckduckgo-mcp-server still maintained?
Updated within 6 months. The last commit to duckduckgo-mcp-server was on Sep 4, 2026.
What can I use duckduckgo-mcp-server for?
Giving Claude Desktop or Claude Code live web search results. Letting an AI agent read the text of articles or documentation pages found through search. Running a shared search and fetch service over HTTP for other MCP clients inside a private network.
How do I install duckduckgo-mcp-server?
Run the server with uvx: uvx duckduckgo-mcp-server Or install from PyPI with uv: uv pip install duckduckgo-mcp-server
Where can I get duckduckgo-mcp-server?
The source code and installation instructions are on GitHub: https://github.com/nickclyde/duckduckgo-mcp-server

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects