{ stdenv, lib, fetchFromGitHub, python3, makeWrapper }: let python = python3.withPackages (ps: with ps; [ mcp fastmcp httpx ]); in stdenv.mkDerivation rec { pname = "academic-search-mcp-server"; version = "0.1.0"; src = fetchFromGitHub { owner = "afrise"; repo = "academic-search-mcp-server"; rev = "f457e444b2398aad39d1ef7f0ceed06748c177a4"; hash = "sha256-Uh2QVQ9AJbqWKiBeffHTaAiGzTvN5VmBJdRtAkzDBow="; }; nativeBuildInputs = [ makeWrapper ]; dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out/bin $out/lib/${pname} cp -r $src/* $out/lib/${pname} makeWrapper ${python}/bin/python $out/bin/${pname} \ --add-flags "$out/lib/${pname}/server.py" runHook postInstall ''; meta = with lib; { description = "Academic Paper Search MCP Server for Claude Desktop integration"; homepage = "https://github.com/afrise/academic-search-mcp-server"; license = licenses.gpl3; maintainers = [ ]; mainProgram = pname; platforms = platforms.all; }; }