okta-mcp-server
Version:
Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching
67 lines • 2.03 kB
TypeScript
/**
* Audit middleware for automatic capture of MCP operations
*/
import type { CallToolResult, ResourceContents } from '@modelcontextprotocol/sdk/types.js';
import { AuditLogger } from './audit-logger.js';
import { AuditActor, AuditContext } from './types.js';
export interface AuditMiddlewareOptions {
auditLogger: AuditLogger;
extractActor?: (request: any) => AuditActor;
extractContext?: (request: any) => Partial<AuditContext>;
skipPaths?: string[];
performanceThreshold?: number;
}
export declare class AuditMiddleware {
private auditLogger;
private extractActor;
private extractContext;
private skipPaths;
private performanceThreshold;
private activeRequests;
constructor(options: AuditMiddlewareOptions);
/**
* Wrap a tool handler with audit logging
*/
wrapToolHandler<T extends (...args: any[]) => Promise<CallToolResult>>(toolName: string, handler: T): T;
/**
* Wrap a resource handler with audit logging
*/
wrapResourceHandler<T extends (...args: any[]) => Promise<ResourceContents>>(resourceType: string, handler: T): T;
/**
* Create an Express-style middleware for HTTP transports
*/
createHttpMiddleware(): (req: any, res: any, next: any) => Promise<void>;
/**
* Log a tool call
*/
private logToolCall;
/**
* Log a resource read
*/
private logResourceRead;
/**
* Default actor extraction
*/
private defaultExtractActor;
/**
* Default context extraction
*/
private defaultExtractContext;
/**
* Extract resource info from URI
*/
private extractResourceFromUri;
/**
* Calculate performance metrics
*/
private calculatePerformance;
/**
* Create audit context for a request
*/
static createContext(request?: any): AuditContext;
/**
* Create audit actor from various sources
*/
static createActor(source: any): AuditActor;
}
//# sourceMappingURL=audit-middleware.d.ts.map