File tree Expand file tree Collapse file tree 1 file changed +6
-1
lines changed
Expand file tree Collapse file tree 1 file changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -459,7 +459,7 @@ async def _handle_request(
459459 kind = "SERVER" ,
460460 attributes = {"mcp.method.name" : req .method , "jsonrpc.request.id" : message .request_id },
461461 context = parent_context ,
462- ):
462+ ) as span :
463463 if handler := self ._request_handlers .get (req .method ):
464464 logger .debug ("Dispatching request of type %s" , type (req ).__name__ )
465465
@@ -515,6 +515,11 @@ async def _handle_request(
515515 else : # pragma: no cover
516516 response = types .ErrorData (code = types .METHOD_NOT_FOUND , message = "Method not found" )
517517
518+ if isinstance (response , types .ErrorData ) and span is not None :
519+ from opentelemetry .trace import StatusCode
520+
521+ span .set_status (StatusCode .ERROR , response .message )
522+
518523 try :
519524 await message .respond (response )
520525 except (anyio .BrokenResourceError , anyio .ClosedResourceError ):
You can’t perform that action at this time.
0 commit comments