AkurAI Build
Menu

Public repository / master

AkurAI-Notes / crates/notes-cli/src/cmd_mcp.rs

Latest change 705e1ce035ea4b9fb4c413dd38f550650185b571 - release: v0.0.5 by Claude Code

use notes_mcp::server::{McpConfig, McpServer};

pub struct McpRunConfig {
    pub host: String,
    pub port: u16,
    pub db: String,
    pub token: String,
    pub embed_url: String,
    pub embed_model: String,
    pub embed_api_key: String,
    pub owner_sub: String,
}

pub fn run(cfg: McpRunConfig) -> Result<(), Box<dyn std::error::Error>> {
    let mcp_cfg = McpConfig {
        host: cfg.host,
        port: cfg.port,
        db: cfg.db,
        token: cfg.token,
        embed_url: if cfg.embed_url.is_empty() {
            None
        } else {
            Some(cfg.embed_url)
        },
        embed_model: if cfg.embed_model.is_empty() {
            None
        } else {
            Some(cfg.embed_model)
        },
        embed_api_key: if cfg.embed_api_key.is_empty() {
            None
        } else {
            Some(cfg.embed_api_key)
        },
        owner_sub: cfg.owner_sub,
    };
    let server = McpServer::new(mcp_cfg)?;
    server.serve().map_err(|e| e.into())
}