[goose2] MCP Apps: translate ACP host capabilities into MCP initialization (#8623)
Signed-off-by: Andrew Harvard <aharvard@squareup.com>
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
"format": "prettier --write src/"
|
||||
},
|
||||
"dependencies": {
|
||||
"@modelcontextprotocol/ext-apps": "^0.3.1",
|
||||
"zod": "^3.25.76"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
||||
@@ -2,6 +2,7 @@ export * from "./generated/types.gen.js";
|
||||
export * from "./generated/zod.gen.js";
|
||||
export { GooseClient } from "./goose-client.js";
|
||||
export { createHttpStream } from "./http-stream.js";
|
||||
export * from "./mcp-apps.js";
|
||||
|
||||
export {
|
||||
ClientSideConnection,
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
import type {
|
||||
Implementation,
|
||||
InitializeRequest,
|
||||
} from "@agentclientprotocol/sdk";
|
||||
import { RESOURCE_MIME_TYPE } from "@modelcontextprotocol/ext-apps";
|
||||
|
||||
export const GOOSE_MCP_UI_EXTENSION_ID = "io.modelcontextprotocol/ui" as const;
|
||||
|
||||
export interface GooseMcpUiExtensionSettings {
|
||||
mimeTypes: string[];
|
||||
}
|
||||
|
||||
export interface GooseMcpHostCapabilities {
|
||||
extensions: Record<string, GooseMcpUiExtensionSettings>;
|
||||
}
|
||||
|
||||
export interface GooseClientMeta {
|
||||
goose: {
|
||||
mcpHostCapabilities: GooseMcpHostCapabilities;
|
||||
};
|
||||
}
|
||||
|
||||
export type GooseInitializeRequest = InitializeRequest & {
|
||||
clientCapabilities: NonNullable<InitializeRequest["clientCapabilities"]> & {
|
||||
_meta: GooseClientMeta;
|
||||
};
|
||||
clientInfo: Implementation;
|
||||
};
|
||||
|
||||
export const DEFAULT_GOOSE_MCP_HOST_CAPABILITIES: GooseMcpHostCapabilities = {
|
||||
extensions: {
|
||||
[GOOSE_MCP_UI_EXTENSION_ID]: {
|
||||
mimeTypes: [RESOURCE_MIME_TYPE],
|
||||
},
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user