UNPKG

okta-mcp-server

Version:

Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching

196 lines 6.92 kB
/** * Audit tool definitions for MCP */ export const auditTools = [ { name: 'queryAuditLogs', description: 'Query audit logs with filters and pagination', inputSchema: { type: 'object', properties: { startTime: { type: 'string', format: 'date-time', description: 'Start time for the query (ISO 8601 format)', }, endTime: { type: 'string', format: 'date-time', description: 'End time for the query (ISO 8601 format)', }, actors: { type: 'array', items: { type: 'string' }, description: 'Filter by actor IDs', }, actions: { type: 'array', items: { type: 'string' }, description: 'Filter by action types (e.g., tool.call, resource.read)', }, resources: { type: 'array', items: { type: 'string' }, description: 'Filter by resource IDs', }, status: { type: 'array', items: { type: 'string', enum: ['success', 'failure', 'error'], }, description: 'Filter by action result status', }, limit: { type: 'number', minimum: 1, maximum: 10000, default: 100, description: 'Maximum number of entries to return', }, offset: { type: 'number', minimum: 0, default: 0, description: 'Number of entries to skip', }, orderBy: { type: 'string', enum: ['timestamp', 'duration'], default: 'timestamp', description: 'Field to order results by', }, orderDirection: { type: 'string', enum: ['asc', 'desc'], default: 'desc', description: 'Order direction', }, }, }, }, { name: 'getAuditStatistics', description: 'Get audit log statistics for a time period', inputSchema: { type: 'object', properties: { startTime: { type: 'string', format: 'date-time', description: 'Start time for statistics (ISO 8601 format)', }, endTime: { type: 'string', format: 'date-time', description: 'End time for statistics (ISO 8601 format)', }, }, required: ['startTime', 'endTime'], }, }, { name: 'exportAuditLogs', description: 'Export audit logs in various formats', inputSchema: { type: 'object', properties: { format: { type: 'string', enum: ['json', 'csv', 'siem'], description: 'Export format', }, startTime: { type: 'string', format: 'date-time', description: 'Start time for export (ISO 8601 format)', }, endTime: { type: 'string', format: 'date-time', description: 'End time for export (ISO 8601 format)', }, filters: { type: 'object', description: 'Additional filters (same as queryAuditLogs)', properties: { actors: { type: 'array', items: { type: 'string' } }, actions: { type: 'array', items: { type: 'string' } }, resources: { type: 'array', items: { type: 'string' } }, status: { type: 'array', items: { type: 'string' } }, }, }, includeHeaders: { type: 'boolean', default: true, description: 'Include headers in CSV export', }, }, required: ['format', 'startTime', 'endTime'], }, }, { name: 'checkAuditIntegrity', description: 'Check integrity of audit logs for tampering', inputSchema: { type: 'object', properties: { hoursBack: { type: 'number', minimum: 1, maximum: 720, // 30 days default: 24, description: 'Number of hours to check back from now', }, }, }, }, { name: 'generateComplianceReport', description: 'Generate a compliance report for a specific standard', inputSchema: { type: 'object', properties: { standard: { type: 'string', enum: ['SOC2', 'HIPAA', 'GDPR', 'PCI-DSS', 'ISO27001'], description: 'Compliance standard to report on', }, startTime: { type: 'string', format: 'date-time', description: 'Start time for the report period', }, endTime: { type: 'string', format: 'date-time', description: 'End time for the report period', }, }, required: ['standard', 'startTime', 'endTime'], }, }, { name: 'getAuditMetrics', description: 'Get real-time audit metrics and monitoring data', inputSchema: { type: 'object', properties: { timeWindow: { type: 'string', enum: ['1h', '6h', '24h', '7d', '30d'], default: '24h', description: 'Time window for metrics', }, includeTopN: { type: 'number', minimum: 1, maximum: 100, default: 10, description: 'Number of top items to include in each category', }, }, }, }, ]; //# sourceMappingURL=definitions.js.map