Skip to content

Commit b13f8f3

Browse files
fix: chain exceptions in get_prompt and read_resource handlers
Two raise statements discarded the causal exception chain: - Line 1112: raise ValueError(str(e)) → raise ValueError(str(e)) from e - Line 451: raise ResourceError(...) → raise ResourceError(...) from exc The same file already uses `from exc` correctly at line 459. Without `from`, callers lose the original traceback and cannot programmatically inspect the root cause via __cause__. Fixes #2541
1 parent 3d7b311 commit b13f8f3

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

src/mcp/server/mcpserver/server.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,8 @@ async def read_resource(
447447
context = Context(mcp_server=self)
448448
try:
449449
resource = await self._resource_manager.get_resource(uri, context)
450-
except ValueError:
451-
raise ResourceError(f"Unknown resource: {uri}")
450+
except ValueError as exc:
451+
raise ResourceError(f"Unknown resource: {uri}") from exc
452452

453453
try:
454454
content = await resource.read()
@@ -1109,4 +1109,4 @@ async def get_prompt(
11091109
)
11101110
except Exception as e:
11111111
logger.exception(f"Error getting prompt {name}")
1112-
raise ValueError(str(e))
1112+
raise ValueError(str(e)) from e

0 commit comments

Comments
 (0)