Skip to content

feat: support MCP Apps#188

Merged
connor4312 merged 8 commits into
mainfrom
connor4312/mcp-2
Jun 4, 2026
Merged

feat: support MCP Apps#188
connor4312 merged 8 commits into
mainfrom
connor4312/mcp-2

Conversation

@connor4312
Copy link
Copy Markdown
Member

  • Represents MCP servers in customizations and allow their state/ authentication requirements to be reflected.
  • Breaking: swap ToolCallBase.clientId -> ToolCallBase.contributor to allow signalling tool calls were triggered by particular MCP servers.
  • Add additional ToolCallBase._meta note for MCP servers and introduce the mcp:// protocol channel.

builds on #182

- Represents MCP servers in customizations and allow their state/
  authentication requirements to be reflected.
- Breaking: swap `ToolCallBase.clientId` -> `ToolCallBase.contributor`
  to allow signalling tool calls were triggered by particular MCP servers.
- Add additional ToolCallBase._meta note for MCP servers and introduce
  the `mcp://` protocol channel.

This should support all the base features of MCP + MCP Apps, excluding
sampling, which is deprecated in the upcoming 2026-07-28 MCP spec and
therefore not something I bothered including.
# Conflicts:
#	CHANGELOG.md
#	clients/go/CHANGELOG.md
#	clients/kotlin/CHANGELOG.md
#	clients/rust/CHANGELOG.md
#	clients/rust/crates/ahp-types/src/actions.rs
#	clients/swift/CHANGELOG.md
#	clients/typescript/CHANGELOG.md
#	scripts/generate-go.ts
#	scripts/generate-kotlin.ts
#	scripts/generate-rust.ts
#	scripts/generate-swift.ts
# Conflicts:
#	CHANGELOG.md
#	clients/go/CHANGELOG.md
#	clients/kotlin/CHANGELOG.md
#	clients/rust/CHANGELOG.md
#	clients/swift/CHANGELOG.md
#	clients/typescript/CHANGELOG.md
- Rust: box McpServer customization variants and SessionMcpServerStateChanged action payload to satisfy clippy::large_enum_variant (ProtectedResourceMetadata payload pushes McpServerState past the 200-byte budget).
- Kotlin: emitKDoc sanitizes nested block-comment delimiters (insert U+200B inside */) so doc strings containing 'tools/*' and 'resources/*' don't close the enclosing /** */ early.
- Kotlin reducers: add CustomizationMcpServer branches to the four exhaustive 'when' helpers (id/children/withChildren/withEnabled).
@connor4312 connor4312 marked this pull request as ready for review June 3, 2026 05:23
@connor4312 connor4312 enabled auto-merge June 3, 2026 05:24
@connor4312 connor4312 disabled auto-merge June 3, 2026 05:24
@connor4312
Copy link
Copy Markdown
Member Author

This does involve a breaking change, so I will hold off on merging until I have a PR ready in VS Code. In the interim any review would be appreciated.

dbaeumer
dbaeumer previously approved these changes Jun 3, 2026
# Conflicts:
#	clients/rust/crates/ahp-types/src/actions.rs
#	scripts/generate-rust.ts
#	types/channels-session/state.ts
sandy081
sandy081 previously approved these changes Jun 4, 2026
# Conflicts:
#	CHANGELOG.md
#	clients/go/CHANGELOG.md
#	clients/kotlin/CHANGELOG.md
#	clients/rust/CHANGELOG.md
#	clients/swift/CHANGELOG.md
#	clients/typescript/CHANGELOG.md
#	types/channels-session/state.ts
@connor4312 connor4312 merged commit 0ce713b into main Jun 4, 2026
8 checks passed
@connor4312 connor4312 deleted the connor4312/mcp-2 branch June 4, 2026 20:53
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.

4 participants