Skip to content

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

Draft
bandzalkin wants to merge 1 commit into
feat/omp-native-adapter-INT-1891from
feat/omp-native-room-scoped-mcp-servers-INT-1892
Draft

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

Conversation

@bandzalkin

Copy link
Copy Markdown
Contributor

Why

A host running the native OMP adapter needs each new room process to start with the room's current external MCP servers and credentials, not a static adapter-wide snapshot, and resolving them must run under the same owner that acquires and retires the connection.

What

  • Runtime-only resolve_mcp_servers, an async (workspace) -> Mapping[str, OmpMcpServer], called once per new room process with the claimed workspace, before the overlay or process exists; the same snapshot feeds the overlay and the startup receipt check. Its result is the complete external set (an empty mapping means none); an exception fails startup with no fallback.
  • The configured band endpoint is kept beside the resolved set; a resolver may not claim that name.
  • Room retirement joins overlapping on_cleanup/cleanup_all calls, cancels only the room's active turn, waits for that turn's finalization, and keeps a room whose native close failed owned until a later close succeeds.

Scope

Stacked on the native adapter PR. Native OMP only; the ACP resolver 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
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 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

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