kindly-web-search-mcp-server

This commit is contained in:
MCP Packages
2026-02-05 10:24:58 +01:00
parent 2cb64f3dea
commit 6cc378bb0a
3 changed files with 117 additions and 0 deletions

View File

@@ -15,5 +15,6 @@
academic-search-mcp-server = pkgs.callPackage ./academic-search-mcp-server/package.nix { }; academic-search-mcp-server = pkgs.callPackage ./academic-search-mcp-server/package.nix { };
zotero-mcp = pkgs.callPackage ./zotero-mcp/package.nix { }; zotero-mcp = pkgs.callPackage ./zotero-mcp/package.nix { };
pdf-reader-mcp = pkgs.callPackage ./pdf-reader-mcp/package.nix { }; pdf-reader-mcp = pkgs.callPackage ./pdf-reader-mcp/package.nix { };
kindly-web-search-mcp-server = pkgs.callPackage ./kindly-web-search-mcp-server/package.nix { };
# example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { }; # example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { };
} }

View File

@@ -0,0 +1,116 @@
{
lib,
python313Packages,
fetchFromGitHub,
fetchPypi,
makeWrapper,
chromium,
}:
let
# Inline dependency: markdownify (not in nixpkgs)
# Converts HTML to Markdown
markdownify = python313Packages.buildPythonPackage rec {
pname = "markdownify";
version = "1.2.2";
format = "wheel";
src = fetchPypi {
inherit pname version;
format = "wheel";
dist = "py3";
python = "py3";
hash = "sha256-PwLTzFJxQITW5Yn3A5e2/J8vOoUxSBvzXozDn5deGGo=";
};
propagatedBuildInputs = with python313Packages; [
beautifulsoup4
six
];
doCheck = false;
pythonImportsCheck = [ "markdownify" ];
meta = with lib; {
description = "Convert HTML to Markdown";
homepage = "https://github.com/matthewwithanm/python-markdownify";
license = licenses.mit;
};
};
# Inline dependency: nodriver (not in nixpkgs)
# Headless browser automation without webdriver
nodriver = python313Packages.buildPythonPackage rec {
pname = "nodriver";
version = "0.48.1";
format = "wheel";
src = fetchPypi {
inherit pname version;
format = "wheel";
dist = "py3";
python = "py3";
hash = "sha256-2UtJ/WyoMf0lRt7h452Fuqlg9SU29G4dx+jcs46Ngro=";
};
propagatedBuildInputs = with python313Packages; [
mss
websockets
deprecated
];
doCheck = false;
pythonImportsCheck = [ "nodriver" ];
meta = with lib; {
description = "Web automation without webdriver";
homepage = "https://github.com/ultrafunkamsterdam/nodriver";
license = licenses.mit;
};
};
in
python313Packages.buildPythonApplication rec {
pname = "kindly-web-search-mcp-server";
version = "0.1.8-unstable";
pyproject = true;
src = fetchFromGitHub {
owner = "Shelpuk-AI-Technology-Consulting";
repo = "kindly-web-search-mcp-server";
rev = "2fd83d28710cce335f610e3d5ed0b403250ab1ba";
hash = "sha256-sOLx87p+w51wuBOItDdzrsrgItNZ92WivZAv3Zzp16o=";
};
build-system = with python313Packages; [
hatchling
];
dependencies = with python313Packages; [
mcp
pydantic
httpx
beautifulsoup4
markdownify
nodriver
pymupdf
fastmcp
];
nativeBuildInputs = [ makeWrapper ];
# Wrap with Chromium path for headless browser content extraction
postInstall = ''
wrapProgram $out/bin/kindly-web-search-mcp-server \
--set KINDLY_BROWSER_EXECUTABLE_PATH "${chromium}/bin/chromium"
'';
pythonImportsCheck = [ "kindly_web_search_mcp_server" ];
meta = with lib; {
description = "Web search + robust content retrieval MCP server for AI coding tools";
homepage = "https://github.com/Shelpuk-AI-Technology-Consulting/kindly-web-search-mcp-server";
license = licenses.mit;
mainProgram = "kindly-web-search-mcp-server";
platforms = platforms.linux ++ platforms.darwin;
};
}