#![doc = include_str!("readme.md")]
use oak_vfs::MemoryVfs;
#[cfg(feature = "io-std")]
use crate::lsp::OrgModeLanguageService;
#[cfg(feature = "io-std")]
pub async fn serve_org_mode_mcp(vfs: MemoryVfs) {
let service = OrgModeLanguageService::new(vfs);
let server = oak_mcp::McpServer::new(service);
let reader = tokio::io::BufReader::new(tokio::io::stdin());
let writer = tokio::io::BufWriter::new(tokio::io::stdout());
server.run(reader, writer).await.unwrap()
}
#[cfg(not(feature = "io-std"))]
pub async fn serve_org_mode_mcp(_vfs: MemoryVfs) {
panic!("MCP server requires io-std feature")
}