AkurAI Build
Menu

Public repository / a695077fe727a9e8fe3947fefcff06bf02f3baf2

AkurAI-PassVault / crates/passvault-cli/src/cmd_mcp.rs

Latest change 58558732228cea9b646049555021e899ee300f35 - Checkpoint WIP + add AkurAI Build CI/CD pipeline by Ólafur Búi Ólafsson

use passvault_mcp::server::{McpConfig, McpServer};
use std::env;

pub fn run() {
    let host = env::var("AKURAI_PASSVAULT_HOST").unwrap_or_else(|_| "127.0.0.1".into());
    let port: u16 = env::var("AKURAI_PASSVAULT_PORT")
        .ok()
        .and_then(|p| p.parse().ok())
        .unwrap_or(8102);
    let db_path = env::var("AKURAI_PASSVAULT_DB").unwrap_or_else(|_| "data/passvault.db".into());
    let token = env::var("AKURAI_PASSVAULT_TOKEN").expect("AKURAI_PASSVAULT_TOKEN must be set");
    let enc_key = env::var("AKURAI_PASSVAULT_KEY")
        .expect("AKURAI_PASSVAULT_KEY must be set (64 hex chars for AES-256)");

    let config = McpConfig {
        host: host.clone(),
        port,
        db_path,
        token,
        encryption_key: enc_key,
    };
    let server = McpServer::new(config);

    eprintln!("akurai-passvault MCP server starting on {host}:{port}...");
    if let Err(e) = server.serve() {
        eprintln!("server error: {e}");
        std::process::exit(1);
    }
}