mod server;
use rmcp::{transport::stdio, ServiceExt};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
ljos_cli::normalize_tracker_env();
ljos_cli::load_seat_env();
ljos_cli::ballot_sig::pin_connection_session(None);
if std::env::args().any(|a| a == "--version" || a == "-V") {
println!("ljos-mcp {}", env!("CARGO_PKG_VERSION"));
return Ok(());
}
ljos_cli::bookkeep::spawn_idle_finish();
let _book_finish = ljos_cli::bookkeep::ShutdownFinish;
let (read, write) = stdio();
let running = server::LjosServer::from_env()
.serve((server::InboundOrder::new(read), write))
.await?;
let ended = running.waiting().await;
ljos_cli::retire_seat(ljos_cli::runner_pid());
ended?;
Ok(())
}