in src/Commands/Server/ServiceStartCommand.cs [68:104]
private IHost CreateHost(ServiceStartArguments serverArguments)
{
if (serverArguments.Transport == TransportTypes.Sse)
{
var builder = WebApplication.CreateBuilder([]);
Program.ConfigureServices(builder.Services);
ConfigureMcpServer(builder.Services, serverArguments.Transport);
builder.WebHost
.ConfigureKestrel(server => server.ListenLocalhost(serverArguments.Port))
.ConfigureLogging(logging =>
{
logging.AddEventSourceLogger();
});
var application = builder.Build();
application.MapMcp();
return application;
}
else
{
return Host.CreateDefaultBuilder()
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddEventSourceLogger();
})
.ConfigureServices(services =>
{
Program.ConfigureServices(services);
ConfigureMcpServer(services, serverArguments.Transport);
})
.Build();
}
}