Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions specification/draft/apps.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -548,8 +548,8 @@ When the View sends an `ui/initialize` request to the Host, it MUST include its

```typescript
interface McpUiAppCapabilities {
/** Experimental features (structure TBD). */
experimental?: {};
/** Experimental features keyed by identifier. */
experimental?: Record<string, object>;
/** App exposes MCP-style tools that the host can call. */
Comment thread
idosal marked this conversation as resolved.
tools?: {
/** App supports tools/list_changed notifications. */
Expand Down Expand Up @@ -677,8 +677,8 @@ interface SupportedContentBlockModalities {
}

interface HostCapabilities {
/** Experimental features (structure TBD). */
experimental?: {};
/** Experimental features keyed by identifier. */
experimental?: Record<string, object>;
/** Host supports opening external URLs. */
openLinks?: {};
/** Host supports file downloads via ui/download-file. */
Expand Down
10 changes: 9 additions & 1 deletion src/app-bridge.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ function createMockClient(
const testHostInfo = { name: "TestHost", version: "1.0.0" };
const testAppInfo = { name: "TestApp", version: "1.0.0" };
const testHostCapabilities: McpUiHostCapabilities = {
experimental: {
"com.example/host-extension": { version: 1 },
},
openLinks: {},
serverTools: {},
logging: {},
Expand Down Expand Up @@ -97,7 +100,12 @@ describe("App <-> AppBridge integration", () => {
});

it("Bridge receives app info and capabilities after initialization", async () => {
const appCapabilities = { tools: { listChanged: true } };
const appCapabilities = {
experimental: {
"com.example/app-extension": { version: 1 },
},
tools: { listChanged: true },
};
app = new App(testAppInfo, appCapabilities, { autoResize: false });

await bridge.connect(bridgeTransport);
Expand Down
60 changes: 48 additions & 12 deletions src/generated/schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 16 additions & 6 deletions src/generated/schema.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions src/spec.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -492,8 +492,8 @@ export interface McpUiRequestTeardownNotification {
* @see {@link McpUiInitializeResult `McpUiInitializeResult`} for the initialization result that includes these capabilities
*/
export interface McpUiHostCapabilities {
/** @description Experimental features (structure TBD). */
experimental?: {};
/** @description Experimental features keyed by identifier. */
experimental?: Record<string, object>;
/** @description Host supports opening external URLs. */
Comment thread
idosal marked this conversation as resolved.
openLinks?: {};
/** @description Host supports file downloads via ui/download-file. */
Expand Down Expand Up @@ -536,8 +536,8 @@ export interface McpUiHostCapabilities {
* @see {@link McpUiInitializeRequest `McpUiInitializeRequest`} for the initialization request that includes these capabilities
*/
export interface McpUiAppCapabilities {
/** @description Experimental features (structure TBD). */
experimental?: {};
/** @description Experimental features keyed by identifier. */
experimental?: Record<string, object>;
/** @description App exposes MCP-style tools that the host can call. */
tools?: {
/** @description App supports tools/list_changed notifications. */
Expand Down
Loading