Skip to content

fix(mcp): bound discovery connection teardown - #1878

Open
aryasaatvik wants to merge 3 commits into
UsefulSoftwareCo:mainfrom
aryasaatvik:fix/mcp-discovery-close-timeout
Open

fix(mcp): bound discovery connection teardown#1878
aryasaatvik wants to merge 3 commits into
UsefulSoftwareCo:mainfrom
aryasaatvik:fix/mcp-discovery-close-timeout

Conversation

@aryasaatvik

Copy link
Copy Markdown
Contributor

Summary

Bound MCP discovery teardown so a transport whose close() never settles cannot strand an otherwise completed catalog refresh or health check.

connect → tools/list succeeds → close (bounded to 2s) → return manifest

The close timeout matches the invocation connection pool's teardown bound. Teardown remains best-effort and a successful discovery result is preserved.

Validation

  • bunx vitest run src/sdk/discover-close.test.ts --reporter=dot
  • bun run typecheck
  • bunx oxlint -c ../../../.oxlintrc.jsonc src/sdk/discover.ts src/sdk/discover-close.test.ts --deny-warnings
  • bunx vitest run --reporter=dot (296 passed, 29 skipped)

Discovery cleanup runs in an interruption-masked finalizer. Bound an unresponsive transport close so a completed tool listing cannot strand health checks or other callers indefinitely.
@aryasaatvik
aryasaatvik marked this pull request as ready for review August 30, 2026 09:27
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