okta-mcp-server
Version:
Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching
111 lines • 3.01 kB
TypeScript
import type { ResourceContents } from '@modelcontextprotocol/sdk/types.js';
import type { Container } from '../../core/container.js';
interface SystemLog {
uuid: string;
published: string;
eventType: string;
version: string;
severity: string;
legacyEventType?: string;
displayMessage?: string;
actor?: {
id: string;
type: string;
alternateId?: string;
displayName?: string;
detailEntry?: any;
};
client?: {
userAgent?: {
rawUserAgent?: string;
os?: string;
browser?: string;
};
zone?: string;
device?: string;
id?: string;
ipAddress?: string;
geographicalContext?: {
city?: string;
state?: string;
country?: string;
postalCode?: string;
geolocation?: {
lat?: number;
lon?: number;
};
};
};
authenticationContext?: {
authenticationProvider?: string;
credentialProvider?: string;
credentialType?: string;
issuer?: any;
interface?: string;
authenticationStep?: number;
externalSessionId?: string;
};
request?: {
ipChain?: Array<{
ip: string;
geographicalContext?: any;
version?: string;
source?: string;
}>;
};
outcome?: {
result: string;
reason?: string;
};
target?: Array<{
id: string;
type: string;
alternateId?: string;
displayName?: string;
detailEntry?: any;
}>;
transaction?: {
type: string;
id: string;
detail?: any;
};
debugContext?: {
debugData?: any;
};
securityContext?: {
asNumber?: number;
asOrg?: string;
isp?: string;
domain?: string;
isProxy?: boolean;
};
}
interface LogsResourceOptions {
since?: string | undefined;
until?: string | undefined;
filter?: string | undefined;
q?: string | undefined;
limit?: number;
sortOrder?: 'ASCENDING' | 'DESCENDING' | undefined;
after?: string | undefined;
}
/**
* Handle system logs resource with real-time streaming capability
*/
export default function handleLogsResource(uri: string, container: Container): Promise<ResourceContents>;
/**
* Stream all logs efficiently for bulk operations or monitoring
* This is an additional export for programmatic use
*/
export declare function streamAllLogs(container: Container, options?: LogsResourceOptions): AsyncGenerator<SystemLog, void, undefined>;
/**
* Monitor logs in real-time with polling
* This function polls for new logs at regular intervals
*/
export declare function monitorLogs(container: Container, options?: {
pollingInterval?: number;
filter?: string;
q?: string;
}): AsyncGenerator<SystemLog, void, undefined>;
export {};
//# sourceMappingURL=logs.d.ts.map