/** * Protocol Conformance Assessor Module * * Validates MCP protocol-level compliance using conformance-inspired tests. * Complements ErrorHandlingAssessor (application-level) with protocol-level validation. * * Protocol Checks: * 1. Error Response Format - Validates isError flag, content array structure * 2. Content Type Support - Validates valid content types (text, image, audio, resource) * 3. Initialization Handshake - Validates serverInfo completeness * * @module assessment/modules/ProtocolConformanceAssessor */ import { AssessmentConfiguration } from "../../../lib/assessment/configTypes.js"; import type { ProtocolConformanceAssessment } from "../../../lib/assessment/extendedTypes.js"; import { BaseAssessor } from "./BaseAssessor.js"; import { AssessmentContext } from "../AssessmentOrchestrator.js"; /** * @deprecated Use ProtocolComplianceAssessor instead. Will be removed in v2.0.0. */ export declare class ProtocolConformanceAssessor extends BaseAssessor { constructor(config: AssessmentConfiguration); /** * Select representative tools for testing (first, middle, last for diversity) */ private selectToolsForTesting; /** * Get MCP spec version from config or use default */ private getSpecVersion; /** * Get base URL for MCP specification */ private getSpecBaseUrl; /** * Get lifecycle spec URL */ private getSpecLifecycleUrl; /** * Get tools spec URL */ private getSpecToolsUrl; assess(context: AssessmentContext): Promise; /** * Check 1: Error Response Format * Validates that error responses follow MCP protocol structure * * Tests multiple tools (up to 3) for representative coverage. * Based on conformance's ToolsCallErrorScenario: * - isError flag must be true * - content must be an array * - content items must have type: "text" and text field */ private checkErrorResponseFormat; /** * Check 2: Content Type Support * Validates that tool responses use valid MCP content types * * Valid content types: text, image, audio, resource, resource_link */ private checkContentTypeSupport; /** * Check 3: Initialization Handshake * Validates that server completed proper initialization * * Based on conformance's ServerInitializeScenario: * - Server must provide name * - Server should provide version * - Server should declare capabilities */ private checkInitializationHandshake; /** * Determine overall assessment status based on score and critical check failures */ private determineAssessmentStatus; /** * Generate human-readable explanation of assessment results */ private generateExplanation; /** * Generate recommendations for improving protocol conformance */ private generateRecommendations; } //# sourceMappingURL=ProtocolConformanceAssessor.d.ts.map