diff --git a/README.md b/README.md index 0a865c7..bc4b889 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ This repository provides Nix derivations for MCP (Model Context Protocol) server | applemusic-mcp | Apple Music — manage playlists, search catalog, browse library | Python | | duckduckgo-mcp-server | Web search and content fetching via DuckDuckGo | Python | | jellyfin-mcp | MCP server for Jellyfin media server | Python | +| libgen-mcp | Library Genesis + open-access search/download/read (no account needed) | Go | | kindly-web-search-mcp-server | Web search + content retrieval via SearxNG, Tavily, or SearXNG | Python | | manim-mcp-server | Execute Manim animation code and return videos | Python | | mcp-arr-server | MCP server for *arr suite — Sonarr, Radarr, Lidarr, Prowlarr | TypeScript | diff --git a/packages/default.nix b/packages/default.nix index 41bd00d..97b6635 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -22,6 +22,7 @@ pinchflat-mcp = pkgs.callPackage ./pinchflat-mcp/package.nix { }; audiobookshelf-mcp = pkgs.callPackage ./audiobookshelf-mcp/package.nix { }; annas-mcp = pkgs.callPackage ./annas-mcp/package.nix { }; + libgen-mcp = pkgs.callPackage ./libgen-mcp/package.nix { }; bitwarden-mcp = pkgs.callPackage ./bitwarden-mcp/package.nix { }; mcp-email-server = pkgs.callPackage ./mcp-email-server/package.nix { }; namecheap-mcp = pkgs.callPackage ./namecheap-mcp/package.nix { }; diff --git a/packages/libgen-mcp/package.nix b/packages/libgen-mcp/package.nix new file mode 100644 index 0000000..1b4003a --- /dev/null +++ b/packages/libgen-mcp/package.nix @@ -0,0 +1,54 @@ +{ + lib, + stdenv, + fetchurl, +}: + +stdenv.mkDerivation rec { + pname = "libgen-mcp"; + version = "2.0.1"; + + src = fetchurl ( + { + x86_64-linux = { + url = "https://github.com/jmrplens/libgen-mcp/releases/download/v${version}/libgen-mcp-linux-amd64"; + hash = "sha256-MN6DQ76AmGfaz/Xsyuk6EgFbHxf4TEcg5HXyVomn8G8="; + }; + aarch64-linux = { + url = "https://github.com/jmrplens/libgen-mcp/releases/download/v${version}/libgen-mcp-linux-arm64"; + hash = "sha256-qIkFGqEaohEnL99vbjM86JjFaHbV+A7vKNVSZg0G5Cg="; + }; + x86_64-darwin = { + url = "https://github.com/jmrplens/libgen-mcp/releases/download/v${version}/libgen-mcp-darwin-amd64"; + hash = "sha256-eeLfugTMCbvuyT3NzVQmBovarz0tOtOMsbNzAVKUTco="; + }; + aarch64-darwin = { + url = "https://github.com/jmrplens/libgen-mcp/releases/download/v${version}/libgen-mcp-darwin-arm64"; + hash = "sha256-xmKMeMJtOrqZwgTv7CvXiLEMib/XLvkQ3rCFTOyGU/Y="; + }; + } + .${stdenv.hostPlatform.system} or (throw "libgen-mcp: unsupported system ${stdenv.hostPlatform.system}") + ); + + dontUnpack = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + install -m755 $src $out/bin/${pname} + runHook postInstall + ''; + + meta = with lib; { + description = "MCP server for federated search, download and reading of books, papers, comics and standards across Library Genesis and open-access sources"; + homepage = "https://github.com/jmrplens/libgen-mcp"; + license = licenses.mit; + mainProgram = pname; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + }; +}