oak_sql/
mcp.rs

1use crate::lsp::SqlLanguageService;
2use oak_mcp::OakMcpService;
3use oak_vfs::MemoryVfs;
4
5pub async fn serve_sql_mcp(vfs: MemoryVfs) {
6    let service = SqlLanguageService::new(vfs);
7    let server = service.into_mcp_server();
8    server.run().await.unwrap();
9}
10
11#[cfg(feature = "axum")]
12pub async fn serve_sql_mcp_axum(vfs: MemoryVfs) {
13    let service = SqlLanguageService::new(vfs);
14    let app = service.into_mcp_axum_router();
15    let listener = tokio::net::TcpListener::bind("127.0.0.1:3098").await.unwrap();
16    axum::serve(listener, app).await.unwrap();
17}