| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…ng SDK version - README.md banner: v2 is in alpha with pre-releases published to PyPI (previously said "pre-alpha, in development"), plus the beta/stable target dates, the <2 upper-bound ask for dependents, and v1.x's maintenance-mode status. The freeze check in shared.yml now honors an override-readme-freeze label so deliberate updates like this one can land while accidental edits stay blocked. - mcp dev and mcp install spawn environments via `uv run --with mcp`, which resolves to the latest stable release rather than the version the user installed; pre-releases are never selected without an explicit pin, so with a v2 pre-release installed the spawned environment got v1 and the user's server failed to import. The requirement now pins the running version; source builds fall back to the unpinned form since dev/local versions are not published to PyPI.
Also pin down two test contracts on the new requirement helper: the dev-version fallback preserves extras, and a user-supplied mcp[cli] coexists with the pinned requirement rather than deduplicating into it.
| import pytest | ||
|
|
||
| from mcp.cli.claude import get_uv_path, update_claude_config | ||
| from mcp.cli.claude import get_uv_path, mcp_requirement, update_claude_config |
There was a problem hiding this comment.
Interesting we have a Claude test but guess it's pre-existing
Sorry, something went wrong.
There was a problem hiding this comment.
yeaaa it is definitely weird, will have to think whether we add all CLIs later or something
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Two pre-alpha-release fixes in one PR, per maintainer discussion.
Motivation and Context
README banner: the front-page README.md still described v2 as "pre-alpha, in development". With 2.0.0a1 about to be published, it now states the alpha status, how to install it, the beta/stable target dates, the <2 upper-bound ask for dependent packages, and v1.x's maintenance-mode status. README.md is deliberately frozen on main (it documents v1), so the freeze CI check now honors an override-readme-freeze label for intentional updates like this one; accidental edits stay blocked.
CLI version pinning: mcp dev and mcp install build commands of the form uv run --with mcp ... / uv run --with mcp[cli] .... In a fresh environment an unpinned mcp requirement resolves to the latest stable release - never a pre-release - so a user who installed mcp[cli]==2.0.0a1 and ran mcp dev server.py (outside a uv project) or mcp install got a child environment with v1 in it, and their v2 server failed with ModuleNotFoundError. The mcp install case is the worst variant: the broken command is persisted into Claude Desktop's config. Both sites now pin the requirement to the running SDK version (mcp[cli]==<version>). Source builds carry dev/local version segments that are not on PyPI, so they fall back to the unpinned form.
How Has This Been Tested?
Breaking Changes
None. Claude Desktop configs written by older versions keep their unpinned form until mcp install is re-run.
Types of changes
Checklist
Additional context
A companion PR updates the v1.x branch's README with the same v2 status information, since that branch's README is what PyPI renders for the stable line.
AI Disclaimer