mcp_fixture_server/
mcp_fixture_server.rs1use a8e_test_support::mcp::McpFixtureServer;
2use rmcp::service::ServiceExt;
3use rmcp::transport::streamable_http_server::{
4 session::local::LocalSessionManager, StreamableHttpServerConfig, StreamableHttpService,
5};
6
7#[tokio::main]
8async fn main() {
9 let service = StreamableHttpService::new(
10 || Ok(McpFixtureServer::new().into_dyn()),
11 LocalSessionManager::default().into(),
12 StreamableHttpServerConfig::default(),
13 );
14 let router = axum::Router::new().nest_service("/mcp", service);
15 let listener = tokio::net::TcpListener::bind("127.0.0.1:0").await.unwrap();
16 let addr = listener.local_addr().unwrap();
17 eprintln!("MCP fixture server running at http://{addr}/mcp");
18 axum::serve(listener, router).await.unwrap();
19}