Skip to main content

oak_css/mcp/
mod.rs

1#![doc = include_str!("readme.md")]
2use oak_lsp::service::LanguageService;
3use oak_mcp::McpServer;
4use oak_vfs::Vfs;
5
6/// Serves CSS MCP.
7pub async fn serve_css_mcp<V: Vfs + Send + Sync + 'static + oak_vfs::WritableVfs>(vfs: V) -> Result<(), Box<dyn std::error::Error + Send + Sync>>
8where
9    crate::lsp::CssLanguageService<V>: LanguageService,
10{
11    let service = crate::lsp::CssLanguageService::new(vfs);
12    let server = McpServer::new(service);
13    let reader = tokio::io::BufReader::new(tokio::io::stdin());
14    let writer = tokio::io::BufWriter::new(tokio::io::stdout());
15    server.run(reader, writer).await.unwrap();
16    Ok(())
17}