Back to Fastmcp

generative

docs/python-sdk/fastmcp-apps-generative.mdx

3.2.41.5 KB
Original Source

fastmcp.apps.generative

GenerativeUI — a Provider that adds LLM-generated UI capabilities.

Registers tools and resources from prefab_ui.generative so that an LLM can write Prefab Python code, execute it in a sandbox, and render the result as a streaming interactive UI.

Requires fastmcp[apps] (prefab-ui).

Usage::

from fastmcp import FastMCP
from fastmcp.apps.generative import GenerativeUI

mcp = FastMCP("My Server")
mcp.add_provider(GenerativeUI())

Classes

GenerativeUI <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/apps/generative.py#L53" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

A Provider that adds generative UI capabilities to a server.

Registers:

  • A generate_ui tool that accepts Prefab Python code, executes it in a Pyodide sandbox, and returns the rendered PrefabApp. Supports streaming via ontoolinputpartial.
  • A components tool that searches the Prefab component library.
  • The generative renderer resource with CSP for Pyodide CDN access.

Example::

from fastmcp import FastMCP
from fastmcp.apps.generative import GenerativeUI

mcp = FastMCP("My Server")
mcp.add_provider(GenerativeUI())

Methods:

lifespan <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/apps/generative.py#L196" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
lifespan(self) -> AsyncIterator[None]