From c24ee46ee244809268ef7fff13354c9c41824faa Mon Sep 17 00:00:00 2001 From: Aryan Bhargava Date: Sun, 4 Oct 2026 17:50:20 +0530 Subject: [PATCH 1/2] fix(mcptools): always emit mcp.method.name attribute on MCP tracing spans Signed-off-by: Aryan Bhargava --- .../extension/jaegerquery/internal/mcptools/middleware.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/jaeger/internal/extension/jaegerquery/internal/mcptools/middleware.go b/cmd/jaeger/internal/extension/jaegerquery/internal/mcptools/middleware.go index a549dce6d46..079a18c2817 100644 --- a/cmd/jaeger/internal/extension/jaegerquery/internal/mcptools/middleware.go +++ b/cmd/jaeger/internal/extension/jaegerquery/internal/mcptools/middleware.go @@ -60,7 +60,9 @@ func createTracingMiddleware(tracerProvider trace.TracerProvider) mcp.Middleware toolName := toolNameFromRequest(method, req) sessionID := sessionIDFromRequest(req) spanName := method - attrs := []attribute.KeyValue{} + attrs := []attribute.KeyValue{ + otelsemconv.McpMethodName(method), + } if toolName != "" { spanName = method + " " + toolName attrs = append( @@ -71,8 +73,6 @@ func createTracingMiddleware(tracerProvider trace.TracerProvider) mcp.Middleware if toolArgs := toolArgumentsFromRequest(method, req); toolArgs != "" { attrs = append(attrs, otelsemconv.GenAIToolCallArguments(truncateForSpan(toolArgs, maxSpanAttrChars))) } - } else { - attrs = append(attrs, otelsemconv.McpMethodName(method)) } if sessionID != "" { attrs = append(attrs, otelsemconv.McpSessionID(sessionID)) From f14fa836df5c8befe8417fde7adce03ff0b343b6 Mon Sep 17 00:00:00 2001 From: Aryan Bhargava Date: Sun, 4 Oct 2026 17:50:22 +0530 Subject: [PATCH 2/2] test(mcptools): assert mcp.method.name attribute on tool call trace spans Signed-off-by: Aryan Bhargava --- .../extension/jaegerquery/internal/mcptools/middleware_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/jaeger/internal/extension/jaegerquery/internal/mcptools/middleware_test.go b/cmd/jaeger/internal/extension/jaegerquery/internal/mcptools/middleware_test.go index 14f4411d078..f87af3aaae9 100644 --- a/cmd/jaeger/internal/extension/jaegerquery/internal/mcptools/middleware_test.go +++ b/cmd/jaeger/internal/extension/jaegerquery/internal/mcptools/middleware_test.go @@ -43,6 +43,7 @@ func TestTracingMiddlewareToolCallSuccess(t *testing.T) { spanData := capture.singleSpan(t) assert.Equal(t, mcpMethodToolsCall+" get_services", spanData.Name) + assertHasStringAttribute(t, spanData.Attributes, string(otelsemconv.McpMethodName("").Key), mcpMethodToolsCall) assertHasStringAttribute(t, spanData.Attributes, string(otelsemconv.GenAIToolName("").Key), "get_services") assertHasStringAttribute(t, spanData.Attributes, string(otelsemconv.GenAIOperationNameExecuteTool.Key), "execute_tool") assert.Equal(t, codes.Unset, spanData.Status.Code)