mcp-swagger-parser
Version:
Enterprise-grade OpenAPI/Swagger specification parser for Model Context Protocol (MCP) projects
62 lines • 1.9 kB
TypeScript
/**
* Security extractor for OpenAPI specifications
*/
import type { OpenAPISpec, SecuritySchemeObject, SecurityRequirementObject } from '../types/index';
export interface ExtractedSecurityScheme {
name: string;
scheme: SecuritySchemeObject;
usageCount: number;
usedInOperations: string[];
}
export interface SecurityAnalysis {
schemes: ExtractedSecurityScheme[];
globalSecurity: SecurityRequirementObject[];
operationSecurity: Record<string, SecurityRequirementObject[]>;
unsecuredOperations: string[];
}
export declare class SecurityExtractor {
/**
* Extract all security information from OpenAPI specification
*/
static extractSecurity(spec: OpenAPISpec): SecurityAnalysis;
/**
* Extract security schemes from components
*/
private static extractSecuritySchemes;
/**
* Analyze security scheme usage throughout the specification
*/
private static analyzeSecurityUsage;
/**
* Extract operation-level security requirements
*/
private static extractOperationSecurity;
/**
* Find operations without security requirements
*/
private static findUnsecuredOperations;
/**
* Check if object is a reference
*/
private static isReferenceObject;
/**
* Get security scheme statistics
*/
static getSecurityStats(analysis: SecurityAnalysis): {
totalSchemes: number;
schemeTypes: Record<string, number>;
unusedSchemes: number;
globalSecurityCount: number;
unsecuredOperationsCount: number;
mostUsedScheme: string | null;
leastUsedScheme: string | null;
};
/**
* Validate security configuration
*/
static validateSecurityConfig(analysis: SecurityAnalysis): {
warnings: string[];
recommendations: string[];
};
}
//# sourceMappingURL=security-extractor.d.ts.map