Skip to content

Commit 8e3a312

Browse files
committed
simplify add_prompt() args to always use fn
1 parent 004a3fb commit 8e3a312

File tree

2 files changed

+10
-18
lines changed

2 files changed

+10
-18
lines changed

src/mcp/server/fastmcp/prompts/manager.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,18 @@ def list_prompts(self) -> list[Prompt]:
2525

2626
def add_prompt(
2727
self,
28-
prompt_or_fn: Prompt | Callable[..., Any],
28+
fn: Callable[..., Any],
2929
name: str | None = None,
3030
description: str | None = None,
3131
) -> Prompt:
3232
"""Add a prompt to the manager.
3333
3434
Args:
35-
prompt_or_fn: Either a Prompt object or a function to create a prompt from
36-
name: Optional name for the prompt (only used if prompt_or_fn is a function)
37-
description: Optional description of the prompt (only used if prompt_or_fn is a function)
35+
fn: Function to create a prompt from
36+
name: Optional name for the prompt
37+
description: Optional description of the prompt
3838
"""
39-
# If a function was provided, create a Prompt object from it
40-
if callable(prompt_or_fn) and not isinstance(prompt_or_fn, Prompt):
41-
prompt = Prompt.from_function(
42-
prompt_or_fn, name=name, description=description
43-
)
44-
else:
45-
prompt = prompt_or_fn
39+
prompt = Prompt.from_function(fn, name=name, description=description)
4640

4741
# Check for duplicates
4842
existing = self._prompts.get(prompt.name)

src/mcp/server/fastmcp/server.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -486,20 +486,18 @@ def decorator(fn: AnyFunction) -> AnyFunction:
486486

487487
def add_prompt(
488488
self,
489-
prompt_or_fn: Prompt | Callable[..., Any],
489+
fn: Callable[..., Any],
490490
name: str | None = None,
491491
description: str | None = None,
492492
) -> None:
493493
"""Add a prompt to the server.
494494
495495
Args:
496-
prompt_or_fn: Either a Prompt object or a function to create a prompt from
497-
name: Optional name for the prompt (only used if prompt_or_fn is a function)
498-
description: Optional description of the prompt (only used if prompt_or_fn is a function)
496+
fn: Function to create a prompt from
497+
name: Optional name for the prompt
498+
description: Optional description of the prompt
499499
"""
500-
self._prompt_manager.add_prompt(
501-
prompt_or_fn, name=name, description=description
502-
)
500+
self._prompt_manager.add_prompt(fn, name=name, description=description)
503501

504502
def prompt(
505503
self, name: str | None = None, description: str | None = None

0 commit comments

Comments
 (0)