Skip to content

feat: resolve room-scoped MCP servers at native startup - #899

Open
bandzalkin wants to merge 3 commits into
feat/omp-native-adapter-INT-1891from
feat/omp-native-room-scoped-mcp-servers-INT-1892
Open

bandzalkin wants to merge 3 commits into
feat/omp-native-adapter-INT-1891from
feat/omp-native-room-scoped-mcp-servers-INT-1892

Conversation

@bandzalkin

@bandzalkin bandzalkin commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Why

Each new native room process needs that room's current MCP endpoints and credentials, resolved by the same owner that acquires and retires its connection.

What

  • Add runtime-only resolve_mcp_servers, called once per new room process with its claimed workspace before creating the overlay or process. The returned snapshot supplies both the overlay and startup verification.
  • Treat the resolver result as the complete external server set, with no fallback on error. Preserve the configured band endpoint and reject a resolver that claims its reserved name.
  • Join overlapping room cleanup, cancel only the owned turn, await its finalization and keep failed-close rooms owned until cleanup succeeds.

Scope

Native OMP only, stacked on the native adapter PR. ACP MCP resolution is #896. Replaces #854.

@bandzalkin
bandzalkin force-pushed the feat/omp-native-room-scoped-mcp-servers-INT-1892 branch from 126ed3f to 0a4c2de Compare October 21, 2026 15:35
@bandzalkin
bandzalkin added this pull request to stack #903 October 21, 2026 15:41
@bandzalkin
bandzalkin force-pushed the feat/omp-native-room-scoped-mcp-servers-INT-1892 branch from 0a4c2de to c04a679 Compare October 21, 2026 16:13
bandzalkin added a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
@bandzalkin
bandzalkin force-pushed the feat/omp-native-room-scoped-mcp-servers-INT-1892 branch from c04a679 to a71f900 Compare October 21, 2026 17:52
@bandzalkin
bandzalkin force-pushed the feat/omp-native-room-scoped-mcp-servers-INT-1892 branch from a71f900 to 8b47f8e Compare October 21, 2026 17:56
bandzalkin added 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
github-actions Bot pushed a commit to bandzalkin/band-sdk-python that referenced this pull request Oct 21, 2026
A host can now pass resolve_mcp_servers, an async callable from the
claimed room workspace to the room's complete external MCP server set,
called once per new native process before the overlay or process exists
so the overlay and the startup receipt check share one snapshot. The
configured Band endpoint is kept beside the resolved set and a resolver
may not claim its name. Room retirement joins overlapping cleanup calls,
cancels only the room's active turn, and keeps a room whose native close
failed owned until a later close succeeds.
@bandzalkin
bandzalkin force-pushed the feat/omp-native-room-scoped-mcp-servers-INT-1892 branch from 8b47f8e to 01e20db Compare October 22, 2026 08:01
@bandzalkin bandzalkin changed the title feat(omp): resolve room-scoped MCP servers at native startup feat: resolve room-scoped MCP servers at native startup Oct 22, 2026
@bandzalkin
bandzalkin marked this pull request as ready for review October 22, 2026 08:20

This branch has not been deployed

No deployments
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