> ## Documentation Index
> Fetch the complete documentation index at: https://gofastmcp.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# choice

# `fastmcp.apps.choice`

Choice — a Provider that lets the user pick from a set of options.

The LLM presents options, the user clicks one, and the selection
flows back into the conversation as a message.

Requires `fastmcp[apps]` (prefab-ui).

Usage::

from fastmcp import FastMCP
from fastmcp.apps.choice import Choice

mcp = FastMCP("My Server")
mcp.add\_provider(Choice())

## Classes

### `Choice` <sup>[https://github.com/PrefectHQ/fastmcp/blob/main/fastmcp\_slim/fastmcp/apps/choice.py#L46](https://github.com/PrefectHQ/fastmcp/blob/main/fastmcp_slim/fastmcp/apps/choice.py#L46)</sup>

A Provider that lets the user choose from a set of options.

The LLM calls `choose` with a prompt and a list of options.
The user sees a card with one button per option. Clicking a button
sends the selection back into the conversation via `SendMessage`,
triggering the LLM's next turn.

Example::

from fastmcp import FastMCP
from fastmcp.apps.choice import Choice

mcp = FastMCP("My Server")
mcp.add\_provider(Choice())


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.