Skip to content

feat(mcp): resolve room-scoped servers during owned Claude SDK startup - #856

Closed
bandzalkin wants to merge 13 commits into
band-ai:mainfrom
bandzalkin:feat/claude-owned-mcp-resolver
Closed

bandzalkin wants to merge 13 commits into
band-ai:mainfrom
bandzalkin:feat/claude-owned-mcp-resolver

Conversation

@bandzalkin

@bandzalkin bandzalkin commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Why

Claude SDK rooms need current external MCP configuration at connection time, including refreshed authorization, without weakening ownership of partially started clients. Cancellation can arrive while the SDK is checking its executable, creating a backend, writing configuration, or publishing a native child; each of those resources must remain owned until cleanup finishes.

What changes

  • Resolve a fresh room-scoped MCP snapshot during owned Claude SDK startup. Preserve Band's reserved endpoint, explicit configuration precedence, and secret-safe startup failures.
  • Keep startup work, backend and file resources, and native child custody together across partial startup, cancellation, and retryable close failures.
  • Transfer the native child to the outer custodian before the transport defers exit confirmation, so a late-published handle cannot disappear between cleanup owners. Preserve native errors and cancellation instead of treating an unconfirmed exit as success.
  • Preserve shared STOP/activity handling and private configuration-file permissions. Windows privacy relies on the user's profile/temp ACLs rather than POSIX mode bits.

Dependency

Builds on #855 for the shared startup and turn-lifecycle ownership changes. Claude host preflight and model discovery are separate concerns in #847 and #851.

Validation

Tests exercise resolver snapshots and precedence, cancellation during startup, cleanup retry, physical child custody, and the actual SDK transport-constructor handoff.

@bandzalkin
bandzalkin force-pushed the feat/claude-owned-mcp-resolver branch from eb1e479 to 17c575a Compare October 20, 2026 11:46
github-actions Bot pushed a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
github-actions Bot pushed a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
github-actions Bot pushed a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
@bandzalkin

Copy link
Copy Markdown
Contributor Author

Closing: band-agent does not consume this; may be re-proposed per feature.

@bandzalkin bandzalkin closed this Oct 21, 2026
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