Skip to content

Commit 98885e2

Browse files
committed
Clarified docstring and enhanced readability.
1 parent 97ee03f commit 98885e2

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

  • src/mcp/server/mcpserver/prompts

src/mcp/server/mcpserver/prompts/base.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ async def render(
178178
through unchanged so the multi-round-trip flow reaches the client.
179179
180180
Raises:
181-
PromptValidationError: If required arguments are missing, or if rendering fails.
181+
PromptValidationError: If required arguments are missing.
182+
ValueError: If the prompt function itself raises an unexpected exception.
182183
"""
183184
# Validate required arguments
184185
if self.arguments:
@@ -195,6 +196,7 @@ async def render(
195196
fn = self.fn
196197
if is_async_callable(fn):
197198
result = await fn(**call_args)
199+
198200
else:
199201
result = await anyio.to_thread.run_sync(functools.partial(self.fn, **call_args))
200202

@@ -210,16 +212,21 @@ async def render(
210212
for msg in result: # type: ignore[reportUnknownVariableType]
211213
if isinstance(msg, Message):
212214
messages.append(msg)
215+
213216
elif isinstance(msg, dict):
214217
messages.append(message_validator.validate_python(msg))
218+
215219
elif isinstance(msg, str | ContentBlock | Image | Audio): # bare content is one user message
216220
messages.append(UserMessage(msg))
221+
217222
else: # pragma: no cover
218223
content = pydantic_core.to_json(msg, fallback=str, indent=2).decode()
219224
messages.append(Message(role="user", content=content))
220225

221226
return messages
227+
222228
except MCPError:
223229
raise
230+
224231
except Exception as e:
225232
raise ValueError(f"Error rendering prompt {self.name}: {e}")

0 commit comments

Comments
 (0)