diff --git a/pkgs/by-name/mc/mcp-server-git/package.nix b/pkgs/by-name/mc/mcp-server-git/package.nix new file mode 100644 index 000000000000..f5f78899a692 --- /dev/null +++ b/pkgs/by-name/mc/mcp-server-git/package.nix @@ -0,0 +1,47 @@ +{ + lib, + python3Packages, + fetchFromGitHub, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "mcp-server-git"; + version = "2026.1.26"; + pyproject = true; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "servers"; + tag = finalAttrs.version; + hash = "sha256-uULXUEHFZpYm/fmF6PkOFCxS+B+0q3dMveLG+3JHrhk="; + }; + + sourceRoot = "${finalAttrs.src.name}/src/git/"; + + build-system = with python3Packages; [ + hatchling + ]; + + dependencies = with python3Packages; [ + click + gitpython + mcp + pydantic + ]; + + nativeCheckInputs = with python3Packages; [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "mcp_server_git" ]; + + meta = { + changelog = "https://github.com/modelcontextprotocol/servers/releases/tag/${finalAttrs.version}"; + description = "Model Context Protocol server providing tools to read, search, and manipulate Git repositories programmatically via LLMs"; + homepage = "https://github.com/modelcontextprotocol/servers"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + mainProgram = "mcp-server-git"; + platforms = lib.platforms.all; + }; +})