docs/python-sdk/fastmcp-prompts-function_prompt.mdx
fastmcp.prompts.function_promptStandalone @prompt decorator for FastMCP.
prompt <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/prompts/function_prompt.py#L431" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>prompt(name_or_fn: str | Callable[..., Any] | None = None) -> Any
Standalone decorator to mark a function as an MCP prompt.
Returns the original function with metadata attached. Register with a server using mcp.add_prompt().
DecoratedPrompt <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/prompts/function_prompt.py#L54" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Protocol for functions decorated with @prompt.
PromptMeta <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/prompts/function_prompt.py#L63" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Metadata attached to functions by the @prompt decorator.
FunctionPrompt <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/prompts/function_prompt.py#L79" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>A prompt that is a function.
Methods:
from_function <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/prompts/function_prompt.py#L85" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>from_function(cls, fn: Callable[..., Any]) -> FunctionPrompt
Create a Prompt from a function.
Args:
fn: The function to wrapmetadata: PromptMeta object with all configuration. If provided,
individual parameters must not be passed.name, title, etc.: Individual parameters for backwards compatibility.
Cannot be used together with metadata parameter.The function can return:
render <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/prompts/function_prompt.py#L318" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>render(self, arguments: dict[str, Any] | None = None) -> PromptResult
Render the prompt with arguments.
register_with_docket <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/prompts/function_prompt.py#L368" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>register_with_docket(self, docket: Docket) -> None
Register this prompt with docket for background execution.
add_to_docket <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/prompts/function_prompt.py#L374" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>add_to_docket(self, docket: Docket, arguments: dict[str, Any] | None, **kwargs: Any) -> Execution
Schedule this prompt for background execution via docket.
FunctionPrompt splats the arguments dict since .fn expects **kwargs.
Args:
docket: The Docket instancearguments: Prompt argumentsfn_key: Function lookup key in Docket registry (defaults to self.key)task_key: Redis storage key for the result**kwargs: Additional kwargs passed to docket.add()