fastmcp/docs/python-sdk/fastmcp-server-providers-local_provider-decorators-prompts.mdx
Jeremiah Lowin bb3e159bc6
Fix decorator overload return types for function mode (#3258)
* Fix TypeVar placement to satisfy ruff E402

* chore: Update SDK documentation

---------

Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-20 20:30:39 -05:00

81 lines
3.3 KiB
Text

---
title: prompts
sidebarTitle: prompts
---
# `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.