Skip to content

fix: close MCP toolset sessions#346

Open
pragnyanramtha wants to merge 1 commit into
google:mainfrom
pragnyanramtha:codex/close-mcp-toolset-sessions
Open

fix: close MCP toolset sessions#346
pragnyanramtha wants to merge 1 commit into
google:mainfrom
pragnyanramtha:codex/close-mcp-toolset-sessions

Conversation

@pragnyanramtha
Copy link
Copy Markdown

Summary

  • track MCP clients created by MCPSessionManager
  • close tracked clients from MCPSessionManager.close() and remove successfully closed clients
  • delegate MCPToolset.close() to its session manager
  • add focused MCP session/toolset lifecycle regressions

Root cause

MCPToolset.close() was a no-op even though MCPToolset creates MCP clients when discovering tools and its MCPTool wrappers can create additional sessions when invoked. Those clients were not tracked for lifecycle cleanup, so callers had no way to release MCP transports through the toolset close path.

Validation

  • npm install
  • npm run build --workspace core
  • npx vitest run --project unit:core core/test/tools/mcp/mcp_session_manager_test.ts core/test/tools/mcp/mcp_toolset_test.ts
  • npx prettier --check core/src/tools/mcp/mcp_session_manager.ts core/src/tools/mcp/mcp_toolset.ts core/test/tools/mcp/mcp_session_manager_test.ts core/test/tools/mcp/mcp_toolset_test.ts
  • npx eslint core/src/tools/mcp/mcp_session_manager.ts core/src/tools/mcp/mcp_toolset.ts core/test/tools/mcp/mcp_session_manager_test.ts core/test/tools/mcp/mcp_toolset_test.ts
  • git diff --check

Note: npm install reports existing dependency audit findings (26 total: 9 low, 4 moderate, 13 high); no dependency changes are included in this PR.

@pragnyanramtha pragnyanramtha marked this pull request as ready for review May 17, 2026 04:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant