Skip to content

spec(draft): add missing HostCapabilities fields (updateModelContext and message)#653

Open
hydrosquall wants to merge 1 commit intomodelcontextprotocol:mainfrom
hydrosquall:cameron.yick/spec-draft-host-capabilities-drift
Open

spec(draft): add missing HostCapabilities fields (updateModelContext and message)#653
hydrosquall wants to merge 1 commit intomodelcontextprotocol:mainfrom
hydrosquall:cameron.yick/spec-draft-host-capabilities-drift

Conversation

@hydrosquall
Copy link
Copy Markdown
Contributor

@hydrosquall hydrosquall commented May 6, 2026

Motivation

The draft spec is the source of truth for contributors and implementors, including those who may not know to look in src/spec.types.ts for the full picture.

Two host capabilities present in the implementation were missing from the spec, making it less likely that new hosts would report these fields to client apps.

Changes

Adds two missing fields to HostCapabilities:

  • updateModelContext - signals the host accepts ui/update-model-context requests to inject context into future model turns.
  • message - signals the host accepts ui/message content from the view.

Both fields use a new SupportedContentBlockModalities helper interface (mirroring McpUiSupportedContentBlockModalities in spec.types.ts) that describes which content block types the host supports for each capability.

Testing

N/A

};
};
/**
* Host accepts context updates (ui/update-model-context) to be included in
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Matches the ordering in the types

ext-apps/src/spec.types.ts

Lines 520 to 523 in 0008d3b

/** @description Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns. */
updateModelContext?: McpUiSupportedContentBlockModalities;
/** @description Host supports receiving content messages (ui/message) from the view. */
message?: McpUiSupportedContentBlockModalities;


```typescript
/** Content block modalities that the host supports for a given capability. */
interface SupportedContentBlockModalities {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See

ext-apps/src/spec.types.ts

Lines 462 to 475 in 0008d3b

export interface McpUiSupportedContentBlockModalities {
/** @description Host supports text content blocks. */
text?: {};
/** @description Host supports image content blocks. */
image?: {};
/** @description Host supports audio content blocks. */
audio?: {};
/** @description Host supports resource content blocks. */
resource?: {};
/** @description Host supports resource link content blocks. */
resourceLink?: {};
/** @description Host supports structured content. */
structuredContent?: {};
}

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 6, 2026

Open in StackBlitz

@modelcontextprotocol/ext-apps

npm i https://pkg.pr.new/@modelcontextprotocol/ext-apps@653

@modelcontextprotocol/server-basic-preact

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-preact@653

@modelcontextprotocol/server-basic-react

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-react@653

@modelcontextprotocol/server-basic-solid

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-solid@653

@modelcontextprotocol/server-basic-svelte

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-svelte@653

@modelcontextprotocol/server-basic-vanillajs

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-vanillajs@653

@modelcontextprotocol/server-basic-vue

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-vue@653

@modelcontextprotocol/server-budget-allocator

npm i https://pkg.pr.new/@modelcontextprotocol/server-budget-allocator@653

@modelcontextprotocol/server-cohort-heatmap

npm i https://pkg.pr.new/@modelcontextprotocol/server-cohort-heatmap@653

@modelcontextprotocol/server-customer-segmentation

npm i https://pkg.pr.new/@modelcontextprotocol/server-customer-segmentation@653

@modelcontextprotocol/server-debug

npm i https://pkg.pr.new/@modelcontextprotocol/server-debug@653

@modelcontextprotocol/server-map

npm i https://pkg.pr.new/@modelcontextprotocol/server-map@653

@modelcontextprotocol/server-pdf

npm i https://pkg.pr.new/@modelcontextprotocol/server-pdf@653

@modelcontextprotocol/server-scenario-modeler

npm i https://pkg.pr.new/@modelcontextprotocol/server-scenario-modeler@653

@modelcontextprotocol/server-shadertoy

npm i https://pkg.pr.new/@modelcontextprotocol/server-shadertoy@653

@modelcontextprotocol/server-sheet-music

npm i https://pkg.pr.new/@modelcontextprotocol/server-sheet-music@653

@modelcontextprotocol/server-system-monitor

npm i https://pkg.pr.new/@modelcontextprotocol/server-system-monitor@653

@modelcontextprotocol/server-threejs

npm i https://pkg.pr.new/@modelcontextprotocol/server-threejs@653

@modelcontextprotocol/server-transcript

npm i https://pkg.pr.new/@modelcontextprotocol/server-transcript@653

@modelcontextprotocol/server-video-resource

npm i https://pkg.pr.new/@modelcontextprotocol/server-video-resource@653

@modelcontextprotocol/server-wiki-explorer

npm i https://pkg.pr.new/@modelcontextprotocol/server-wiki-explorer@653

commit: 8f97cd3

@hydrosquall hydrosquall changed the title spec(draft): add missing HostCapabilities fields spec(draft): add missing HostCapabilities fields (updateModelContext and message) May 6, 2026
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.

1 participant