@@ -178,33 +178,6 @@ def _get_request_context_data(
178178 return request_id , session_id , mcp_transport
179179
180180
181- def _get_span_config (
182- handler_type : str , item_name : str
183- ) -> "tuple[str, str, str, Optional[str]]" :
184- """
185- Get span configuration based on handler type.
186-
187- Returns:
188- Tuple of (span_data_key, span_name, mcp_method_name, result_data_key)
189- Note: result_data_key is None for resources
190- """
191- if handler_type == "tool" :
192- span_data_key = SPANDATA .MCP_TOOL_NAME
193- mcp_method_name = "tools/call"
194- result_data_key = SPANDATA .MCP_TOOL_RESULT_CONTENT
195- elif handler_type == "prompt" :
196- span_data_key = SPANDATA .MCP_PROMPT_NAME
197- mcp_method_name = "prompts/get"
198- result_data_key = SPANDATA .MCP_PROMPT_RESULT_MESSAGE_CONTENT
199- else : # resource
200- span_data_key = SPANDATA .MCP_RESOURCE_URI
201- mcp_method_name = "resources/read"
202- result_data_key = None # Resources don't capture result content
203-
204- span_name = f"{ mcp_method_name } { item_name } "
205- return span_data_key , span_name , mcp_method_name , result_data_key
206-
207-
208181def _set_span_input_data (
209182 span : "Union[StreamedSpan, Span]" ,
210183 handler_name : str ,
@@ -508,10 +481,6 @@ async def _tool_handler_wrapper(
508481 "tool" , original_args , original_kwargs
509482 )
510483
511- span_data_key , span_name , mcp_method_name , result_data_key = _get_span_config (
512- "tool" , handler_name
513- )
514-
515484 # Get request ID, session ID, and transport from context
516485 request_id , session_id , mcp_transport = _get_request_context_data (ctx = ctx )
517486
@@ -522,7 +491,7 @@ async def _tool_handler_wrapper(
522491 span_mgr : "Union[Span, StreamedSpan]"
523492 if span_streaming :
524493 span_mgr = sentry_sdk .traces .start_span (
525- name = span_name ,
494+ name = f"tools/call { handler_name } " ,
526495 attributes = {
527496 "sentry.op" : OP .MCP_SERVER ,
528497 "sentry.origin" : MCPIntegration .origin ,
@@ -531,7 +500,7 @@ async def _tool_handler_wrapper(
531500 else :
532501 span_mgr = get_start_span_function ()(
533502 op = OP .MCP_SERVER ,
534- name = span_name ,
503+ name = f"tools/call { handler_name } " ,
535504 origin = MCPIntegration .origin ,
536505 )
537506
@@ -540,8 +509,8 @@ async def _tool_handler_wrapper(
540509 _set_span_input_data (
541510 span ,
542511 handler_name ,
543- span_data_key ,
544- mcp_method_name ,
512+ SPANDATA . MCP_TOOL_NAME ,
513+ "tools/call" ,
545514 arguments ,
546515 request_id ,
547516 session_id ,
@@ -563,7 +532,9 @@ async def _tool_handler_wrapper(
563532 sentry_sdk .capture_exception (e )
564533 raise
565534
566- _set_span_output_data (span , result , result_data_key , "tool" )
535+ _set_span_output_data (
536+ span , result , SPANDATA .MCP_TOOL_RESULT_CONTENT , "tool"
537+ )
567538
568539 return result
569540
@@ -608,10 +579,6 @@ async def _prompt_handler_wrapper(
608579 "prompt" , original_args , original_kwargs
609580 )
610581
611- span_data_key , span_name , mcp_method_name , result_data_key = _get_span_config (
612- "prompt" , handler_name
613- )
614-
615582 # Get request ID, session ID, and transport from context
616583 request_id , session_id , mcp_transport = _get_request_context_data (ctx = ctx )
617584
@@ -622,7 +589,7 @@ async def _prompt_handler_wrapper(
622589 span_mgr : "Union[Span, StreamedSpan]"
623590 if span_streaming :
624591 span_mgr = sentry_sdk .traces .start_span (
625- name = span_name ,
592+ name = f"prompts/get { handler_name } " ,
626593 attributes = {
627594 "sentry.op" : OP .MCP_SERVER ,
628595 "sentry.origin" : MCPIntegration .origin ,
@@ -631,7 +598,7 @@ async def _prompt_handler_wrapper(
631598 else :
632599 span_mgr = get_start_span_function ()(
633600 op = OP .MCP_SERVER ,
634- name = span_name ,
601+ name = f"prompts/get { handler_name } " ,
635602 origin = MCPIntegration .origin ,
636603 )
637604
@@ -640,8 +607,8 @@ async def _prompt_handler_wrapper(
640607 _set_span_input_data (
641608 span ,
642609 handler_name ,
643- span_data_key ,
644- mcp_method_name ,
610+ SPANDATA . MCP_PROMPT_NAME ,
611+ "prompts/get" ,
645612 arguments ,
646613 request_id ,
647614 session_id ,
@@ -661,7 +628,9 @@ async def _prompt_handler_wrapper(
661628 sentry_sdk .capture_exception (e )
662629 raise
663630
664- _set_span_output_data (span , result , result_data_key , "prompt" )
631+ _set_span_output_data (
632+ span , result , SPANDATA .MCP_PROMPT_RESULT_MESSAGE_CONTENT , "prompt"
633+ )
665634
666635 return result
667636
@@ -708,10 +677,6 @@ async def _resource_handler_wrapper(
708677 "resource" , original_args , original_kwargs
709678 )
710679
711- span_data_key , span_name , mcp_method_name , result_data_key = _get_span_config (
712- "resource" , handler_name
713- )
714-
715680 # Get request ID, session ID, and transport from context
716681 request_id , session_id , mcp_transport = _get_request_context_data (ctx = ctx )
717682
@@ -722,7 +687,7 @@ async def _resource_handler_wrapper(
722687 span_mgr : "Union[Span, StreamedSpan]"
723688 if span_streaming :
724689 span_mgr = sentry_sdk .traces .start_span (
725- name = span_name ,
690+ name = f"resources/read { handler_name } " ,
726691 attributes = {
727692 "sentry.op" : OP .MCP_SERVER ,
728693 "sentry.origin" : MCPIntegration .origin ,
@@ -731,7 +696,7 @@ async def _resource_handler_wrapper(
731696 else :
732697 span_mgr = get_start_span_function ()(
733698 op = OP .MCP_SERVER ,
734- name = span_name ,
699+ name = f"resources/read { handler_name } " ,
735700 origin = MCPIntegration .origin ,
736701 )
737702
@@ -740,8 +705,8 @@ async def _resource_handler_wrapper(
740705 _set_span_input_data (
741706 span ,
742707 handler_name ,
743- span_data_key ,
744- mcp_method_name ,
708+ SPANDATA . MCP_RESOURCE_URI ,
709+ "resources/read" ,
745710 arguments ,
746711 request_id ,
747712 session_id ,
@@ -780,7 +745,7 @@ async def _resource_handler_wrapper(
780745 sentry_sdk .capture_exception (e )
781746 raise
782747
783- _set_span_output_data (span , result , result_data_key , "resource" )
748+ _set_span_output_data (span , result , None , "resource" )
784749
785750 return result
786751
0 commit comments