Skip to main content

Extensions overview

Optional additions to the Model Context Protocol beyond the core specification.

Adapted from Extensions Overview.

MCP Apps / interactive extension concept

Extensions expand what hosts and servers can do while keeping the core protocol stable.

Official extension areas

AreaExamples
AuthorizationOAuth client credentials, enterprise-managed authorization
MCP AppsInteractive HTML UIs inside hosts — Apps
TasksAsync long-running operations — Tasks

Official repos live under the Model Context Protocol org with an ext- prefix. Experimental work uses experimental-ext-.

See the client matrix for which hosts implement which extensions.

Negotiation

Clients advertise extension support in _meta["io.modelcontextprotocol/clientCapabilities"].extensions on each request. Servers advertise extensions in server/discover capabilities.

If only one side supports an extension, fall back to core behaviour or reject when the extension is mandatory — document the expected fallback.

Creating extensions

Lifecycle is SEP-based (SEP-2133): propose → implement reference → Core Maintainer review → publish → adopt. Third parties should use a reversed domain they own as vendor prefix.

Negative cases

  • Assuming an extension is universal → check the client matrix.
  • Enabling extensions by default in SDKs → violates “opt-in” rule.
  • Breaking changes without a new extension id / capability flag → breaks clients.

Discussion

Comments

Share feedback or questions about this page. No account required.

Loading comments…