confirmation of the scheduled event */ #[McpTool(name: 'schedule_event')] public function scheduleEvent( string $title, string $date, EventType $type, ?string $time = null, EventPriority $priority = EventPriority::Normal, ?array $attendees = null, bool $sendInvites = true, ): array { $this->logger->info("Tool 'schedule_event' called", compact('title', 'date', 'type', 'time', 'priority', 'attendees', 'sendInvites')); // Simulate scheduling logic $eventDetails = [ 'title' => $title, 'date' => $date, 'type' => $type->value, // Use enum value 'time' => $time ?? 'All day', 'priority' => $priority->name, // Use enum name 'attendees' => $attendees ?? [], 'invites_will_be_sent' => ($attendees && $sendInvites), ]; // In a real app, this would interact with a calendar service $this->logger->info('Event scheduled', ['details' => $eventDetails]); return [ 'success' => true, 'message' => \sprintf('Event "%s" scheduled successfully for "%s".', $title, $date), 'event_details' => $eventDetails, ]; } }