Back to Fastmcp

prompts

docs/python-sdk/fastmcp-server-providers-local_provider-decorators-prompts.mdx

3.2.43.2 KB
Original Source

fastmcp.server.providers.local_provider.decorators.prompts

Prompt decorator mixin for LocalProvider.

This module provides the PromptDecoratorMixin class that adds prompt registration functionality to LocalProvider.

Classes

PromptDecoratorMixin <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/providers/local_provider/decorators/prompts.py#L29" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Mixin class providing prompt decorator functionality for LocalProvider.

This mixin contains all methods related to:

  • Prompt registration via add_prompt()
  • Prompt decorator (@provider.prompt)

Methods:

add_prompt <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/providers/local_provider/decorators/prompts.py#L37" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
add_prompt(self: LocalProvider, prompt: Prompt | Callable[..., Any]) -> Prompt

Add a prompt to this provider's storage.

Accepts either a Prompt object or a decorated function with fastmcp metadata.

prompt <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/providers/local_provider/decorators/prompts.py#L74" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
prompt(self: LocalProvider, name_or_fn: F) -> F

prompt <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/providers/local_provider/decorators/prompts.py#L91" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
prompt(self: LocalProvider, name_or_fn: str | None = None) -> Callable[[F], F]

prompt <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/providers/local_provider/decorators/prompts.py#L107" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
prompt(self: LocalProvider, name_or_fn: str | AnyFunction | None = None) -> Callable[[AnyFunction], FunctionPrompt] | FunctionPrompt | partial[Callable[[AnyFunction], FunctionPrompt] | FunctionPrompt]

Decorator to register a prompt.

This decorator supports multiple calling patterns:

  • @provider.prompt (without parentheses)
  • @provider.prompt() (with empty parentheses)
  • @provider.prompt("custom_name") (with name as first argument)
  • @provider.prompt(name="custom_name") (with name as keyword argument)
  • provider.prompt(function, name="custom_name") (direct function call)

Args:

  • name_or_fn: Either a function (when used as @prompt), a string name, or None
  • name: Optional name for the prompt (keyword-only, alternative to name_or_fn)
  • title: Optional title for the prompt
  • description: Optional description of what the prompt does
  • icons: Optional icons for the prompt
  • tags: Optional set of tags for categorizing the prompt
  • enabled: Whether the prompt is enabled (default True). If False, adds to blocklist.
  • meta: Optional meta information about the prompt
  • task: Optional task configuration for background execution
  • auth: Optional authorization checks for the prompt

Returns:

  • The registered FunctionPrompt or a decorator function.