Get the FREE Ultimate OpenClaw Setup Guide →

duckduckgo

A Model Context Protocol (MCP) server that provides two capabilities: Search the web using DuckDuckGo Fetch and convert web content using Jina Reader

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio cyranob-duckduckgo-mcp uvx --python >=3.10,<3.14 web-forager serve

How to use

Web Forager is an MCP server that exposes web search and fetch capabilities powered by DuckDuckGo, packaged as a reusable MCP toolset. It provides three primary tools for MCP clients: duckduckgo_search to perform web searches and return results (JSON by default, with an option for plain text), duckduckgo_news_search to fetch recent news articles with source attribution, and web_fetch to retrieve and convert a URL into markdown or JSON (with a direct HTTP fetch attempt first and a Jina Reader fallback if needed). These tools enable integrated knowledge retrieval and content processing within MCP-enabled agents and workflows. To use the server, run it via an MCP client using the configured stdio transport; then call the exposed tools from your client code to perform searches, retrieve news, or fetch and format web pages for downstream processing by your AI models.

How to install

Prerequisites:

  • Python 3.10 or higher
  • uv (recommended) or pip

Install from PyPI (recommended):

# Using uv (preferred)
uv pip install web-forager

# Or using pip
pip install web-forager

Install with UVX (for Claude Desktop):

# Install UVX if you haven't already
pip install uvx

# Install the Web Forager package
uvx install web-forager

Install from source (for development):

# Clone the repository
git clone https://github.com/CyranoB/web-forager.git
cd web-forager

# Install with uv (recommended)
uv pip install -e .

# Or with pip
pip install -e .

Docker deployment (optional):

# Build the image (uses version from latest git tag)
docker build --build-arg VERSION=$(git describe --tags --abbrev=0 | sed 's/^v//') -t web-forager .

# Run the server (MCP clients use STDIO)
docker run -i web-forager

Additional notes

Notes:

  • The MCP server runs in STDIO mode and is designed to be used with MCP clients that support the standard tool interface.
  • You can customize Python versions via the MCP config (e.g., --python constraints in uvx) to ensure compatibility with your environment.
  • The web_fetch tool attempts a direct HTTP fetch first; if that fails or is insufficient, it will fall back to Jina Reader for content extraction.
  • When using Docker, ensure your MCP client can connect to the container's STDIO or adapt the entrypoint as needed for your environment.
  • If you need to adjust output formats, you can pass output_format parameters to the tools (e.g., json, text, markdown) depending on the MCP client capabilities.
  • The server exposes additional internal tools (duckduckgo_search, duckduckgo_news_search, web_fetch) for integration into larger agent workflows.

Related MCP Servers

Sponsor this space

Reach thousands of developers