fastmcp.server.completions
Server-side argument completion for FastMCP.
A completion request names a reference — a specific prompt or resource
template — and the argument being completed, plus a context of the argument
values already supplied. The server answers with candidate string values.
FastMCP surfaces this as a single server-level handler registered with
@mcp.completion, mirroring the MCP SDK’s own completion/complete shape
and FastMCP’s client-side Client.complete(). The handler receives the
reference, the argument, and the optional context, and returns candidates for
whichever reference/argument pair it recognizes.
Functions
normalize_completion
Completion.
A returned str is rejected: it is almost always a mistake (the value
would iterate into one-character candidates), so it raises rather than
silently producing surprising output.
The MCP contract caps a completion at 100 values, so a longer result is
truncated to the first 100 with has_more set — a handler that returns
thousands of matches emits a conforming response rather than an oversized
one that strict clients reject.
