AkurAI Build
Menu

Public repository / d8aa29121486f4b02d0016888d94fa66cac36ffe

AkurAI-EC2 / crates/platform-mcp/src/main.rs

Latest change d8aa29121486f4b02d0016888d94fa66cac36ffe - Checkpoint WIP + rustfmt + AkurAI Build CI/CD pipeline by Ólafur Búi Ólafsson

#![forbid(unsafe_code)]

mod server;
mod tools;

use server::McpServer;
use std::env;

fn main() {
    let host = env::var("PLATFORM_MCP_HOST").unwrap_or_else(|_| "127.0.0.1".into());
    let port: u16 = env::var("PLATFORM_MCP_PORT")
        .ok()
        .and_then(|s| s.parse().ok())
        .unwrap_or(8105);
    let token = env::var("PLATFORM_MCP_TOKEN").unwrap_or_default();
    let monitor_url =
        env::var("PLATFORM_MONITOR_URL").unwrap_or_else(|_| "http://127.0.0.1:8800".into());
    let akurai_ec2_bin = env::var("AKURAI_EC2_BIN").unwrap_or_else(|_| "akurai-ec2".into());
    let apps_toml = env::var("AKURAI_APPS_TOML").unwrap_or_else(|_| {
        let home = env::var("HOME").unwrap_or_else(|_| "/home/olafurbui".into());
        format!("{home}/Projects/AkurAI-Framework/AKURAI_APPS.toml")
    });

    let server = McpServer::new(server::McpConfig {
        host,
        port,
        token,
        monitor_url,
        akurai_ec2_bin,
        apps_toml,
    })
    .unwrap_or_else(|e| {
        eprintln!("failed to create MCP server: {e}");
        std::process::exit(1);
    });

    if let Err(e) = server.serve() {
        eprintln!("server error: {e}");
        std::process::exit(1);
    }
}