| 39 | ) |
| 40 | |
| 41 | func (s *MCPServer) handleTraceQLDocs(_ context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { |
| 42 | metricMCPToolCalls.WithLabelValues(toolDocsTraceQL).Inc() |
| 43 | |
| 44 | docType, err := request.RequireString("name") |
| 45 | if err != nil { |
| 46 | return mcp.NewToolResultError(err.Error()), nil |
| 47 | } |
| 48 | |
| 49 | level.Info(s.logger).Log("msg", "traceql docs requested", "doc_type", docType) |
| 50 | |
| 51 | // Get the appropriate documentation content based on the requested type |
| 52 | content := docs.GetDocsContent(docType) |
| 53 | |
| 54 | return toolResult(content, MetaTypeDocumentation, "markdown", "1"), nil |
| 55 | } |
| 56 | |
| 57 | // handleSearch handles the traceql-search tool |
| 58 | func (s *MCPServer) handleSearch(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) { |