@ -15,6 +15,8 @@ using Volo.Abp.Cli.Commands.Models;
using Volo.Abp.Cli.Commands.Services ;
using Volo.Abp.Cli.Licensing ;
using Volo.Abp.DependencyInjection ;
using Volo.Abp.Internal.Telemetry ;
using Volo.Abp.Internal.Telemetry.Constants ;
namespace Volo.Abp.Cli.Commands ;
@ -28,6 +30,7 @@ public class McpCommand : IConsoleCommand, ITransientDependency
private readonly McpServerService _ mcpServerService ;
private readonly McpHttpClientService _ mcpHttpClient ;
private readonly IMcpLogger _ mcpLogger ;
private readonly ITelemetryService _ telemetryService ;
public ILogger < McpCommand > Logger { get ; set ; }
@ -36,13 +39,15 @@ public class McpCommand : IConsoleCommand, ITransientDependency
AuthService authService ,
McpServerService mcpServerService ,
McpHttpClientService mcpHttpClient ,
IMcpLogger mcpLogger )
IMcpLogger mcpLogger ,
ITelemetryService telemetryService )
{
_ apiKeyService = apiKeyService ;
_ authService = authService ;
_ mcpServerService = mcpServerService ;
_ mcpHttpClient = mcpHttpClient ;
_ mcpLogger = mcpLogger ;
_ telemetryService = telemetryService ;
Logger = NullLogger < McpCommand > . Instance ;
}
@ -58,6 +63,8 @@ public class McpCommand : IConsoleCommand, ITransientDependency
return ;
}
await using var _ = _ telemetryService . TrackActivityAsync ( ActivityNameConsts . AbpCliCommandsMcp ) ;
// Check server health before starting
_ mcpLogger . Info ( LogSource , "Checking ABP.IO MCP Server connection..." ) ;
var isHealthy = await _ mcpHttpClient . CheckServerHealthAsync ( ) ;