Menu
Public repository / main
AkurAI-EC2 / crates/platform-mcp/src/main.rs
Latest change 61d0777e9306a5b3b94a6987c70a8be1e718cd11 - feat: add honest workspace lifecycle boundary 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);
}
}