diff --git a/src/mcp/server/mcpserver/prompts/base.py b/src/mcp/server/mcpserver/prompts/base.py index e5b2af7d8..d6e5d1639 100644 --- a/src/mcp/server/mcpserver/prompts/base.py +++ b/src/mcp/server/mcpserver/prompts/base.py @@ -182,8 +182,8 @@ async def render( content = pydantic_core.to_json(msg, fallback=str, indent=2).decode() messages.append(Message(role="user", content=content)) except Exception: # pragma: no cover - raise ValueError(f"Could not convert prompt result to message: {msg}") + raise ValueError(f"Could not convert prompt result to message: {msg}") from None return messages except Exception as e: # pragma: no cover - raise ValueError(f"Error rendering prompt {self.name}: {e}") + raise ValueError(f"Error rendering prompt {self.name}: {e}") from e diff --git a/src/mcp/server/mcpserver/resources/templates.py b/src/mcp/server/mcpserver/resources/templates.py index f1ee29a37..edde0c4c4 100644 --- a/src/mcp/server/mcpserver/resources/templates.py +++ b/src/mcp/server/mcpserver/resources/templates.py @@ -130,4 +130,4 @@ async def create_resource( fn=lambda: result, # Capture result in closure ) except Exception as e: - raise ValueError(f"Error creating resource from template: {e}") + raise ValueError(f"Error creating resource from template: {e}") from e diff --git a/src/mcp/shared/experimental/tasks/in_memory_task_store.py b/src/mcp/shared/experimental/tasks/in_memory_task_store.py index 42f4fb703..625f96027 100644 --- a/src/mcp/shared/experimental/tasks/in_memory_task_store.py +++ b/src/mcp/shared/experimental/tasks/in_memory_task_store.py @@ -169,7 +169,7 @@ async def list_tasks( cursor_index = all_task_ids.index(cursor) start_index = cursor_index + 1 except ValueError: - raise ValueError(f"Invalid cursor: {cursor}") + raise ValueError(f"Invalid cursor: {cursor}") from None page_task_ids = all_task_ids[start_index : start_index + self._page_size] tasks = [Task(**self._tasks[tid].task.model_dump()) for tid in page_task_ids]