mcp-swagger-parser
Version:
Enterprise-grade OpenAPI/Swagger specification parser for Model Context Protocol (MCP) projects
77 lines • 1.99 kB
TypeScript
/**
* Metadata extractor for OpenAPI specifications
*/
import type { OpenAPISpec, TagObject, ExternalDocumentationObject } from '../types/index';
export interface ApiMetadata {
info: {
title: string;
version: string;
description?: string;
contact?: {
name?: string;
url?: string;
email?: string;
};
license?: {
name: string;
url?: string;
};
termsOfService?: string;
};
servers: {
url: string;
description?: string;
variables?: Record<string, {
enum?: string[];
default: string;
description?: string;
}>;
}[];
tags: TagObject[];
externalDocs?: ExternalDocumentationObject;
statistics: {
pathCount: number;
operationCount: number;
schemaCount: number;
securitySchemeCount: number;
parameterCount: number;
responseCount: number;
operationsByMethod: Record<string, number>;
operationsByTag: Record<string, number>;
deprecatedOperations: number;
};
}
export declare class MetadataExtractor {
/**
* Extract comprehensive metadata from OpenAPI specification
*/
static extractMetadata(spec: OpenAPISpec): ApiMetadata;
/**
* Extract API information
*/
private static extractInfo;
/**
* Extract server information
*/
private static extractServers;
/**
* Extract tag information
*/
private static extractTags;
/**
* Calculate comprehensive statistics
*/
private static calculateStatistics;
/**
* Generate API summary
*/
static generateSummary(metadata: ApiMetadata): string;
/**
* Validate metadata completeness
*/
static validateMetadata(metadata: ApiMetadata): {
score: number;
suggestions: string[];
};
}
//# sourceMappingURL=metadata-extractor.d.ts.map