Dynamic Schema

A Dynamic Schema is a JSON Schema used in MCP that is not fixed at build time, but is instead generated or modified by the server depending on the current state.

Use Cases

Implementation

Servers use the notifications/capabilities/changed method to signal to the host that it should re-fetch (tools/list or resources/list) the latest dynamic schema.

Questions & Answers

What is a "Dynamic Schema" in the context of MCP?

A Dynamic Schema is a JSON Schema that is not static; instead, it is generated or updated by the MCP server at runtime based on the server's current state, discovered data, or user permissions.

In what scenarios would an MCP server use a dynamic schema?

Dynamic schemas are useful for database-backed servers that need to generate schemas for discovered tables, API wrappers that adjust tool lists based on user auth, or workflow tools where arguments depend on previous steps.

How does an MCP server notify a client that its schema has changed?

The server sends a notifications/capabilities/changed message to the host application, which then triggers the host to re-fetch the tool or resource list to obtain the latest schema.

Back to Glossary