use anyhow::Result;
use mcp_execution_server::service::GeneratorService;
use rmcp::ServiceExt;
use rmcp::transport::stdio;
use tracing_subscriber::{EnvFilter, layer::SubscriberExt, util::SubscriberInitExt};
#[tokio::main]
async fn main() -> Result<()> {
tracing_subscriber::registry()
.with(
EnvFilter::try_from_default_env()
.unwrap_or_else(|_| EnvFilter::new("info,mcp_execution_server=debug")),
)
.with(
tracing_subscriber::fmt::layer()
.with_writer(std::io::stderr)
.with_target(true),
)
.init();
tracing::info!(
"Starting mcp-execution-server v{}",
env!("CARGO_PKG_VERSION")
);
let service = GeneratorService::new().serve(stdio()).await?;
service.waiting().await?;
tracing::info!("Server shutdown complete");
Ok(())
}