{ lib, python3Packages, fetchFromGitHub, }: python3Packages.buildPythonApplication { pname = "skillsmcp"; # Pinned to a commit rather than a release tag because upstream # has not yet published a tagged release containing all features. version = "0.2.0+unstable"; pyproject = true; src = fetchFromGitHub { owner = "aviddiviner"; repo = "skillsmcp"; rev = "4b1d1b0ad270ef5b8cb3c9024c276ccaf512c6d9"; hash = "sha256-xS2XEaAmIdYgNTVwJPfpcrQfqhcppO7FEguPwhfKgW4="; }; build-system = with python3Packages; [ hatchling ]; dependencies = [ python3Packages.fastmcp python3Packages.pyyaml ]; # Tests fail due to version-string expectations baked into the upstream # source (pinned to a commit rather than a release tag). The import # check below still verifies the module loads correctly. doCheck = false; pythonImportsCheck = [ "skillsmcp" ]; passthru = { category = "MCP Servers"; updateScript = [ "nix-update" "--flake" ".#skillsmcp" "--version=branch=main" ]; }; meta = { description = "MCP server that exposes Agent Skills to AI agents via the Model Context Protocol"; homepage = "https://github.com/aviddiviner/skillsmcp"; license = lib.licenses.mit; mainProgram = "skillsmcp"; platforms = lib.platforms.all; }; }