From 734bf103018687943a63d301b569dc3b3d6bf7fe Mon Sep 17 00:00:00 2001 From: MCP Packages Date: Thu, 5 Feb 2026 17:06:01 +0100 Subject: [PATCH] ducduckgo-mcp-server --- README.md | 1 + opencode.json | 7 +++- packages/default.nix | 1 + packages/duckduckgo-mcp-server/package.nix | 38 ++++++++++++++++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 packages/duckduckgo-mcp-server/package.nix diff --git a/README.md b/README.md index d949760..da2efb9 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ This repository provides Nix derivations for MCP (Model Context Protocol) server | Package | Description | Language | |---------------------------------|------------------------------------------------------------------|------------| | academic-search-mcp-server | Search academic papers via Semantic Scholar and Crossref | Python | +| duckduckgo-mcp-server | Web search and content fetching via DuckDuckGo | Python | | kindly-web-search-mcp-server | Web search + content retrieval via Serper, Tavily, or SearXNG | Python | | manim-mcp-server | Execute Manim animation code and return videos | Python | | pdf-reader-mcp | Production‑ready PDF processing with parallel processing | TypeScript | diff --git a/opencode.json b/opencode.json index 929f905..fbac4c0 100644 --- a/opencode.json +++ b/opencode.json @@ -29,7 +29,7 @@ "kindly-web-search": { "type": "local", "command": ["kindly-web-search-mcp-server", "start-mcp-server"], - "enabled": true, + "enabled": false, "environment": { "SEARXNG_BASE_URL": "https://search.bueso.eu" } @@ -41,6 +41,11 @@ "environment": { "RUST_LOG": "info" } + }, + "duckduckgo": { + "type": "local", + "command": ["duckduckgo-mcp-server"], + "enabled": true } } } diff --git a/packages/default.nix b/packages/default.nix index 0e3ca2f..1779c90 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -17,5 +17,6 @@ pdf-reader-mcp = pkgs.callPackage ./pdf-reader-mcp/package.nix { }; kindly-web-search-mcp-server = pkgs.callPackage ./kindly-web-search-mcp-server/package.nix { }; rust-research-mcp = pkgs.callPackage ./rust-research-mcp/package.nix { }; + duckduckgo-mcp-server = pkgs.callPackage ./duckduckgo-mcp-server/package.nix { }; # example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { }; } diff --git a/packages/duckduckgo-mcp-server/package.nix b/packages/duckduckgo-mcp-server/package.nix new file mode 100644 index 0000000..9cd3f79 --- /dev/null +++ b/packages/duckduckgo-mcp-server/package.nix @@ -0,0 +1,38 @@ +{ + lib, + python3Packages, + fetchFromGitHub, +}: + +python3Packages.buildPythonApplication rec { + pname = "duckduckgo-mcp-server"; + version = "0.1.1-unstable"; + pyproject = true; + + src = fetchFromGitHub { + owner = "nickclyde"; + repo = "duckduckgo-mcp-server"; + rev = "d198a2f0e8bd7c862d87d8517e1518aa295f8348"; + hash = "sha256-aoWU5AVErAt73V+BgveEmVnjNh/cteS+A9AIFLylOsw="; + }; + + build-system = [ python3Packages.hatchling ]; + + dependencies = with python3Packages; [ + beautifulsoup4 + httpx + mcp + ]; + + doCheck = false; + + pythonImportsCheck = [ "duckduckgo_mcp_server" ]; + + meta = with lib; { + description = "MCP server providing web search via DuckDuckGo"; + homepage = "https://github.com/nickclyde/duckduckgo-mcp-server"; + license = licenses.mit; + mainProgram = "duckduckgo-mcp-server"; + platforms = platforms.all; + }; +}