Skip to main content
Glama
main.rs1.68 kB
use args::{ NAME, load_config_with_provider, }; use innit_client::InnitClient; use innitctl_backend::templatize; use si_service::{ color_eyre, prelude::*, }; mod args; const BIN_NAME: &str = env!("CARGO_BIN_NAME"); const LIB_NAME: &str = concat!(env!("CARGO_BIN_NAME"), "_server"); #[tokio::main] async fn main() -> Result<()> { let telemetry_tracker = TaskTracker::new(); let telemetry_token = CancellationToken::new(); color_eyre::install()?; let args = args::parse(); let (mut telemetry, _telemetry_shutdown) = { let config = TelemetryConfig::builder() .force_color(args.force_color.then_some(true)) .no_color(args.no_color.then_some(true)) .log_format(if args.log_json { LogFormat::Json } else { Default::default() }) .log_file_directory(args.log_file_directory.clone()) .service_name(BIN_NAME) .service_namespace("si") .log_env_var_prefix("SI") .app_modules(vec![BIN_NAME, LIB_NAME]) .build()?; telemetry_application::init(config, &telemetry_tracker, telemetry_token.clone())? }; if args.verbose > 0 { telemetry .set_verbosity_and_wait(args.verbose.into()) .await?; } debug!(arguments =?args, "parsed cli arguments"); debug!("creating innit-client..."); let provider = Some(InnitClient::new_from_environment(NAME.to_string()).await?); let config = load_config_with_provider(args, provider).await?; debug!(?config, "computed configuration"); templatize(&config).await?; Ok(()) }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server