Feature/mcp apps - #106
Conversation
Gate MCP Apps with PERI_MCP_APPS, propagate UI capabilities to MCP connections, and add connection-owned resource and tool-call relay with binding leases and canonical HITL dispatch. Co-Authored-By: gpt-5.6-sol <openai@claude-code-best.win>
Co-Authored-By: gpt-5.6-sol <openai@claude-code-best.win>
Use the deployment MCP pool for static tool bridges so app binding leases and server generations remain shared with the stdio relay. Add official-style fixtures, lifecycle coverage, and document the successful-path incident and verification. Co-Authored-By: gpt-5.6-sol <openai@claude-code-best.win>
Hold the filesystem metadata lock across message append and metadata update, and serialize cache invalidation and rewind mutations to prevent lost updates. Co-Authored-By: gpt-5.6-sol <openai@claude-code-best.win>
Co-Authored-By: gpt-5.6-sol <openai@claude-code-best.win>
Return protocol errors for malformed and invalid JSON-RPC input, preserve terminal responses when host task admission closes, and make response write failures observable.\n\nCo-Authored-By: gpt-5.6-sol <openai@claude-code-best.win>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (53)
📝 WalkthroughWalkthroughChangesThe PR adds an MCP Apps stdio relay with protocol contracts, capability gating, connection-owned sessions, binding leases, resource reads, tool calls, cancellation, generation checks, and structured errors. It also adds integration checks and fixes Git probing, session metadata races, and TUI snapshot tests. MCP Apps stdio relay
Reliability and regression fixes
Estimated code review effort: 5 (Critical) | ~120 minutes Sequence Diagram(s)sequenceDiagram
participant ACPClient
participant AcpHost
participant PoolMcpAppsRelay
participant MCPServer
ACPClient->>AcpHost: initialize with MCP Apps enabled
AcpHost->>PoolMcpAppsRelay: peri/mcp/open
PoolMcpAppsRelay->>MCPServer: resources/read and tool metadata lookup
MCPServer-->>PoolMcpAppsRelay: raw app resource metadata
PoolMcpAppsRelay-->>AcpHost: connection-owned app binding
AcpHost-->>ACPClient: app session response
ACPClient->>AcpHost: peri/mcp/resource
AcpHost->>PoolMcpAppsRelay: read bound resource
PoolMcpAppsRelay->>MCPServer: resources/read
MCPServer-->>PoolMcpAppsRelay: HTML resource
PoolMcpAppsRelay-->>ACPClient: resource response
ACPClient->>AcpHost: peri/mcp/app tools/call
AcpHost->>PoolMcpAppsRelay: validate binding and invoke tool
PoolMcpAppsRelay-->>ACPClient: raw JSON-RPC tool result
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit
New Features
PERI_MCP_APPSenvironment setting.Bug Fixes