@@ -138,8 +138,9 @@ def __init__(
138138 self ,
139139 name : str | None = None ,
140140 instructions : str | None = None ,
141- auth_server_provider : OAuthAuthorizationServerProvider [Any , Any , Any ]
142- | None = None ,
141+ auth_server_provider : (
142+ OAuthAuthorizationServerProvider [Any , Any , Any ] | None
143+ ) = None ,
143144 event_store : EventStore | None = None ,
144145 ** settings : Any ,
145146 ):
@@ -148,9 +149,11 @@ def __init__(
148149 self ._mcp_server = MCPServer (
149150 name = name or "FastMCP" ,
150151 instructions = instructions ,
151- lifespan = lifespan_wrapper (self , self .settings .lifespan )
152- if self .settings .lifespan
153- else default_lifespan ,
152+ lifespan = (
153+ lifespan_wrapper (self , self .settings .lifespan )
154+ if self .settings .lifespan
155+ else default_lifespan
156+ ),
154157 )
155158 self ._tool_manager = ToolManager (
156159 warn_on_duplicate_tools = self .settings .warn_on_duplicate_tools
@@ -481,13 +484,22 @@ def decorator(fn: AnyFunction) -> AnyFunction:
481484
482485 return decorator
483486
484- def add_prompt (self , prompt : Prompt ) -> None :
487+ def add_prompt (
488+ self ,
489+ prompt_or_fn : Prompt | Callable [..., Any ],
490+ name : str | None = None ,
491+ description : str | None = None ,
492+ ) -> None :
485493 """Add a prompt to the server.
486494
487495 Args:
488- prompt: A Prompt instance to add
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)
489499 """
490- self ._prompt_manager .add_prompt (prompt )
500+ self ._prompt_manager .add_prompt (
501+ prompt_or_fn , name = name , description = description
502+ )
491503
492504 def prompt (
493505 self , name : str | None = None , description : str | None = None
@@ -533,8 +545,7 @@ async def analyze_file(path: str) -> list[Message]:
533545 )
534546
535547 def decorator (func : AnyFunction ) -> AnyFunction :
536- prompt = Prompt .from_function (func , name = name , description = description )
537- self .add_prompt (prompt )
548+ self .add_prompt (func , name = name , description = description )
538549 return func
539550
540551 return decorator
0 commit comments