fix: bound MCP extra to supported major version - #339
Conversation
rng1995
left a comment
There was a problem hiding this comment.
[Automated SkillSpector Review]
Approved. Bounding the optional MCP dependency below v2 keeps the currently supported FastMCP import contract explicit, and the improved import error distinguishes an absent package from an incompatible installed layout. The focused MCP suite passed (10 tests), as did Ruff lint and format checks.
3944478 to
7fc09a3
Compare
|
Rebased onto current Focused MCP tests pass (10/10); Ruff lint/format, lock check, and diff check also pass. |
|
@koriyoshi2041 - Please resolve the merge conflict. |
Signed-off-by: kigland <shuaizhicheng336@gmail.com>
7fc09a3 to
8c5451f
Compare
|
Rebased onto current |
Signed-off-by: Narendran Raghavan <nraghavan@nvidia.com>
rng1995
left a comment
There was a problem hiding this comment.
Re-review approved at the current head. The MCP v2 upper bound and compatibility error remain acceptable and there are no unresolved review threads. CI is green except for the mechanical DCO failure on the unsigned merge commit.
90f9591 to
a63fe4c
Compare
Signed-off-by: Narendran Raghavan <nraghavan@nvidia.com>
Signed-off-by: Narendran Raghavan <nraghavan@nvidia.com>
8ae9a0f to
e25f027
Compare
Problem
Fresh
skillspector[mcp]installs resolve MCP 2.x, which removedmcp.server.fastmcp. The install succeeds, but the server fails at initialization and incorrectly reports that the optional dependency is missing. Fixes #333.Fix
mcppackage from an installed package missing the expected FastMCP moduleTest
uv run pytest -q tests/unit/test_mcp_server.py(10 passed, including stdio initialize/list-tools)uv run ruff check src/skillspector/mcp_server.py tests/unit/test_mcp_server.pyuv run ruff format --check src/skillspector/mcp_server.py tests/unit/test_mcp_server.pygit diff --checkRisk
Low. This deliberately holds the optional server integration on MCP 1.x until SkillSpector migrates to the 2.x API; users that force an incompatible install now receive an accurate error instead of a missing-extra message.