69 lines
1.5 KiB
Nix
69 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
buildNpmPackage,
|
|
fetchFromGitHub,
|
|
makeWrapper,
|
|
playwright-driver,
|
|
linkFarm,
|
|
jq,
|
|
...
|
|
}:
|
|
|
|
let
|
|
revision = "1161";
|
|
|
|
chromium-headless-shell =
|
|
playwright-driver.passthru.components."chromium-headless-shell".overrideAttrs
|
|
(old: {
|
|
inherit revision;
|
|
});
|
|
|
|
browsers-headless-only = linkFarm "playwright-browsers-headless-only" [
|
|
{
|
|
name = "chromium-${revision}";
|
|
path = chromium-headless-shell;
|
|
}
|
|
];
|
|
in
|
|
buildNpmPackage rec {
|
|
pname = "fetcher-mcp";
|
|
version = "0.3.6";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "jae-jae";
|
|
repo = "fetcher-mcp";
|
|
rev = "8754aff66e3d9207502207bf82a493f45f556bb8";
|
|
hash = "sha256-CH9qTU+BS3/zCs9QVIHPqoHdul9qpaha1D+gZzoLteY=";
|
|
};
|
|
|
|
env.PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1";
|
|
|
|
nativeBuildInputs = [
|
|
makeWrapper
|
|
jq
|
|
];
|
|
|
|
npmDepsHash = "sha256-waLaOeDaCsgltLrri0kjjFJPazOE/cY+2F+Yu0i55Cg=";
|
|
|
|
postPatch = ''
|
|
${jq}/bin/jq 'del(.scripts.postinstall) | del(.scripts."install-browser")' package.json > package.json.tmp && mv package.json.tmp package.json
|
|
'';
|
|
|
|
makeWrapperArgs = [
|
|
"--set"
|
|
"PLAYWRIGHT_BROWSERS_PATH"
|
|
"${browsers-headless-only}"
|
|
# "--set"
|
|
# "PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS"
|
|
# "true"
|
|
];
|
|
|
|
meta = {
|
|
description = "MCP server for fetch web page content using Playwright headless browser";
|
|
homepage = "https://github.com/jae-jae/fetcher-mcp";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ ];
|
|
mainProgram = "fetcher-mcp";
|
|
platforms = lib.platforms.all;
|
|
};
|
|
}
|