From 2ebbc2890efc3732bf7a7dbea3eeb962efa2a41a Mon Sep 17 00:00:00 2001 From: tikankika Date: Tue, 1 Sep 2026 09:01:27 +0200 Subject: [PATCH] =?UTF-8?q?fix(deps):=20pin=20mcp=20to=20v1=20=E2=80=94=20?= =?UTF-8?q?v2=20renamed=20FastMCP=20and=20breaks=20the=20import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit mcp 2.x renames FastMCP to MCPServer, so `from mcp.server.fastmcp import FastMCP` fails outright on a fresh resolve. The old floor (>=1.0.0) let that happen. Pin to >=1.28.1,<2 and lock mcp 1.29.0. The upper bound is the load-bearing half; the raised floor just matches what the lock already resolved. --- packages/qf-pipeline/pyproject.toml | 2 +- packages/qf-pipeline/uv.lock | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/qf-pipeline/pyproject.toml b/packages/qf-pipeline/pyproject.toml index 893a648..c876fe0 100644 --- a/packages/qf-pipeline/pyproject.toml +++ b/packages/qf-pipeline/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ ] dependencies = [ - "mcp>=1.0.0", + "mcp>=1.28.1,<2", "httpx>=0.27.0", "markdownify>=0.13.0", "pyyaml>=6.0.3", diff --git a/packages/qf-pipeline/uv.lock b/packages/qf-pipeline/uv.lock index b96d560..069089b 100644 --- a/packages/qf-pipeline/uv.lock +++ b/packages/qf-pipeline/uv.lock @@ -1,6 +1,12 @@ version = 1 revision = 3 requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform != 'win32'", + "python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version < '3.14' and sys_platform != 'win32'", +] [[package]] name = "annotated-types" @@ -461,7 +467,7 @@ wheels = [ [[package]] name = "mcp" -version = "1.25.0" +version = "1.29.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -479,9 +485,9 @@ dependencies = [ { name = "typing-inspection" }, { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d5/2d/649d80a0ecf6a1f82632ca44bec21c0461a9d9fc8934d38cb5b319f2db5e/mcp-1.25.0.tar.gz", hash = "sha256:56310361ebf0364e2d438e5b45f7668cbb124e158bb358333cd06e49e83a6802", size = 605387, upload-time = "2025-12-19T10:19:56.985Z" } +sdist = { url = "https://files.pythonhosted.org/packages/30/d3/f9acc21dfc886e4f78e2add1a47db46ce16884346afde53f8a064c02c891/mcp-1.29.0.tar.gz", hash = "sha256:52d01f334de1868cc3bb2d6604931126a67631f99a6c5d3b82ba47290315ec36", size = 643148, upload-time = "2026-07-28T13:41:41.939Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e2/fc/6dc7659c2ae5ddf280477011f4213a74f806862856b796ef08f028e664bf/mcp-1.25.0-py3-none-any.whl", hash = "sha256:b37c38144a666add0862614cc79ec276e97d72aa8ca26d622818d4e278b9721a", size = 233076, upload-time = "2025-12-19T10:19:55.416Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/248b201f6d753d69fd5d6506011abbb35a946d9142b2ae311a948fd0be3d/mcp-1.29.0-py3-none-any.whl", hash = "sha256:f5a075bb611f23d6f4d080c6a1699fa62772eebc562ba9e66b306ddde1c755f7", size = 223436, upload-time = "2026-07-28T13:41:40.337Z" }, ] [[package]] @@ -856,7 +862,7 @@ dev = [ requires-dist = [ { name = "httpx", specifier = ">=0.27.0" }, { name = "markdownify", specifier = ">=0.13.0" }, - { name = "mcp", specifier = ">=1.0.0" }, + { name = "mcp", specifier = ">=1.28.1,<2" }, { name = "pyyaml", specifier = ">=6.0.3" }, ]