diff --git a/pkg/mcp/tools_process.go b/pkg/mcp/tools_process.go index 4f55a87..657f3bb 100644 --- a/pkg/mcp/tools_process.go +++ b/pkg/mcp/tools_process.go @@ -194,13 +194,17 @@ func (s *Service) processStart(ctx context.Context, req *mcp.CallToolRequest, in } info := proc.Info() - return nil, ProcessStartOutput{ + output := ProcessStartOutput{ ID: proc.ID, PID: info.PID, Command: proc.Command, Args: proc.Args, StartedAt: proc.StartedAt, - }, nil + } + s.ChannelSend(ctx, "process.start", map[string]any{ + "id": output.ID, "pid": output.PID, "command": output.Command, + }) + return nil, output, nil } // processStop handles the process_stop tool call. @@ -224,6 +228,7 @@ func (s *Service) processStop(ctx context.Context, req *mcp.CallToolRequest, inp return nil, ProcessStopOutput{}, log.E("processStop", "failed to stop process", err) } + s.ChannelSend(ctx, "process.exit", map[string]any{"id": input.ID, "signal": "stop"}) return nil, ProcessStopOutput{ ID: input.ID, Success: true, @@ -244,6 +249,7 @@ func (s *Service) processKill(ctx context.Context, req *mcp.CallToolRequest, inp return nil, ProcessKillOutput{}, log.E("processKill", "failed to kill process", err) } + s.ChannelSend(ctx, "process.exit", map[string]any{"id": input.ID, "signal": "kill"}) return nil, ProcessKillOutput{ ID: input.ID, Success: true,