Skip to content

Commit bb63ea6

Browse files
lesebclaude
andauthored
build(deps): pin mcp SDK below 2.0 ahead of protocol RC (#5953)
# What does this PR do? Pins the `mcp` Python SDK dependency to `>=1.23.0,<2.0` across all five declaration sites (pyproject.toml core, type_checking, test-common, and two provider registry specs). This prevents fresh installs from pulling an incompatible SDK version when the MCP 2026-07-28 Release Candidate ships, which introduces breaking changes to the session model, transport layer, and protocol handshake. Partial #5952 (this addresses the immediate dependency pin; the full migration is tracked there) ## Test Plan 1. Verify all `mcp>=` references are pinned with `<2.0` upper bound: ```bash rg '"mcp>=' pyproject.toml src/ogx/providers/registry/ ``` 2. Run pre-commit to confirm no regressions: ```bash uv run pre-commit run --all-files ``` Output: all 40 checks passed. <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/ogx-ai/ogx/pull/5953" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open in Devin Review"> </picture> </a> <!-- devin-review-badge-end --> --------- Signed-off-by: Sébastien Han <seb@redhat.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f3c34b6 commit bb63ea6

4 files changed

Lines changed: 11 additions & 11 deletions

File tree

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ dependencies = [
7171
"aiosqlite>=0.21.0", # server - for metadata store
7272
"asyncpg", # for metadata store
7373
"sqlalchemy[asyncio]>=2.0.41", # server - for conversations
74-
"mcp>=1.23.0", # for connectors
74+
"mcp>=1.23.0,<2.0", # for connectors
7575
"zstandard>=0.23.0", # server - zstd request decompression
7676
"models-dev>=1.0.398",
7777
]
@@ -176,7 +176,7 @@ type_checking = [
176176
"sqlite-vec",
177177
"faiss-cpu",
178178
"lm-format-enforcer",
179-
"mcp>=1.23.0",
179+
"mcp>=1.23.0,<2.0",
180180
"ollama",
181181
"langchain-openai>=1.2.2",
182182
"langchain-core",
@@ -188,7 +188,7 @@ test-common = [
188188
"aiosqlite",
189189
"asyncpg>=0.29.0",
190190
"chardet",
191-
"mcp>=1.23.0",
191+
"mcp>=1.23.0,<2.0",
192192
"pgvector>=0.3.0",
193193
"psycopg2-binary>=2.9.0",
194194
"pypdf>=6.10.2",

src/ogx/providers/registry/responses.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def available_providers() -> list[ProviderSpec]:
2929
"pillow",
3030
"pandas",
3131
"scikit-learn",
32-
"mcp>=1.23.0",
32+
"mcp>=1.23.0,<2.0",
3333
]
3434
+ kvstore_dependencies(), # TODO make this dynamic based on the kvstore config
3535
module="ogx.providers.inline.responses.builtin",

src/ogx/providers/registry/tool_runtime.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def available_providers() -> list[ProviderSpec]:
9090
provider_type="remote::model-context-protocol",
9191
module="ogx.providers.remote.tool_runtime.model_context_protocol",
9292
config_class="ogx.providers.remote.tool_runtime.model_context_protocol.config.MCPProviderConfig",
93-
pip_packages=["mcp>=1.23.0"],
93+
pip_packages=["mcp>=1.23.0,<2.0"],
9494
provider_data_validator="ogx.providers.remote.tool_runtime.model_context_protocol.config.MCPProviderDataValidator",
9595
description="Model Context Protocol (MCP) tool for standardized tool calling and context management.",
9696
),

uv.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)