Skip to content

Commit 584994a

Browse files
authored
Pin mcp SDK to patched fork for stateless task leak fix (#631)
## Why The upstream MCP Python SDK has a memory leak where stateless HTTP request tasks accumulate in the global task group when clients disconnect mid-request ([modelcontextprotocol/python-sdk#1764](modelcontextprotocol/python-sdk#1764)). This causes unbounded memory growth in long-running MCP servers like our remote dbt MCP proxy. The fix (request-scoped task groups) also introduces a regression where SSE streams don't close cleanly on shutdown — reverse proxies see connection resets instead of clean HTTP close. A graceful drain step resolves this. ## What Points the `mcp` dependency at `dbt-labs/mcp-python-sdk@dbt-labs/patched`, which includes: - Request-scoped task groups for stateless requests (prevents zombie task accumulation) - Graceful SSE drain on shutdown (terminates all active transports before cancelling the task group) Upstream PR: [modelcontextprotocol/python-sdk#2145](modelcontextprotocol/python-sdk#2145) ## Notes This is a temporary pin until the upstream PR is merged and released. Once upstream publishes a release containing the fix, we should revert to the published package. Drafted by Claude Opus 4.6 under the direction of @wiggzz
1 parent 4868e46 commit 584994a

3 files changed

Lines changed: 81 additions & 62 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kind: Under the Hood
2+
body: Pin mcp SDK to dbt-labs/patched fork for stateless task leak fix
3+
time: 2026-03-10T14:00:00.000000-07:00

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ dev = [
5858
"types-authlib>=1.6.4.20250920",
5959
]
6060

61+
[tool.uv.sources]
62+
mcp = { git = "https://github.com/dbt-labs/mcp-python-sdk.git", branch = "dbt-labs/patched" }
63+
6164
[project.urls]
6265
Documentation = "https://docs.getdbt.com/docs/dbt-ai/about-mcp"
6366
Issues = "https://github.com/dbt-labs/dbt-mcp/issues"

0 commit comments

Comments
 (0)