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