list_events
Retrieve system events by level, type, and date range to monitor and analyze activity on the CloudStack MCP Server for efficient cloud resource management.
Instructions
List system events
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| enddate | No | End date (YYYY-MM-DD) | |
| level | No | Event level (INFO, WARN, ERROR) | |
| startdate | No | Start date (YYYY-MM-DD) | |
| type | No | Event type |
Implementation Reference
- src/handlers/monitoring-handlers.ts:6-32 (handler)The handler function that executes the list_events tool logic, fetching events via CloudStack client, processing the response, and formatting it into a structured MCP text response.async handleListEvents(args: any) { const result = await this.cloudStackClient.listEvents(args); const events = result.listeventsresponse?.event || []; const eventList = events.map((event: any) => ({ id: event.id, type: event.type, description: event.description, level: event.level, created: event.created, username: event.username, domain: event.domain })); return { content: [ { type: 'text', text: `Found ${eventList.length} events:\n\n${eventList .map((event: any) => `• ${event.type} (${event.id})\n Description: ${event.description}\n Level: ${event.level}\n User: ${event.username}\n Domain: ${event.domain}\n Created: ${event.created}\n` ) .join('\n')}` } ] }; }
- The tool schema definition for 'list_events', including name, description, and inputSchema for validation in MCP.{ name: 'list_events', description: 'List system events', inputSchema: { type: 'object', properties: { level: { type: 'string', description: 'Event level (INFO, WARN, ERROR)', }, type: { type: 'string', description: 'Event type', }, startdate: { type: 'string', description: 'Start date (YYYY-MM-DD)', }, enddate: { type: 'string', description: 'End date (YYYY-MM-DD)', }, }, additionalProperties: false, }, },
- src/server.ts:166-167 (registration)The registration/dispatch case in the MCP server's CallToolRequest handler that routes 'list_events' calls to the monitoring handler.case 'list_events': return await this.monitoringHandlers.handleListEvents(args);
- src/cloudstack-client.ts:222-224 (helper)Supporting CloudStack client method that makes the underlying 'listEvents' API request.async listEvents(params: CloudStackParams = {}): Promise<CloudStackResponse> { return this.request('listEvents', params); }