do_memory_mcp/server/tools/
advanced.rs1use anyhow::Result;
6use serde_json::json;
7use std::sync::Arc;
8use tracing::debug;
9
10impl crate::server::MemoryMCPServer {
11 pub async fn execute_advanced_pattern_analysis(
21 &self,
22 input: crate::mcp::tools::advanced_pattern_analysis::AdvancedPatternAnalysisInput,
23 ) -> Result<serde_json::Value> {
24 self.track_tool_usage("advanced_pattern_analysis").await;
25
26 debug!(
27 "Executing advanced pattern analysis: {:?}",
28 input.analysis_type
29 );
30
31 let tool = crate::mcp::tools::advanced_pattern_analysis::AdvancedPatternAnalysisTool::new(
32 Arc::clone(&self.memory),
33 );
34
35 let result = tool.execute(input).await?;
36
37 Ok(json!(result))
39 }
40
41 pub async fn execute_quality_metrics(
51 &self,
52 input: crate::mcp::tools::quality_metrics::QualityMetricsInput,
53 ) -> Result<serde_json::Value> {
54 self.track_tool_usage("quality_metrics").await;
55
56 debug!(
57 "Executing quality metrics query: time_range={}, include_trends={}",
58 input.time_range, input.include_trends
59 );
60
61 let tool =
62 crate::mcp::tools::quality_metrics::QualityMetricsTool::new(Arc::clone(&self.memory));
63
64 let result = tool.execute(input).await?;
65
66 Ok(json!(result))
68 }
69}