feat: add code mode connection recovery

TH
1d ago
+1107-75

Summary

Enrich tools.servers() with separate consent and authentication state plus recovery instructions. Add tools.connect(server=...) to return a short-lived browser URL bound to the requesting user and member. The execute description shows how to discover a blocker and obtain its link in one Python execution; no separate status helper or native MCP tool is added.

Inventory reports known metadata without upstream probes or credential refresh. Connection changes preserve pagination cursors. Visible members needing approval remain discoverable with an empty tool allowlist or expired catalogue; business-tool authorization remains enforced separately. Renewing catalogue consent still requires reconnecting the gateway in the MCP client.

The runner protocol moves to version 2. Deploy the matching runner image with the server.

Private Reflow review app contains the synthetic end-to-end walkthrough, retained test reports and rollout notes.

Motivation

An agent encountering consent_required needs an actionable recovery path. Including connection metadata in normal server discovery removes a separate status lookup, and connect supplies the user handoff without replaying a program or widening tool permissions.


๐Ÿš€ Preview Environment (PR #8215)

Preview URL: https://pr-8215.dev.getgram.ai

ComponentStatusDetailsUpdated (UTC)
โœ… DatabaseReadyExisting database reused2026-10-29 20:41:23.
โœ… ImagesAvailableContainer images ready2026-10-29 20:42:57.

Gram Preview Bot