File tree Expand file tree Collapse file tree
tests/interaction/mcpserver Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -342,7 +342,12 @@ async def _handle_read_resource(
342342 self , ctx : ServerRequestContext [LifespanResultT ], params : ReadResourceRequestParams
343343 ) -> ReadResourceResult :
344344 context = Context (request_context = ctx , mcp_server = self )
345- results = await self .read_resource (params .uri , context )
345+ try :
346+ results = await self .read_resource (params .uri , context )
347+ except ResourceError as exc :
348+ if isinstance (exc .__cause__ , UnknownResourceError ):
349+ raise MCPError (RESOURCE_NOT_FOUND , str (exc )) from exc
350+ raise
346351 contents : list [TextResourceContents | BlobResourceContents ] = []
347352 for item in results :
348353 if isinstance (item .content , bytes ):
@@ -449,7 +454,7 @@ async def read_resource(
449454 try :
450455 resource = await self ._resource_manager .get_resource (uri , context )
451456 except UnknownResourceError as exc :
452- raise MCPError ( RESOURCE_NOT_FOUND , f"Unknown resource: { uri } " ) from exc
457+ raise ResourceError ( f"Unknown resource: { uri } " ) from exc
453458 except ValueError as exc :
454459 logger .exception (f"Error getting resource { uri } " )
455460 raise ResourceError (f"Error reading resource { uri } " ) from exc
Original file line number Diff line number Diff line change @@ -167,9 +167,7 @@ def user_profile(user_id: str) -> str:
167167 with pytest .raises (MCPError ) as exc_info :
168168 await client .read_resource ("users://42/profile" )
169169
170- assert exc_info .value .error == snapshot (
171- ErrorData (code = 0 , message = "Error reading resource users://42/profile" )
172- )
170+ assert exc_info .value .error == snapshot (ErrorData (code = 0 , message = "Error reading resource users://42/profile" ))
173171
174172
175173@requirement ("mcpserver:resource:duplicate-name" )
You can’t perform that action at this time.
0 commit comments