From ad01ba93c582da40b0a868eb324271bb0fa0bb12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 5 Feb 2025 12:23:30 -0800 Subject: [PATCH] python313Packages.mcp: init at 1.2.1 --- .../python-modules/mcp/default.nix | 85 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 87 insertions(+) create mode 100644 pkgs/development/python-modules/mcp/default.nix diff --git a/pkgs/development/python-modules/mcp/default.nix b/pkgs/development/python-modules/mcp/default.nix new file mode 100644 index 000000000000..7a7f0e56d02f --- /dev/null +++ b/pkgs/development/python-modules/mcp/default.nix @@ -0,0 +1,85 @@ +{ + anyio, + buildPythonPackage, + coreutils, + fetchFromGitHub, + hatchling, + httpx, + httpx-sse, + lib, + pydantic, + pydantic-settings, + pytest-asyncio, + pytestCheckHook, + python-dotenv, + rich, + sse-starlette, + starlette, + typer, + uvicorn, +}: + +buildPythonPackage rec { + pname = "mcp"; + version = "1.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "python-sdk"; + tag = "v${version}"; + hash = "sha256-1kTU6YoHAxPdYTeCiPFGw2c0Dno+CA//hvoD9T4Fvwo="; + }; + + postPatch = '' + substituteInPlace tests/client/test_stdio.py \ + --replace '/usr/bin/tee' '${lib.getExe' coreutils "tee"}' + ''; + + build-system = [ hatchling ]; + + pythonRelaxDeps = [ + "pydantic-settings" + ]; + + dependencies = [ + anyio + httpx + httpx-sse + pydantic + pydantic-settings + sse-starlette + starlette + uvicorn + ]; + + optional-dependencies = { + cli = [ + python-dotenv + typer + ]; + rich = [ + rich + ]; + }; + + pythonImportsCheck = [ "mcp" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ] ++ lib.flatten (lib.attrValues optional-dependencies); + + disabledTests = [ + # attempts to run the package manager uv + "test_command_execution" + ]; + + meta = { + changelog = "https://github.com/modelcontextprotocol/python-sdk/releases/tag/${src.rev}"; + description = "Official Python SDK for Model Context Protocol servers and clients"; + homepage = "https://github.com/modelcontextprotocol/python-sdk"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a18a988df924..d2620cff4a2a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8069,6 +8069,8 @@ self: super: with self; { mcdreforged = callPackage ../development/python-modules/mcdreforged { }; + mcp = callPackage ../development/python-modules/mcp { }; + mcstatus = callPackage ../development/python-modules/mcstatus { }; mcuuid = callPackage ../development/python-modules/mcuuid { };