use serde_json::json;
fn main() {
println!("🏦 EU Currency MCP Server - What It Does");
println!("=========================================\n");
println!("The currency server is an MCP (Model Context Protocol) server that provides");
println!("4 powerful tools for currency analysis. Here's what each tool does:\n");
println!("💱 TOOL 1: get_rates");
println!("--------------------");
println!("Purpose: Get current exchange rates for a base currency");
println!("Input example:");
println!(
"{}",
serde_json::to_string_pretty(&json!({
"base": "EUR",
"symbols": "USD,GBP,CHF"
}))
.unwrap()
);
println!("\nOutput: Current exchange rates with timestamp");
println!("Example: EUR → USD: 1.0847, EUR → GBP: 0.8312, etc.\n");
println!("📈 TOOL 2: analyze_trend");
println!("------------------------");
println!("Purpose: Comprehensive currency trend analysis with predictions");
println!("Input example:");
println!(
"{}",
serde_json::to_string_pretty(&json!({
"base": "EUR",
"target": "USD",
"days": 30,
"predict_days": 7
}))
.unwrap()
);
println!("\nOutput: Detailed analysis including:");
println!("• Current rate and trend direction (↗️ Rising/↘️ Falling/→ Stable)");
println!("• ASCII sparkline visualization: ▁▂▃▄▅▆▇█▇▆▅▄▃▂");
println!("• 7-day and 14-day moving averages");
println!("• Linear regression predictions for next 1-30 days");
println!("• Statistical analysis (volatility, range, data points)\n");
println!("📋 TOOL 3: list_currencies");
println!("--------------------------");
println!("Purpose: List all supported currency codes");
println!("Input: {{}} (no parameters needed)");
println!("Output: EUR, USD, GBP, CHF, JPY, CAD, AUD, SEK, NOK, DKK, PLN, CZK, HUF, BGN, RON\n");
println!("📅 TOOL 4: get_historical");
println!("-------------------------");
println!("Purpose: Get historical exchange rates for a period");
println!("Input example:");
println!(
"{}",
serde_json::to_string_pretty(&json!({
"base": "USD",
"days": 30,
"symbols": "EUR,GBP"
}))
.unwrap()
);
println!("\nOutput: Historical rates for each day in the specified period\n");
println!("🔧 HOW TO USE THE SERVER:");
println!("=========================");
println!("1. The server runs as an MCP server (JSON-RPC over stdin/stdout)");
println!("2. It's designed to be used by MCP-compatible clients like:");
println!(" • Claude Desktop with MCP integration");
println!(" • Custom MCP clients");
println!(" • AI assistants that support MCP protocol");
println!("3. When you run 'cargo run --example currency_server', it starts");
println!(" listening for MCP protocol messages on stdin");
println!("4. The server provides rich, formatted analysis reports with:");
println!(" • Real-time exchange rates");
println!(" • Historical trend analysis");
println!(" • Statistical predictions");
println!(" • Visual sparkline charts");
println!(" • Moving averages and volatility metrics\n");
println!("💡 EXAMPLE ANALYSIS OUTPUT:");
println!("===========================");
println!(
r#"Currency Trend Analysis: EUR → USD
==========================================
📊 Current Rate: 1.0847
📈 Trend: ↗️ Rising
📅 Analysis Period: 30 days
📉 Rate Visualization:
▂▃▄▅▆▇█▇▆▅▄▃▂▁▂▃▄▅▆▇█▇▆▅▄▃▂▃▄▅▆▇
📋 Moving Averages:
• 7-day MA: 1.0834
• 14-day MA: 1.0821
🔮 Predictions (next 7 days):
Day 1: 1.0851
Day 2: 1.0855
Day 3: 1.0859
Day 4: 1.0863
Day 5: 1.0867
Day 6: 1.0871
Day 7: 1.0875
💡 Analysis:
• Total data points: 30
• Rate range: 1.0801 - 1.0893
• Volatility: 0.8465%"#
);
println!("\n\n🚀 INTEGRATION:");
println!("===============");
println!("This server demonstrates advanced MCP capabilities and can be:");
println!("• Integrated with AI assistants for financial analysis");
println!("• Used in trading applications for trend analysis");
println!("• Extended with real API integration (Frankfurter, Alpha Vantage)");
println!("• Deployed as part of larger financial analysis pipelines");
println!("\n✨ The server showcases the power of the PMCP Rust SDK for building");
println!(" sophisticated financial analysis tools with the MCP protocol!");
}