{ lib, python3Packages, fetchFromGitHub, fetchurl, }: let # Upstream 0.7.0 was ported to the MCP SDK 2.x API # (`mcp.server.mcpserver.MCPServer`). nixpkgs pins the SDK at 1.x, so use the # per-package 2.x stack from packages/lib/mcp2.nix. mcp2 = import ../lib/mcp2.nix { inherit lib fetchurl; pythonPackages = python3Packages; }; in python3Packages.buildPythonApplication rec { pname = "duckduckgo-mcp-server"; version = "0.7.0"; pyproject = true; src = fetchFromGitHub { owner = "nickclyde"; repo = "duckduckgo-mcp-server"; rev = "v${version}"; hash = "sha256-wI6Q4lBZYzU4VORLwGZowv8D5UfhKaMeqBIQ7u6eRxc="; }; build-system = [ python3Packages.hatchling ]; dependencies = with python3Packages; [ beautifulsoup4 httpx httpcore mcp2.mcp ]; doCheck = false; dontCheckRuntimeDeps = true; 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; }; }