Note
Reviews paused
It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.
- Last reviewed commit: 1e9f6f1859032cf9fe780fe4593389537a28d56e
- Latest commit, not reviewed: bf1074b382dfead227545a1db1c18c7e524dbbe4
Use the following commands to manage reviews:
@coderabbitai resumeto resume automatic reviews.@coderabbitai reviewto trigger a single review.
Use the checkboxes below for quick actions:
- Resume reviews
- Trigger review
Walkthrough
Claude’s adapter now supports MCP App tool and resource operations, captures eligible UI resources in tool results, and exposes app operations through a live query session. Shared helpers, provider error mapping, tests, and Claude compatibility metadata are updated.
Changes: Claude MCP Apps
Layer / File(s) Summary MCP App metadata and tool identity
packages/shared/src/mcpApp.ts,packages/shared/src/mcpApp.test.ts,packages/shared/src/toolOutput.ts,packages/provider-core/src/server/ProviderAdapter.ts,apps/server/src/mcpApps/McpAppRequests.test.ts,apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.tsShared helpers validate MCP App resource URIs and format Claude MCP tool names. Tool-item matching accepts Claude’s MCP tool-name form. MCP tool information now includes an input schema. Claude SDK MCP query operations
apps/server/package.json,apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts,apps/server/src/provider/model-manifest.json,docs/user/html-renders.mdThe query session adds MCP server-status, resource-read, and tool-call operations. The SDK dependency and Claude compatibility recommendation are updated. Documentation lists Claude as supporting MCP Apps for Claude Code 2.1.301 or newer. Live MCP App discovery and capture
apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts,apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts,apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.testkit.ts,apps/server/src/orchestration-v2/ClaudeAutomaticDelivery.integration.test.tsLive queries validate process state and capabilities before MCP App operations. Eligible tool results can include captured UI resources and normalized output. Tests cover supported, ambiguous, failed, timed-out, and unsupported cases. Stopped-session error mapping
packages/provider-core/src/server/ProviderAdapter.ts,packages/provider-core/src/server/failure.ts,apps/server/src/mcpApps/McpAppRequests.ts,apps/server/src/mcpApps/McpAppRequests.test.tsMCP request handling maps provider errors with reason session_stoppedtosession-stopped; other adapter errors map torequest-failed.Estimated code review effort: 4 (Complex) | ~45 minutes
Change: Feature
Sequence Diagram(s)
mermaid1 sequenceDiagram 2 participant MCPAppClient 3 participant ClaudeAdapterV2 4 participant ClaudeAgentSdkQuerySession 5 participant ClaudeSDK 6 MCPAppClient->>ClaudeAdapterV2: request tools, a tool call, or a resource 7 ClaudeAdapterV2->>ClaudeAgentSdkQuerySession: send MCP operation 8 ClaudeAgentSdkQuerySession->>ClaudeSDK: issue MCP request 9 ClaudeSDK-->>ClaudeAgentSdkQuerySession: return MCP response 10 ClaudeAgentSdkQuerySession-->>ClaudeAdapterV2: return operation result 11 ClaudeAdapterV2-->>MCPAppClient: return result or captured app output Possibly related issues
- pingdotgg/t3code issue 27552: The SDK update to
0.3.316meets the issue’s stated minimum of0.3.284; this PR does not change the thread-forking logic described there.
Suggested reviewers:
t3dotgg,maria-rcks- pingdotgg/t3code issue 27552: The SDK update to
Merge Risk: External image Moderate · previous review 1e9f6
Claude MCP Apps can call tools that the user's Claude permission rules deny or require confirmation for, without any check. Add a deny/ask guard before merge. A separate, lower-impact issue remains: a crafted tool result can make an app read a resource from the wrong MCP server when server names collide.
Pre-merge checks: Passed 4
Check name Status Explanation Title check Passed The title clearly and concisely describes the primary change: rendering MCP Apps from Claude tool calls. It also follows the repository's conventional commit format. Description check Passed The description is detailed and relevant. It explains the problem, implementation, compatibility behavior, limitations, verification steps, evidence, test results, and unverified cases. It does not us… Linked Issues check Passed Check skipped because no linked issues were found for this pull request. Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request. Full details: Description check
Explanation
The description is detailed and relevant. It explains the problem, implementation, compatibility behavior, limitations, verification steps, evidence, test results, and unverified cases. It does not use the exact Problem, Change, and Scope and approval headings, and it does not provide an explicit maintainer approval or triaged issue link, but the description is otherwise mostly complete.
Finishing Touches
Generate docstrings
- Commit to this branch
- Create a new PR
Generate unit tests (beta)
- Commit to this branch
- Create a new PR
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts