--- title: approval sidebarTitle: approval --- # `fastmcp.apps.approval` Approval — a Provider that adds human-in-the-loop approval to any server. The LLM presents a summary of what it's about to do, and the user approves or rejects via buttons. The result is sent back into the conversation as a message, prompting the LLM's next turn. Requires ``fastmcp[apps]`` (prefab-ui). Usage:: from fastmcp import FastMCP from fastmcp.apps.approval import Approval mcp = FastMCP("My Server") mcp.add_provider(Approval()) ## Classes ### `Approval` A Provider that adds human-in-the-loop approval to a server. The LLM calls the ``request_approval`` tool with a summary and optional details. The user sees an approval card with Approve and Reject buttons. Clicking either sends a message back into the conversation (via ``SendMessage``), triggering the LLM's next turn. The message appears as if the user sent it, so the LLM sees something like ``'"Deploy v3.2 to production" is APPROVED'``. Example:: from fastmcp import FastMCP from fastmcp.apps.approval import Approval mcp = FastMCP("My Server") mcp.add_provider(Approval()) Customized:: Approval( title="Deploy Gate", approve_text="Ship it", approve_variant="default", reject_text="Abort", reject_variant="destructive", )