oak_php/
mcp.rs

1use crate::lsp::PhpLanguageService;
2use oak_mcp::OakMcpService;
3use oak_vfs::MemoryVfs;
4
5/// PHP MCP server implementation.
6///
7/// This module provides integration with the Model Context Protocol (MCP)
8/// for PHP language services.
9pub async fn serve_php_mcp(vfs: MemoryVfs) {
10    let service = PhpLanguageService::new(vfs);
11    let server = service.into_mcp_server();
12    server.run().await.unwrap();
13}
14
15/// Serve PHP MCP over Axum.
16#[cfg(feature = "axum")]
17pub async fn serve_php_mcp_axum(vfs: MemoryVfs) {
18    let service = PhpLanguageService::new(vfs);
19    let app = service.into_mcp_axum_router();
20
21    let listener = tokio::net::TcpListener::bind("127.0.0.1:3088").await.unwrap();
22    axum::serve(listener, app).await.unwrap();
23}