use crate::mcp::FossilEditor; use rmcp::{ServiceExt, transport::stdio}; use tracing_subscriber::{self, EnvFilter}; mod fossil; mod matcher; mod mcp; #[tokio::main] async fn main() { tracing_subscriber::fmt() .with_env_filter(EnvFilter::from_default_env().add_directive(tracing::Level::DEBUG.into())) .with_writer(std::io::stderr) .with_ansi(false) .init(); tracing::info!("Starting MCP server"); let editor = FossilEditor::new(); let service = editor .serve(stdio()) .await .inspect_err(|e| { tracing::error!("serving error: {:?}", e); }) .unwrap(); service.waiting().await.unwrap(); }