Skip to main content

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”, )