use clap::Parser;
use gallo_mcp::GalloMcp;
use rmcp::ServiceExt;
use rmcp::transport::stdio;
#[derive(Debug, Parser)]
#[command(name = "gallo-mcp", version, about)]
struct Cli {
#[arg(short, long)]
serial_number: Option<String>,
}
#[tokio::main]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::fmt()
.with_writer(std::io::stderr)
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.init();
let cli = Cli::parse();
let service = GalloMcp::new(cli.serial_number.as_deref());
let server = service.serve(stdio()).await?;
server.waiting().await?;
Ok(())
}