diff --git a/src/modes/server.rs b/src/modes/server.rs index 82fc86c..7a69188 100644 --- a/src/modes/server.rs +++ b/src/modes/server.rs @@ -1,6 +1,7 @@ use anyhow::Result; use axum::{ Router, + routing::post, }; use clap::Command; use log::{debug, info}; @@ -83,11 +84,17 @@ async fn run_server( password_hash: config.password_hash.clone(), }; + // Create MCP router + let mcp_router = Router::new() + .route("/mcp", post(mcp::handle_mcp_request)) + .with_state(state.clone()); + let app = Router::new() // Add API, documentation, and pages routes first .merge(api::add_routes(Router::new())) .merge(api::add_docs_routes(Router::new())) .merge(pages::add_routes(Router::new())) + .merge(mcp_router) // Apply state .with_state(state) // Add middleware layers (applied in reverse order)