chore(deps): bump mcp from 1.26.0 to 1.27.2 in /envs/repl_env#977
chore(deps): bump mcp from 1.26.0 to 1.27.2 in /envs/repl_env#977dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [mcp](https://github.com/modelcontextprotocol/python-sdk) from 1.26.0 to 1.27.2. - [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases) - [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md) - [Commits](modelcontextprotocol/python-sdk@v1.26.0...v1.27.2) --- updated-dependencies: - dependency-name: mcp dependency-version: 1.27.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
There was a problem hiding this comment.
Alignment Review Report
Scope: one file — envs/repl_env/uv.lock. Dependabot bump of the transitive mcp dependency 1.26.0 → 1.27.2 (via openenv → fastmcp → mcp; repl_env's pyproject.toml has no mcp pin, so lock-only with no pyproject edit is correct).
Automated Checks
- Lint: N/A for this diff.
ruff/usortonly lint.py;uv.lock/TOML are not linted at all. (.claude/hooks/lint.shneedsuv, which isn't preinstalled on the review VM; I installeduv 0.11.29on demand and confirmed the only files it flags are ~20 pre-existingenvs/**reformat candidates — none in this PR.) - Debug code: CLEAN.
check-debug.shhits are all pre-existingsrc/openenv/cli/...; this PR touches no.py. - Extra verification (dep-bump checklist):
uv lock --check --project envs/repl_envpasses at HEAD; package set unchanged (119→119, 0 added/removed, onlymcpversion changed);files.pythonhosted.orgartifact lines identical base/head (1718/1718); sdist/wheel hashes match PyPI.
Open RFCs Context
All RFCs are In Review (000, 001, 002, 003, 005) or Draft (010). The nearest is RFC 003 – MCP Support (In Review, @Darktex / @pankit-eng), but it governs the MCP protocol / dual-API architecture, not the pinned SDK version — bumping within the 1.x line keeps the SDK current and is consistent with “MCP as universal standard.” No conflict. No RFC covers Python packaging / dependency indexes.
Tier 1: Fixes Required
None. The bump is internally consistent and, notably, remediates two published advisories (below) — a positive.
Tier 2: Alignment Discussion
Principle Conflicts
ALIGNMENT FLAG: lockfile-wide package source switched from the internal HF mirror to public PyPI
- Principle at stake: “Container isolation for reproducibility and security” (PRINCIPLES.md L15)
- The concern: Beyond the
mcpbump, Dependabot rewrote thesourcefor all 126 packages frompypi.registries.huggingface.tech→pypi.org/simple(base 126→0 mirror, head 0→126 public), and bumped lockrevision2→3. Almost certainly benign — artifact URLs/hashes stay onfiles.pythonhosted.organd are unchanged — but it silently changes declared dependency provenance and widens an existing cross-env split (~23 envs still on the HF mirror, ~13 on public PyPI). This is expected Dependabot behavior and matches the already-merged migrations of the referenceecho_env(#902) and ~12 other envs, so it's “flag, don't fix”: standardizing the index is a team decision, not something to revert in this PR. - Suggested reviewer: @Darktex (authored the reproducibility principle, PRINCIPLES.md L15) + @burtenshaw (owns the dependency/registry tooling)
RFC Conflicts
None identified.
Process note (non-blocking, cc @burtenshaw)
This is a native dependabot/uv/envs/repl_env/... PR, yet .github/dependabot.yml scopes the uv updater to directory: "/" with exclude-paths: ["envs/**"] (a valid, supported key). The uv updater isn't honoring that exclusion for envs/**/uv.lock (platform limitation or glob mismatch); the intended path for env bumps is the aggregate codex/dependabot-envs-* roll-ups. Orthogonal to this PR's correctness, but worth a look.
Summary
- 0 mechanical (Tier 1) issues to fix
- 1 alignment point for human review (registry/provenance flip + revision bump — flag, don't fix)
- 0 RFC conflicts
- Positives: remediates
GHSA-hvrp-rf83-w775(CVE-2026-52870) andGHSA-jpw9-pfvf-9f58(CVE-2026-52869), both fixed in 1.27.2; clean single-package bump;uv lock --checkpasses.
Sent by Cursor Automation: Pre-review
| name = "mcp" | ||
| version = "1.26.0" | ||
| source = { registry = "https://pypi.registries.huggingface.tech/" } | ||
| version = "1.27.2" |
There was a problem hiding this comment.
Intended change: mcp 1.26.0 → 1.27.2. Transitive dep (via openenv → fastmcp), so lock-only is correct — no pyproject.toml edit expected. Verified: sdist/wheel hashes match PyPI (8e02db10… / d6ff5160…), requires-python >=3.10, not yanked, mcp's own dependency list unchanged, and uv lock --check --project envs/repl_env passes.
Security (positive): 1.26.0 carries two advisories, both fixed in 1.27.2:
GHSA-hvrp-rf83-w775/ CVE-2026-52870 — experimental task handlers (server.experimental.enable_tasks()) allow cross-session task access. OpenEnv never callsenable_tasks()(rg enable_tasks src/ envs/is empty), so exposure here is nil.GHSA-jpw9-pfvf-9f58/ CVE-2026-52869 — SSE / Streamable-HTTP transports routed requests to a session by id alone without verifying the authenticated principal. Broadly relevant transport-layer fix (single-tenant per-episode env servers limit practical exposure, but good hygiene).
1.27.2 has no known vulnerabilities.
| name = "aiofile" | ||
| version = "3.9.0" | ||
| source = { registry = "https://pypi.registries.huggingface.tech/" } | ||
| source = { registry = "https://pypi.org/simple" } |
There was a problem hiding this comment.
Registry rewrite rides along with the bump (flag, not fix). Dependabot rewrote the source for all 126 packages in this lockfile from the internal HF mirror (pypi.registries.huggingface.tech) to public PyPI (pypi.org/simple) — base 126→0 mirror, head 0→126 public. Expected behavior (Dependabot resolves against public PyPI) and consistent with the already-merged echo_env migration (#902) + ~12 other envs. Pinned artifact URLs stay on files.pythonhosted.org and hashes are unchanged (1718 artifact lines identical base/head), so integrity is preserved. Surfacing because it silently changes declared provenance and widens the cross-env registry split — see the reproducibility flag in the summary. Registry choice is a team call, so please don't revert it in this PR.
| @@ -1,5 +1,5 @@ | |||
| version = 1 | |||
| revision = 2 | |||
| revision = 3 | |||
There was a problem hiding this comment.
Lockfile format revision 2 → 3 (newer uv) also rides along. PR CI is fine — test.yml pins uv 0.9.3, which supports revision 3. Heads-up only: the openenv-base image Dockerfile copies uv 0.5.27 (predates revision 3), but the Docker rebuild path isn't triggered by a lock-only change and several envs already ship revision 3, so this isn't a blocker — just worth confirming the base image's uv is current at some point.
|
Aggregated into #921. |
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |


Bumps mcp from 1.26.0 to 1.27.2.
Release notes
Sourced from mcp's releases.
Commits
6213787[v1.x] Scope experimental tasks to the session that created them (#2720)ce267b6[v1.x] Bind transport sessions to the authenticated principal (#2719)1abcca2[v1.x] Add subject and claims to AccessToken (#2690)9773a3f[v1.x] ci: deploy docs to py.sdk.modelcontextprotocol.io via Pages artifact (...77431eb[v1.x] refactor: import SSEError from httpx_sse public API (#2561)2034cae[v1.x] build: restrict httpx to <1.0.0 (#2559)73d458b[v1.x] fix(auth): coerce empty-string optional URL fields to None in OAuthCli...8d4c2f5[v1.x] fix: catch PydanticUserError when generating output schema (pydantic 2...6524782[v1.x] fix: handle ClosedResourceError when transport closes mid-request (#2334)2e9897e[v1.x] fix: handle non-UTF-8 bytes in stdio server stdin (#2303)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.
Note
Medium Risk
MCP auth/session behavior changes can affect how REPL/MCP servers authenticate and isolate sessions; the lockfile-wide registry switch may alter where CI installs packages from.
Overview
Updates
envs/repl_env/uv.lockso the resolvedmcppackage moves from 1.26.0 to 1.27.2 (pulled in viafastmcp/openenv). The lock revision increments and every package entry’ssource.registryis rewritten from the Hugging Face PyPI mirror tohttps://pypi.org/simple; artifact URLs and hashes are unchanged aside frommcp’s new sdist/wheel metadata.The
mcpupgrade brings auth and session hardening (e.g. binding transport sessions to the authenticated principal, scoping experimental tasks to the creating session, richerAccessTokenclaims), plus fixes around OAuth metadata, Pydantic output schemas, stdio encoding, and transport teardown. No application source files inrepl_envare modified—only the lockfile.Reviewed by Cursor Bugbot for commit 7a1b9d3. Bugbot is set up for automated code reviews on this repo. Configure here.