oak_json/
mcp.rs

1use crate::lsp::JsonLanguageService;
2use oak_mcp::OakMcpService;
3use oak_vfs::MemoryVfs;
4
5/// Start an MCP server for JSON semantics (Stdio).
6pub async fn serve_json_mcp(vfs: MemoryVfs) {
7    let service = JsonLanguageService::new(vfs);
8    let server = service.into_mcp_server();
9
10    server.run().await.unwrap();
11}
12
13/// One-click Axum integration for JSON MCP.
14#[cfg(feature = "axum")]
15pub async fn serve_json_mcp_axum(vfs: MemoryVfs) {
16    let service = JsonLanguageService::new(vfs);
17    let app = service.into_mcp_axum_router();
18
19    let listener = tokio::net::TcpListener::bind("127.0.0.1:3079").await.unwrap();
20    axum::serve(listener, app).await.unwrap();
21}