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