Coverage report: 99%

Files Functions Classes

coverage.py v7.13.1, created at 2026-02-11 07:10 +0000

      Statements   Branches   Total
File class   coverage statements missing excluded   coverage branches partial   coverage
mcpgateway / admin.py (no class)   100% 5679 0 2   94% 1558 96   99%
mcpgateway / auth.py (no class)   100% 448 0 0   100% 184 0   100%
mcpgateway / bootstrap_db.py (no class)   100% 259 0 2   100% 76 0   100%
mcpgateway / cache / a2a_stats_cache.py A2AStatsCache   100% 28 0 0   100% 4 0   100%
mcpgateway / cache / a2a_stats_cache.py (no class)   100% 12 0 0   100% 0 0   100%
mcpgateway / cache / admin_stats_cache.py CacheEntry   100% 1 0 0   100% 0 0   100%
mcpgateway / cache / admin_stats_cache.py AdminStatsCache   100% 323 0 0   99% 96 1   99%
mcpgateway / cache / admin_stats_cache.py (no class)   100% 46 0 0   100% 2 0   100%
mcpgateway / cache / auth_cache.py CachedAuthContext   100% 0 0 0   100% 0 0   100%
mcpgateway / cache / auth_cache.py CacheEntry   100% 1 0 0   100% 0 0   100%
mcpgateway / cache / auth_cache.py AuthCache   100% 389 0 0   100% 116 0   100%
mcpgateway / cache / auth_cache.py (no class)   100% 51 0 0   100% 2 0   100%
mcpgateway / cache / global_config_cache.py GlobalConfigCache   100% 46 0 0   100% 12 0   100%
mcpgateway / cache / global_config_cache.py (no class)   100% 12 0 0   100% 0 0   100%
mcpgateway / cache / metrics_cache.py MetricsCache   100% 38 0 0   100% 8 0   100%
mcpgateway / cache / metrics_cache.py (no class)   100% 29 0 0   100% 0 0   100%
mcpgateway / cache / registry_cache.py CacheEntry   100% 1 0 0   100% 0 0   100%
mcpgateway / cache / registry_cache.py RegistryCacheConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / cache / registry_cache.py RegistryCache   100% 120 0 0   96% 26 1   99%
mcpgateway / cache / registry_cache.py CacheInvalidationSubscriber   100% 123 0 0   95% 38 2   99%
mcpgateway / cache / registry_cache.py (no class)   100% 64 0 0   100% 4 0   100%
mcpgateway / cache / resource_cache.py CacheEntry   100% 0 0 0   100% 0 0   100%
mcpgateway / cache / resource_cache.py ResourceCache   100% 68 0 0   100% 18 0   100%
mcpgateway / cache / resource_cache.py (no class)   100% 26 0 0   100% 0 0   100%
mcpgateway / cache / session_registry.py SessionBackend   100% 20 0 0   100% 16 0   100%
mcpgateway / cache / session_registry.py SessionRegistry   100% 672 0 0   100% 216 0   100%
mcpgateway / cache / session_registry.py (no class)   100% 66 0 0   100% 0 0   100%
mcpgateway / cache / tool_lookup_cache.py CacheEntry   100% 1 0 0   100% 0 0   100%
mcpgateway / cache / tool_lookup_cache.py ToolLookupCache   97% 135 4 0   88% 42 5   95%
mcpgateway / cache / tool_lookup_cache.py (no class)   100% 32 0 0   100% 0 0   100%
mcpgateway / cli.py (no class)   100% 105 0 2   100% 34 0   100%
mcpgateway / cli_export_import.py CLIError   100% 0 0 0   100% 0 0   100%
mcpgateway / cli_export_import.py AuthenticationError   100% 0 0 0   100% 0 0   100%
mcpgateway / cli_export_import.py (no class)   100% 178 0 2   95% 62 3   99%
mcpgateway / common / models.py Role   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py LogLevel   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py Annotations   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ToolAnnotations   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py TextContent   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ImageContent   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py AudioContent   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ResourceContents   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py TextResourceContents   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py BlobResourceContents   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ResourceContent   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py PromptReference   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ResourceReference   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py CompleteRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py CompleteResult   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py Implementation   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ModelHint   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ModelPreferences   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ClientCapabilities   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ServerCapabilities   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py InitializeRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py InitializeResult   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py Message   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py SamplingMessage   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py PromptMessage   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py CreateMessageResult   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py PromptArgument   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py Prompt   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py PromptResult   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py CommonAttributes   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py Tool   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py CallToolResult   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py Resource   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ResourceTemplate   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ResourceLink   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py EmbeddedResource   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ListResourceTemplatesResult   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ElicitationCapability   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ElicitRequestParams   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ElicitResult   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py FileUrl   67% 3 1 0   50% 2 1   60%
mcpgateway / common / models.py Root   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ProgressToken   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py Progress   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py JSONRPCRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py JSONRPCResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py JSONRPCError   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py GlobalConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py SSEEvent   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py WebSocketMessage   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ResourceUpdateNotification   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ResourceListChangedNotification   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py PromptListChangedNotification   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ToolListChangedNotification   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py CancelledNotification   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py ProgressNotification   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py LoggingNotification   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py FederatedTool   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py FederatedResource   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py FederatedPrompt   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py Gateway   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py RBACRole   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py UserRoleAssignment   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py PermissionAudit   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py TransportType   100% 0 0 0   100% 0 0   100%
mcpgateway / common / models.py (no class)   100% 341 0 0   100% 0 0   100%
mcpgateway / common / validators.py SecurityValidator   100% 240 0 0   100% 190 0   100%
mcpgateway / common / validators.py (no class)   100% 111 0 0   100% 20 0   100%
mcpgateway / config.py Settings   100% 198 0 4   100% 118 0   100%
mcpgateway / config.py Settings.SecurityStatus   100% 0 0 0   100% 0 0   100%
mcpgateway / config.py Settings.DatabaseSettings   100% 0 0 0   100% 0 0   100%
mcpgateway / config.py Settings.CORSSettings   100% 0 0 0   100% 0 0   100%
mcpgateway / config.py LazySettingsWrapper   100% 1 0 0   100% 0 0   100%
mcpgateway / config.py (no class)   100% 640 0 6   100% 10 0   100%
mcpgateway / db.py ResilientSession   100% 36 0 0   100% 12 0   100%
mcpgateway / db.py Base   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py Role   100% 4 0 0   100% 2 0   100%
mcpgateway / db.py UserRole   100% 3 0 0   100% 2 0   100%
mcpgateway / db.py PermissionAuditLog   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py Permissions   100% 14 0 0   90% 10 1   96%
mcpgateway / db.py EmailUser   100% 25 0 6   93% 14 1   97%
mcpgateway / db.py EmailAuthEvent   100% 3 0 6   100% 0 0   100%
mcpgateway / db.py EmailTeam   100% 21 0 6   100% 10 0   100%
mcpgateway / db.py EmailTeamMember   100% 0 0 6   100% 0 0   100%
mcpgateway / db.py EmailTeamMemberHistory   100% 0 0 21   100% 0 0   100%
mcpgateway / db.py EmailTeamInvitation   100% 8 0 6   100% 4 0   100%
mcpgateway / db.py EmailTeamJoinRequest   100% 8 0 6   100% 4 0   100%
mcpgateway / db.py PendingUserApproval   100% 16 0 6   75% 4 1   95%
mcpgateway / db.py GlobalConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ToolMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ResourceMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ServerMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py PromptMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py A2AAgentMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ToolMetricsHourly   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ResourceMetricsHourly   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py PromptMetricsHourly   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ServerMetricsHourly   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py A2AAgentMetricsHourly   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ObservabilityTrace   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ObservabilitySpan   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ObservabilityEvent   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ObservabilityMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ObservabilitySavedQuery   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py PerformanceSnapshot   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py PerformanceAggregate   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py Tool   100% 84 0 0   94% 36 2   98%
mcpgateway / db.py Resource   100% 78 0 0   94% 36 2   98%
mcpgateway / db.py ResourceSubscription   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py ToolOpsTestCases   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py Prompt   100% 78 0 0   94% 32 2   98%
mcpgateway / db.py Server   100% 73 0 0   94% 32 2   98%
mcpgateway / db.py Gateway   100% 1 0 0   100% 0 0   100%
mcpgateway / db.py A2AAgent   100% 25 0 11   100% 18 0   100%
mcpgateway / db.py GrpcService   100% 0 0 6   100% 0 0   100%
mcpgateway / db.py SessionRecord   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py SessionMessageRecord   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py OAuthToken   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py OAuthState   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py RegisteredOAuthClient   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py EmailApiToken   100% 10 0 0   100% 4 0   100%
mcpgateway / db.py TokenUsageLog   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py TokenRevocation   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py SSOProvider   100% 0 0 6   100% 0 0   100%
mcpgateway / db.py SSOAuthSession   100% 7 0 6   75% 4 1   91%
mcpgateway / db.py StructuredLogEntry   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py PerformanceMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py SecurityEvent   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py LLMProviderType   100% 2 0 0   100% 0 0   100%
mcpgateway / db.py LLMProvider   100% 0 0 6   100% 0 0   100%
mcpgateway / db.py LLMModel   100% 0 0 6   100% 0 0   100%
mcpgateway / db.py AuditTrail   100% 0 0 0   100% 0 0   100%
mcpgateway / db.py (no class)   99% 1668 1 17   94% 154 10   99%
mcpgateway / handlers / sampling.py SamplingError   100% 0 0 0   100% 0 0   100%
mcpgateway / handlers / sampling.py SamplingHandler   99% 72 1 0   95% 44 2   97%
mcpgateway / handlers / sampling.py (no class)   100% 16 0 0   100% 0 0   100%
mcpgateway / instrumentation / sqlalchemy.py (no class)   100% 95 0 0   100% 22 0   100%
mcpgateway / llm_provider_configs.py AWSBedrockConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py IBMWatsonXConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py AzureOpenAIConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py GoogleVertexAIConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py AnthropicConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py CohereConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py HuggingFaceConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py ProviderFieldDefinition   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py ProviderConfigDefinition   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_provider_configs.py (no class)   100% 60 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMProviderTypeEnum   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py HealthStatus   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py RequestStatus   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py RequestType   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMProviderBase   100% 7 0 0   100% 6 0   100%
mcpgateway / llm_schemas.py LLMProviderCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMProviderUpdate   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMProviderResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMProviderListResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMModelBase   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMModelCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMModelUpdate   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMModelResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py LLMModelListResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py FunctionDefinition   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py ToolDefinition   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py ChatMessage   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py ChatCompletionRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py UsageStats   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py ChatChoice   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py ChatCompletionResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py ChatCompletionChunk   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py EmbeddingRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py EmbeddingData   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py EmbeddingResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py GatewayModelInfo   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py GatewayModelsResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py ProviderHealthCheck   100% 0 0 0   100% 0 0   100%
mcpgateway / llm_schemas.py (no class)   100% 221 0 0   100% 0 0   100%
mcpgateway / main.py DocsAuthMiddleware   100% 15 0 0   100% 4 0   100%
mcpgateway / main.py AdminAuthMiddleware   100% 86 0 0   93% 44 3   98%
mcpgateway / main.py MCPPathRewriteMiddleware   100% 25 0 0   100% 10 0   100%
mcpgateway / main.py (no class)   100% 2729 0 4   95% 786 39   99%
mcpgateway / middleware / auth_middleware.py AuthContextMiddleware   100% 45 0 0   100% 14 0   100%
mcpgateway / middleware / auth_middleware.py (no class)   100% 19 0 0   100% 0 0   100%
mcpgateway / middleware / compression.py SSEAwareCompressMiddleware   100% 15 0 0   100% 4 0   100%
mcpgateway / middleware / compression.py (no class)   100% 7 0 0   100% 0 0   100%
mcpgateway / middleware / correlation_id.py CorrelationIDMiddleware   100% 18 0 0   100% 6 0   100%
mcpgateway / middleware / correlation_id.py (no class)   100% 10 0 0   100% 0 0   100%
mcpgateway / middleware / db_query_logging.py DBQueryLoggingMiddleware   100% 24 0 0   88% 8 1   97%
mcpgateway / middleware / db_query_logging.py (no class)   100% 159 0 0   90% 52 5   98%
mcpgateway / middleware / http_auth_middleware.py HttpAuthMiddleware   100% 48 0 0   91% 22 2   97%
mcpgateway / middleware / http_auth_middleware.py (no class)   100% 10 0 0   100% 0 0   100%
mcpgateway / middleware / observability_middleware.py ObservabilityMiddleware   100% 78 0 0   68% 22 7   93%
mcpgateway / middleware / observability_middleware.py (no class)   100% 16 0 0   100% 0 0   100%
mcpgateway / middleware / path_filter.py (no class)   100% 61 0 0   100% 10 0   100%
mcpgateway / middleware / protocol_version.py MCPProtocolVersionMiddleware   100% 18 0 0   100% 10 0   100%
mcpgateway / middleware / protocol_version.py (no class)   100% 11 0 0   100% 0 0   100%
mcpgateway / middleware / rbac.py PermissionChecker   100% 28 0 0   100% 16 0   100%
mcpgateway / middleware / rbac.py (no class)   100% 271 0 0   100% 116 0   100%
mcpgateway / middleware / request_context.py (no class)   100% 7 0 0   100% 2 0   100%
mcpgateway / middleware / request_logging_middleware.py RequestLoggingMiddleware   100% 169 0 0   100% 60 0   100%
mcpgateway / middleware / request_logging_middleware.py (no class)   100% 57 0 0   100% 20 0   100%
mcpgateway / middleware / security_headers.py SecurityHeadersMiddleware   100% 55 0 0   100% 40 0   100%
mcpgateway / middleware / security_headers.py (no class)   100% 6 0 0   100% 0 0   100%
mcpgateway / middleware / token_scoping.py TokenScopingMiddleware   100% 352 0 0   98% 192 4   99%
mcpgateway / middleware / token_scoping.py (no class)   100% 30 0 0   100% 0 0   100%
mcpgateway / middleware / validation_middleware.py ValidationMiddleware   100% 81 0 0   100% 52 0   100%
mcpgateway / middleware / validation_middleware.py (no class)   100% 19 0 0   100% 0 0   100%
mcpgateway / observability.py init_telemetry.ResourceAttributeSpanProcessor   91% 11 1 0   83% 6 1   88%
mcpgateway / observability.py create_span.SpanWithAttributes   100% 20 0 0   79% 14 3   91%
mcpgateway / observability.py (no class)   99% 207 2 7   92% 78 6   97%
mcpgateway / plugins / framework / base.py Plugin   100% 34 0 0   100% 16 0   100%
mcpgateway / plugins / framework / base.py PluginRef   100% 10 0 0   100% 0 0   100%
mcpgateway / plugins / framework / base.py HookRef   100% 56 0 0   92% 26 2   98%
mcpgateway / plugins / framework / base.py (no class)   100% 53 0 0   100% 0 0   100%
mcpgateway / plugins / framework / constants.py (no class)   100% 26 0 0   100% 0 0   100%
mcpgateway / plugins / framework / decorator.py HookMetadata   100% 3 0 0   100% 0 0   100%
mcpgateway / plugins / framework / decorator.py (no class)   100% 18 0 0   100% 0 0   100%
mcpgateway / plugins / framework / errors.py PluginViolationError   100% 3 0 0   100% 0 0   100%
mcpgateway / plugins / framework / errors.py PluginError   100% 2 0 0   100% 0 0   100%
mcpgateway / plugins / framework / errors.py (no class)   100% 7 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / client.py GrpcExternalPlugin   100% 86 0 1   100% 26 0   100%
mcpgateway / plugins / framework / external / grpc / client.py (no class)   100% 22 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / proto / plugin_service_pb2.py (no class)   100% 11 0 34   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / proto / plugin_service_pb2_grpc.py PluginServiceStub   100% 3 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / proto / plugin_service_pb2_grpc.py PluginServiceServicer   100% 9 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / proto / plugin_service_pb2_grpc.py PluginService   100% 3 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / proto / plugin_service_pb2_grpc.py HealthStub   100% 1 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / proto / plugin_service_pb2_grpc.py HealthServicer   100% 3 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / proto / plugin_service_pb2_grpc.py Health   100% 1 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / proto / plugin_service_pb2_grpc.py (no class)   100% 38 0 4   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / server / runtime.py GrpcPluginRuntime   100% 52 0 0   100% 18 0   100%
mcpgateway / plugins / framework / external / grpc / server / runtime.py (no class)   100% 47 0 2   100% 2 0   100%
mcpgateway / plugins / framework / external / grpc / server / server.py GrpcPluginServicer   100% 66 0 0   100% 16 0   100%
mcpgateway / plugins / framework / external / grpc / server / server.py GrpcHealthServicer   100% 3 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / server / server.py (no class)   100% 19 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / grpc / tls_utils.py (no class)   100% 44 0 0   100% 10 0   100%
mcpgateway / plugins / framework / external / mcp / client.py ExternalPlugin   100% 244 0 0   100% 96 0   100%
mcpgateway / plugins / framework / external / mcp / client.py ExternalHookRef   100% 5 0 0   100% 2 0   100%
mcpgateway / plugins / framework / external / mcp / client.py (no class)   100% 37 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / mcp / server / runtime.py SSLCapableFastMCP   100% 81 0 0   100% 24 0   100%
mcpgateway / plugins / framework / external / mcp / server / runtime.py (no class)   100% 71 0 2   100% 18 0   100%
mcpgateway / plugins / framework / external / mcp / server / server.py ExternalPluginServer   97% 35 1 0   93% 14 1   96%
mcpgateway / plugins / framework / external / mcp / server / server.py (no class)   100% 20 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / mcp / tls_utils.py (no class)   100% 27 0 0   100% 8 0   100%
mcpgateway / plugins / framework / external / proto_convert.py (no class)   100% 70 0 0   97% 36 1   99%
mcpgateway / plugins / framework / external / unix / client.py UnixSocketExternalPlugin   99% 114 1 0   96% 28 1   99%
mcpgateway / plugins / framework / external / unix / client.py (no class)   100% 24 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / unix / protocol.py ProtocolError   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / external / unix / protocol.py (no class)   100% 28 0 0   100% 10 0   100%
mcpgateway / plugins / framework / external / unix / server / runtime.py (no class)   100% 22 0 2   100% 0 0   100%
mcpgateway / plugins / framework / external / unix / server / server.py UnixSocketPluginServer   97% 139 4 0   85% 34 5   95%
mcpgateway / plugins / framework / external / unix / server / server.py (no class)   95% 40 2 0   100% 2 0   95%
mcpgateway / plugins / framework / hooks / agents.py AgentHookType   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / agents.py AgentPreInvokePayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / agents.py AgentPostInvokePayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / agents.py (no class)   100% 30 0 0   50% 2 1   97%
mcpgateway / plugins / framework / hooks / http.py HttpHeaderPayload   100% 4 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / http.py HttpHookType   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / http.py HttpPreRequestPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / http.py HttpPostRequestPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / http.py HttpAuthResolveUserPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / http.py HttpAuthCheckPermissionPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / http.py HttpAuthCheckPermissionResultPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / http.py (no class)   100% 53 0 0   50% 2 1   98%
mcpgateway / plugins / framework / hooks / prompts.py PromptHookType   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / prompts.py PromptPrehookPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / prompts.py PromptPosthookPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / prompts.py (no class)   100% 23 0 0   50% 2 1   96%
mcpgateway / plugins / framework / hooks / registry.py HookRegistry   100% 21 0 0   100% 10 0   100%
mcpgateway / plugins / framework / hooks / registry.py (no class)   100% 17 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / resources.py ResourceHookType   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / resources.py ResourcePreFetchPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / resources.py ResourcePostFetchPayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / resources.py (no class)   100% 22 0 0   50% 2 1   96%
mcpgateway / plugins / framework / hooks / tools.py ToolHookType   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / tools.py ToolPreInvokePayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / tools.py ToolPostInvokePayload   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / hooks / tools.py (no class)   100% 24 0 0   50% 2 1   96%
mcpgateway / plugins / framework / loader / config.py ConfigLoader   100% 11 0 0   100% 2 0   100%
mcpgateway / plugins / framework / loader / config.py (no class)   100% 7 0 0   100% 0 0   100%
mcpgateway / plugins / framework / loader / plugin.py PluginLoader   100% 38 0 1   100% 16 0   100%
mcpgateway / plugins / framework / loader / plugin.py (no class)   100% 14 0 0   100% 0 0   100%
mcpgateway / plugins / framework / manager.py PluginTimeoutError   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / manager.py PayloadSizeError   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / manager.py PluginExecutor   98% 91 2 0   91% 46 4   96%
mcpgateway / plugins / framework / manager.py PluginManager   94% 77 5 0   94% 32 2   94%
mcpgateway / plugins / framework / manager.py (no class)   100% 50 0 0   100% 0 0   100%
mcpgateway / plugins / framework / memory.py CopyOnWriteDict   100% 64 0 7   100% 38 0   100%
mcpgateway / plugins / framework / memory.py (no class)   100% 26 0 1   100% 2 0   100%
mcpgateway / plugins / framework / models.py PluginMode   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py BaseTemplate   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py ToolTemplate   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py PromptTemplate   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py ResourceTemplate   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py PluginCondition   100% 6 0 0   100% 4 0   100%
mcpgateway / plugins / framework / models.py AppliedTo   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py MCPTransportTLSConfigBase   100% 17 0 0   100% 12 0   100%
mcpgateway / plugins / framework / models.py MCPClientTLSConfig   100% 19 0 0   100% 14 0   100%
mcpgateway / plugins / framework / models.py MCPServerTLSConfig   100% 18 0 0   100% 12 0   100%
mcpgateway / plugins / framework / models.py MCPServerConfig   100% 47 0 0   100% 30 0   100%
mcpgateway / plugins / framework / models.py MCPClientConfig   100% 64 0 0   100% 50 0   100%
mcpgateway / plugins / framework / models.py GRPCClientTLSConfig   100% 16 0 0   100% 12 0   100%
mcpgateway / plugins / framework / models.py GRPCServerTLSConfig   100% 19 0 0   100% 14 0   100%
mcpgateway / plugins / framework / models.py GRPCClientConfig   100% 36 0 0   100% 24 0   100%
mcpgateway / plugins / framework / models.py GRPCServerConfig   100% 42 0 0   100% 26 0   100%
mcpgateway / plugins / framework / models.py UnixSocketClientConfig   100% 5 0 0   100% 4 0   100%
mcpgateway / plugins / framework / models.py UnixSocketServerConfig   100% 7 0 0   100% 4 0   100%
mcpgateway / plugins / framework / models.py PluginConfig   100% 26 0 0   100% 20 0   100%
mcpgateway / plugins / framework / models.py PluginManifest   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py PluginErrorModel   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py PluginViolation   100% 4 0 0   100% 2 0   100%
mcpgateway / plugins / framework / models.py PluginSettings   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py Config   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py PluginResult   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py GlobalContext   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py PluginContext   100% 5 0 0   100% 0 0   100%
mcpgateway / plugins / framework / models.py (no class)   100% 241 0 0   100% 0 0   100%
mcpgateway / plugins / framework / registry.py PluginInstanceRegistry   100% 48 0 0   94% 18 1   98%
mcpgateway / plugins / framework / registry.py (no class)   100% 18 0 0   100% 0 0   100%
mcpgateway / plugins / framework / utils.py (no class)   98% 52 1 0   93% 30 2   96%
mcpgateway / plugins / tools / cli.py (no class)   100% 51 0 5   100% 2 0   100%
mcpgateway / plugins / tools / models.py InstallManifestPackage   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / tools / models.py InstallManifest   100% 0 0 0   100% 0 0   100%
mcpgateway / plugins / tools / models.py (no class)   100% 7 0 0   100% 0 0   100%
mcpgateway / reverse_proxy.py ConnectionState   100% 0 0 0   100% 0 0   100%
mcpgateway / reverse_proxy.py MessageType   100% 0 0 0   100% 0 0   100%
mcpgateway / reverse_proxy.py StdioProcess   100% 50 0 0   94% 18 1   99%
mcpgateway / reverse_proxy.py ReverseProxyClient   100% 148 0 0   96% 54 2   99%
mcpgateway / reverse_proxy.py (no class)   100% 135 0 2   100% 22 0   100%
mcpgateway / routers / auth.py LoginRequest   100% 7 0 0   100% 6 0   100%
mcpgateway / routers / auth.py (no class)   100% 51 0 0   100% 2 0   100%
mcpgateway / routers / cancellation_router.py CancelRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / cancellation_router.py CancelResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / cancellation_router.py (no class)   100% 45 0 0   100% 6 0   100%
mcpgateway / routers / email_auth.py (no class)   100% 253 0 0   100% 40 0   100%
mcpgateway / routers / llm_admin_router.py (no class)   100% 226 0 0   93% 42 3   99%
mcpgateway / routers / llm_config_router.py (no class)   100% 184 0 0   100% 2 0   100%
mcpgateway / routers / llm_proxy_router.py (no class)   100% 46 0 0   100% 6 0   100%
mcpgateway / routers / llmchat_router.py LLMInput   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / llmchat_router.py ServerInput   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / llmchat_router.py ConnectInput   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / llmchat_router.py ChatInput   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / llmchat_router.py DisconnectInput   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / llmchat_router.py (no class)   99% 337 5 0   93% 106 7   97%
mcpgateway / routers / log_search.py LogSearchRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / log_search.py LogEntry   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / log_search.py LogSearchResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / log_search.py CorrelationTraceRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / log_search.py CorrelationTraceResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / log_search.py SecurityEventResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / log_search.py AuditTrailResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / log_search.py PerformanceMetricResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / log_search.py (no class)   100% 327 0 2   100% 104 0   100%
mcpgateway / routers / metrics_maintenance.py CleanupRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / metrics_maintenance.py RollupRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / metrics_maintenance.py CleanupResultResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / metrics_maintenance.py CleanupSummaryResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / metrics_maintenance.py RollupResultResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / metrics_maintenance.py RollupSummaryResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / metrics_maintenance.py MetricsStatsResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / metrics_maintenance.py (no class)   100% 93 0 0   100% 10 0   100%
mcpgateway / routers / oauth_router.py (no class)   100% 236 0 0   94% 66 4   99%
mcpgateway / routers / observability.py (no class)   100% 145 0 0   100% 28 0   100%
mcpgateway / routers / rbac.py (no class)   100% 212 0 0   100% 8 0   100%
mcpgateway / routers / reverse_proxy.py ReverseProxySession   100% 17 0 0   100% 0 0   100%
mcpgateway / routers / reverse_proxy.py ReverseProxyManager   100% 11 0 0   100% 2 0   100%
mcpgateway / routers / reverse_proxy.py (no class)   100% 175 0 0   100% 46 0   100%
mcpgateway / routers / server_well_known.py (no class)   100% 39 0 0   100% 10 0   100%
mcpgateway / routers / sso.py SSOProviderCreateRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / sso.py SSOProviderUpdateRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / sso.py SSOProviderResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / sso.py SSOLoginResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / sso.py SSOCallbackResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / sso.py PendingUserApprovalResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / sso.py ApprovalActionRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / sso.py (no class)   98% 247 5 0   95% 56 3   97%
mcpgateway / routers / teams.py (no class)   100% 411 0 0   100% 84 0   100%
mcpgateway / routers / tokens.py (no class)   97% 180 5 0   89% 44 5   96%
mcpgateway / routers / toolops_router.py ToolNLTestInput   100% 0 0 0   100% 0 0   100%
mcpgateway / routers / toolops_router.py (no class)   96% 50 2 0   100% 0 0   96%
mcpgateway / routers / well_known.py (no class)   99% 108 1 0   96% 50 2   98%
mcpgateway / schemas.py ToolMetrics   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ResourceMetrics   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ServerMetrics   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PromptMetrics   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py A2AAgentMetrics   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py JsonPathModifier   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py AuthenticationValues   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ToolCreate   100% 117 0 0   98% 84 2   99%
mcpgateway / schemas.py ToolUpdate   100% 98 0 0   94% 66 4   98%
mcpgateway / schemas.py ToolRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ToolInvocation   100% 3 0 0   100% 0 0   100%
mcpgateway / schemas.py ToolResult   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ResourceCreate   100% 26 0 0   100% 14 0   100%
mcpgateway / schemas.py ResourceUpdate   100% 25 0 0   100% 14 0   100%
mcpgateway / schemas.py ResourceRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ResourceSubscription   100% 2 0 0   100% 0 0   100%
mcpgateway / schemas.py ResourceNotification   100% 1 0 0   100% 0 0   100%
mcpgateway / schemas.py PromptArgument   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PromptCreate   100% 18 0 0   100% 8 0   100%
mcpgateway / schemas.py PromptExecuteArgs   100% 3 0 0   100% 2 0   100%
mcpgateway / schemas.py PromptUpdate   100% 18 0 0   100% 8 0   100%
mcpgateway / schemas.py PromptRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PromptInvocation   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py GlobalConfigUpdate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py GlobalConfigRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TransportType   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py GatewayCreate   100% 86 0 0   100% 56 0   100%
mcpgateway / schemas.py GatewayUpdate   100% 72 0 0   100% 48 0   100%
mcpgateway / schemas.py GatewayRead   100% 73 0 0   89% 46 5   96%
mcpgateway / schemas.py GatewayRefreshResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py FederatedTool   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py FederatedResource   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py FederatedPrompt   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py RPCRequest   100% 13 0 0   100% 8 0   100%
mcpgateway / schemas.py RPCResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py EventMessage   100% 1 0 0   100% 0 0   100%
mcpgateway / schemas.py AdminToolCreate   100% 6 0 0   100% 2 0   100%
mcpgateway / schemas.py AdminGatewayCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py StatusToggleRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py StatusToggleResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ListFilters   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ServerCreate   96% 24 1 0   93% 14 1   95%
mcpgateway / schemas.py ServerUpdate   100% 18 0 0   100% 10 0   100%
mcpgateway / schemas.py ServerRead   100% 15 0 0   100% 10 0   100%
mcpgateway / schemas.py GatewayTestRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py GatewayTestResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TaggedEntity   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TagStats   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TagInfo   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TopPerformer   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py A2AAgentCreate   100% 90 0 0   98% 58 1   99%
mcpgateway / schemas.py A2AAgentUpdate   100% 84 0 0   100% 56 0   100%
mcpgateway / schemas.py A2AAgentRead   100% 62 0 0   86% 44 6   94%
mcpgateway / schemas.py A2AAgentInvocation   100% 3 0 0   100% 0 0   100%
mcpgateway / schemas.py EmailLoginRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PublicRegistrationRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py AdminCreateUserRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ChangePasswordRequest   100% 3 0 0   100% 2 0   100%
mcpgateway / schemas.py EmailUserResponse   100% 1 0 0   100% 0 0   100%
mcpgateway / schemas.py AuthenticationResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py AuthEventResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py UserListResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py AdminUserUpdateRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ErrorResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py SuccessResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamCreateRequest   100% 24 0 0   94% 18 1   98%
mcpgateway / schemas.py TeamUpdateRequest   100% 18 0 0   86% 14 2   94%
mcpgateway / schemas.py TeamResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamMemberResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PaginatedTeamMembersResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamInviteRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamInvitationResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamMemberUpdateRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamListResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamDiscoveryResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamJoinRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TeamJoinRequestResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TokenScopeRequest   100% 31 0 0   100% 18 0   100%
mcpgateway / schemas.py TokenCreateRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TokenUpdateRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TokenResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TokenCreateResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TokenListResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TokenRevokeRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py TokenUsageStatsResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py RoleCreateRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py RoleUpdateRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py RoleResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py UserRoleAssignRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py UserRoleResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PermissionCheckRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PermissionCheckResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PermissionListResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py SSOProviderResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py SSOLoginResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py SSOCallbackResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py GrpcServiceCreate   100% 11 0 0   100% 6 0   100%
mcpgateway / schemas.py GrpcServiceUpdate   100% 15 0 0   90% 10 1   96%
mcpgateway / schemas.py GrpcServiceRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PluginSummary   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PluginDetail   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PluginListResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PluginStatsResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogServer   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogServerRegisterRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogServerRegisterResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogServerStatusRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogServerStatusResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogListRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogListResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogBulkRegisterRequest   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CatalogBulkRegisterResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PaginationMeta   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PaginationLinks   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PaginatedResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PaginationParams   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CursorPaginatedToolsResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CursorPaginatedServersResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CursorPaginatedGatewaysResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CursorPaginatedResourcesResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CursorPaginatedPromptsResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CursorPaginatedA2AAgentsResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CursorPaginatedTeamsResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CursorPaginatedUsersResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityTraceBase   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityTraceCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityTraceUpdate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityTraceRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilitySpanBase   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilitySpanCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilitySpanUpdate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilitySpanRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityEventBase   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityEventCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityEventRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityMetricBase   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityMetricCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityMetricRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityTraceWithSpans   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilitySpanWithEvents   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py ObservabilityQueryParams   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py WorkerMetrics   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py SystemMetricsSchema   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py RequestMetricsSchema   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py DatabaseMetricsSchema   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py CacheMetricsSchema   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py GunicornMetricsSchema   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PerformanceSnapshotCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PerformanceSnapshotRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PerformanceAggregateBase   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PerformanceAggregateCreate   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PerformanceAggregateRead   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PerformanceDashboard   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PerformanceHistoryParams   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py PerformanceHistoryResponse   100% 0 0 0   100% 0 0   100%
mcpgateway / schemas.py (no class)   100% 1786 0 0   100% 8 0   100%
mcpgateway / scripts / validate_env.py (no class)   100% 68 0 3   100% 36 0   100%
mcpgateway / services / a2a_service.py A2AAgentError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / a2a_service.py A2AAgentNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / a2a_service.py A2AAgentNameConflictError   100% 7 0 0   100% 2 0   100%
mcpgateway / services / a2a_service.py A2AAgentService   100% 557 0 0   96% 238 10   99%
mcpgateway / services / a2a_service.py (no class)   100% 54 0 0   100% 2 0   100%
mcpgateway / services / argon2_service.py Argon2PasswordService   100% 64 0 6   90% 20 2   98%
mcpgateway / services / argon2_service.py (no class)   100% 27 0 1   100% 0 0   100%
mcpgateway / services / audit_trail_service.py AuditAction   100% 0 0 0   100% 0 0   100%
mcpgateway / services / audit_trail_service.py DataClassification   100% 0 0 0   100% 0 0   100%
mcpgateway / services / audit_trail_service.py AuditTrailService   100% 86 0 0   87% 46 6   95%
mcpgateway / services / audit_trail_service.py (no class)   100% 38 0 0   100% 2 0   100%
mcpgateway / services / cancellation_service.py CancellationService   100% 127 0 0   97% 34 1   99%
mcpgateway / services / cancellation_service.py (no class)   100% 23 0 0   100% 0 0   100%
mcpgateway / services / catalog_service.py CatalogService   100% 241 0 0   99% 106 1   99%
mcpgateway / services / catalog_service.py (no class)   100% 24 0 0   100% 0 0   100%
mcpgateway / services / completion_service.py CompletionError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / completion_service.py CompletionService   100% 52 0 0   100% 26 0   100%
mcpgateway / services / completion_service.py (no class)   100% 19 0 0   100% 0 0   100%
mcpgateway / services / dcr_service.py DcrService   100% 136 0 0   100% 44 0   100%
mcpgateway / services / dcr_service.py DcrError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / dcr_service.py (no class)   100% 22 0 0   100% 0 0   100%
mcpgateway / services / elicitation_service.py PendingElicitation   100% 0 0 0   100% 0 0   100%
mcpgateway / services / elicitation_service.py ElicitationService   96% 96 4 0   83% 42 7   92%
mcpgateway / services / elicitation_service.py (no class)   100% 37 0 0   100% 2 0   100%
mcpgateway / services / email_auth_service.py UsersListResult   100% 0 0 0   100% 0 0   100%
mcpgateway / services / email_auth_service.py EmailValidationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / email_auth_service.py PasswordValidationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / email_auth_service.py UserExistsError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / email_auth_service.py AuthenticationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / email_auth_service.py EmailAuthService   99% 469 3 0   96% 162 7   98%
mcpgateway / services / email_auth_service.py (no class)   100% 55 0 0   100% 0 0   100%
mcpgateway / services / encryption_service.py EncryptionService   100% 45 0 0   100% 8 0   100%
mcpgateway / services / encryption_service.py (no class)   100% 21 0 0   100% 0 0   100%
mcpgateway / services / event_service.py EventService   100% 77 0 0   100% 22 0   100%
mcpgateway / services / event_service.py (no class)   100% 22 0 0   100% 0 0   100%
mcpgateway / services / export_service.py ExportError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / export_service.py ExportValidationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / export_service.py ExportService   100% 301 0 0   88% 136 17   96%
mcpgateway / services / export_service.py ExportService.export_configuration.ExportOptions   100% 0 0 0   100% 0 0   100%
mcpgateway / services / export_service.py ExportService.export_configuration.ExportMetadata   100% 0 0 0   100% 0 0   100%
mcpgateway / services / export_service.py ExportService.export_configuration.ExportData   100% 0 0 0   100% 0 0   100%
mcpgateway / services / export_service.py ExportService.export_selective.SelExportOptions   100% 0 0 0   100% 0 0   100%
mcpgateway / services / export_service.py ExportService.export_selective.SelExportMetadata   100% 0 0 0   100% 0 0   100%
mcpgateway / services / export_service.py ExportService.export_selective.SelExportData   100% 0 0 0   100% 0 0   100%
mcpgateway / services / export_service.py (no class)   100% 39 0 0   100% 0 0   100%
mcpgateway / services / gateway_service.py GatewayError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / gateway_service.py GatewayNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / gateway_service.py GatewayNameConflictError   100% 10 0 0   100% 4 0   100%
mcpgateway / services / gateway_service.py GatewayDuplicateConflictError   100% 17 0 0   100% 6 0   100%
mcpgateway / services / gateway_service.py GatewayConnectionError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / gateway_service.py OAuthToolValidationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / gateway_service.py GatewayService   92% 2039 156 4   83% 892 117   90%
mcpgateway / services / gateway_service.py (no class)   98% 144 3 0   100% 8 0   98%
mcpgateway / services / grpc_service.py GrpcServiceError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / grpc_service.py GrpcServiceNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / grpc_service.py GrpcServiceNameConflictError   100% 9 0 0   100% 4 0   100%
mcpgateway / services / grpc_service.py GrpcService   98% 183 3 0   91% 76 7   96%
mcpgateway / services / grpc_service.py (no class)   86% 37 5 0   100% 0 0   86%
mcpgateway / services / http_client_service.py SharedHttpClient   100% 33 0 0   100% 16 0   100%
mcpgateway / services / http_client_service.py (no class)   100% 44 0 0   100% 0 0   100%
mcpgateway / services / import_service.py ConflictStrategy   100% 0 0 0   100% 0 0   100%
mcpgateway / services / import_service.py ImportError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / import_service.py ImportValidationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / import_service.py ImportConflictError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / import_service.py ImportStatus   100% 13 0 0   100% 0 0   100%
mcpgateway / services / import_service.py ImportService   100% 716 0 0   89% 336 38   96%
mcpgateway / services / import_service.py (no class)   100% 71 0 0   100% 0 0   100%
mcpgateway / services / llm_provider_service.py LLMProviderError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / llm_provider_service.py LLMProviderNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / llm_provider_service.py LLMProviderNameConflictError   100% 6 0 0   100% 2 0   100%
mcpgateway / services / llm_provider_service.py LLMModelNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / llm_provider_service.py LLMModelConflictError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / llm_provider_service.py LLMProviderService   100% 230 0 0   85% 98 15   95%
mcpgateway / services / llm_provider_service.py (no class)   100% 40 0 0   100% 0 0   100%
mcpgateway / services / llm_proxy_service.py LLMProxyError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / llm_proxy_service.py LLMProxyAuthError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / llm_proxy_service.py LLMProxyRequestError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / llm_proxy_service.py LLMProxyService   100% 245 0 0   100% 140 0   100%
mcpgateway / services / llm_proxy_service.py (no class)   100% 35 0 0   100% 0 0   100%
mcpgateway / services / log_aggregator.py LogAggregator   97% 322 9 0   84% 134 18   93%
mcpgateway / services / log_aggregator.py (no class)   100% 33 0 0   100% 2 0   100%
mcpgateway / services / log_storage_service.py LogEntryDict   100% 0 0 0   100% 0 0   100%
mcpgateway / services / log_storage_service.py LogEntry   100% 21 0 0   100% 0 0   100%
mcpgateway / services / log_storage_service.py LogStorageMessage   100% 0 0 0   100% 0 0   100%
mcpgateway / services / log_storage_service.py LogStorageService   100% 97 0 0   100% 44 0   100%
mcpgateway / services / log_storage_service.py (no class)   100% 36 0 0   100% 0 0   100%
mcpgateway / services / logging_service.py CorrelationIdJsonFormatter   89% 19 2 0   88% 8 1   89%
mcpgateway / services / logging_service.py StorageHandler   93% 30 2 0   100% 4 0   94%
mcpgateway / services / logging_service.py _LogMessageData   100% 0 0 0   100% 0 0   100%
mcpgateway / services / logging_service.py _LogMessage   100% 0 0 0   100% 0 0   100%
mcpgateway / services / logging_service.py LoggingService   100% 96 0 0   96% 26 1   99%
mcpgateway / services / logging_service.py LoggingService._install_closedresourceerror_filter._SuppressClosedResourceErrorFilter   76% 17 4 0   100% 8 0   84%
mcpgateway / services / logging_service.py (no class)   100% 76 0 2   90% 10 1   99%
mcpgateway / services / mcp_client_chat_service.py MCPServerConfig   100% 16 0 0   100% 8 0   100%
mcpgateway / services / mcp_client_chat_service.py AzureOpenAIConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_client_chat_service.py OllamaConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_client_chat_service.py OpenAIConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_client_chat_service.py AnthropicConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_client_chat_service.py AWSBedrockConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_client_chat_service.py WatsonxConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_client_chat_service.py GatewayConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_client_chat_service.py LLMConfig   100% 17 0 0   94% 16 1   97%
mcpgateway / services / mcp_client_chat_service.py MCPClientConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_client_chat_service.py AzureOpenAIProvider   100% 15 0 0   83% 6 1   95%
mcpgateway / services / mcp_client_chat_service.py OllamaProvider   100% 18 0 0   75% 8 2   92%
mcpgateway / services / mcp_client_chat_service.py OpenAIProvider   100% 20 0 0   80% 10 2   93%
mcpgateway / services / mcp_client_chat_service.py AnthropicProvider   100% 17 0 0   75% 8 2   92%
mcpgateway / services / mcp_client_chat_service.py AWSBedrockProvider   100% 24 0 0   86% 14 2   95%
mcpgateway / services / mcp_client_chat_service.py WatsonxProvider   100% 22 0 0   67% 12 4   88%
mcpgateway / services / mcp_client_chat_service.py GatewayProvider   99% 113 1 0   97% 72 2   98%
mcpgateway / services / mcp_client_chat_service.py LLMProviderFactory   100% 6 0 0   100% 2 0   100%
mcpgateway / services / mcp_client_chat_service.py ChatHistoryManager   100% 52 0 0   95% 20 1   99%
mcpgateway / services / mcp_client_chat_service.py MCPClient   100% 54 0 0   85% 20 3   96%
mcpgateway / services / mcp_client_chat_service.py MCPChatService   100% 264 0 0   88% 104 13   96%
mcpgateway / services / mcp_client_chat_service.py (no class)   100% 210 0 0   100% 0 0   100%
mcpgateway / services / mcp_session_pool.py TransportType   100% 0 0 0   100% 0 0   100%
mcpgateway / services / mcp_session_pool.py PooledSession   100% 4 0 0   100% 0 0   100%
mcpgateway / services / mcp_session_pool.py MCPSessionPool   100% 688 0 0   100% 228 0   100%
mcpgateway / services / mcp_session_pool.py (no class)   100% 150 0 1   100% 6 0   100%
mcpgateway / services / metrics.py (no class)   100% 50 0 0   93% 14 1   98%
mcpgateway / services / metrics_buffer_service.py BufferedToolMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_buffer_service.py BufferedResourceMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_buffer_service.py BufferedPromptMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_buffer_service.py BufferedServerMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_buffer_service.py BufferedA2AAgentMetric   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_buffer_service.py MetricsBufferService   100% 184 0 0   96% 46 2   99%
mcpgateway / services / metrics_buffer_service.py (no class)   100% 72 0 0   100% 2 0   100%
mcpgateway / services / metrics_cleanup_service.py CleanupResult   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_cleanup_service.py CleanupSummary   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_cleanup_service.py MetricsCleanupService   100% 119 0 0   84% 32 5   97%
mcpgateway / services / metrics_cleanup_service.py (no class)   100% 66 0 0   100% 8 0   100%
mcpgateway / services / metrics_query_service.py AggregatedMetrics   100% 1 0 0   100% 0 0   100%
mcpgateway / services / metrics_query_service.py TopPerformerResult   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_query_service.py (no class)   100% 171 0 0   98% 42 1   99%
mcpgateway / services / metrics_rollup_service.py RollupResult   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_rollup_service.py RollupSummary   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_rollup_service.py HourlyAggregation   100% 0 0 0   100% 0 0   100%
mcpgateway / services / metrics_rollup_service.py MetricsRollupService   100% 269 0 0   90% 84 8   98%
mcpgateway / services / metrics_rollup_service.py (no class)   100% 76 0 0   100% 2 0   100%
mcpgateway / services / notification_service.py NotificationType   100% 0 0 0   100% 0 0   100%
mcpgateway / services / notification_service.py GatewayCapabilities   100% 0 0 0   100% 0 0   100%
mcpgateway / services / notification_service.py PendingRefresh   100% 0 0 0   100% 0 0   100%
mcpgateway / services / notification_service.py NotificationService   94% 127 7 0   91% 32 3   94%
mcpgateway / services / notification_service.py (no class)   98% 60 1 0   83% 6 1   97%
mcpgateway / services / oauth_manager.py OAuthManager   100% 525 0 0   100% 212 0   100%
mcpgateway / services / oauth_manager.py OAuthError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / oauth_manager.py (no class)   100% 58 0 0   100% 6 0   100%
mcpgateway / services / observability_service.py ObservabilityService   100% 275 0 0   100% 160 0   100%
mcpgateway / services / observability_service.py (no class)   100% 63 0 0   100% 8 0   100%
mcpgateway / services / performance_service.py PerformanceService   100% 279 0 0   86% 98 14   96%
mcpgateway / services / performance_service.py (no class)   86% 65 9 0   100% 6 0   87%
mcpgateway / services / performance_tracker.py PerformanceTracker   100% 97 0 0   92% 36 3   98%
mcpgateway / services / performance_tracker.py (no class)   100% 27 0 0   100% 2 0   100%
mcpgateway / services / permission_service.py PermissionService   100% 145 0 0   99% 68 1   99%
mcpgateway / services / permission_service.py (no class)   100% 28 0 0   100% 0 0   100%
mcpgateway / services / personal_team_service.py PersonalTeamService   100% 57 0 0   100% 8 0   100%
mcpgateway / services / personal_team_service.py (no class)   100% 14 0 0   100% 0 0   100%
mcpgateway / services / plugin_service.py PluginService   100% 84 0 0   98% 52 1   99%
mcpgateway / services / plugin_service.py (no class)   100% 23 0 0   100% 2 0   100%
mcpgateway / services / prompt_service.py PromptError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / prompt_service.py PromptNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / prompt_service.py PromptNameConflictError   100% 7 0 0   100% 2 0   100%
mcpgateway / services / prompt_service.py PromptValidationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / prompt_service.py PromptLockConflictError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / prompt_service.py PromptService   99% 754 1 0   95% 306 14   99%
mcpgateway / services / prompt_service.py (no class)   100% 99 0 0   100% 8 0   100%
mcpgateway / services / resource_service.py ResourceError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / resource_service.py ResourceNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / resource_service.py ResourceURIConflictError   100% 8 0 0   100% 2 0   100%
mcpgateway / services / resource_service.py ResourceValidationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / resource_service.py ResourceLockConflictError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / resource_service.py ResourceService   100% 1027 0 0   100% 432 0   100%
mcpgateway / services / resource_service.py (no class)   100% 119 0 0   100% 6 0   100%
mcpgateway / services / role_service.py RoleService   99% 158 1 0   97% 78 2   99%
mcpgateway / services / role_service.py (no class)   100% 22 0 0   100% 0 0   100%
mcpgateway / services / root_service.py RootServiceError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / root_service.py RootServiceNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / root_service.py RootService   97% 64 2 0   94% 16 1   96%
mcpgateway / services / root_service.py (no class)   100% 32 0 0   100% 4 0   100%
mcpgateway / services / security_logger.py SecuritySeverity   100% 0 0 0   100% 0 0   100%
mcpgateway / services / security_logger.py SecurityEventType   100% 0 0 0   100% 0 0   100%
mcpgateway / services / security_logger.py SecurityLogger   100% 102 0 0   100% 38 0   100%
mcpgateway / services / security_logger.py (no class)   100% 42 0 0   50% 2 1   98%
mcpgateway / services / server_service.py ServerError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / server_service.py ServerNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / server_service.py ServerLockConflictError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / server_service.py ServerNameConflictError   100% 7 0 0   100% 2 0   100%
mcpgateway / services / server_service.py ServerService   100% 525 0 0   100% 250 0   100%
mcpgateway / services / server_service.py (no class)   100% 73 0 0   100% 6 0   100%
mcpgateway / services / sso_service.py SSOService   99% 364 2 0   91% 208 18   97%
mcpgateway / services / sso_service.py (no class)   100% 39 0 0   100% 0 0   100%
mcpgateway / services / structured_logger.py LogLevel   100% 0 0 0   100% 0 0   100%
mcpgateway / services / structured_logger.py LogCategory   100% 0 0 0   100% 0 0   100%
mcpgateway / services / structured_logger.py LogEnricher   100% 25 0 0   92% 12 1   97%
mcpgateway / services / structured_logger.py LogRouter   100% 45 0 0   94% 16 1   98%
mcpgateway / services / structured_logger.py StructuredLogger   100% 18 0 0   100% 4 0   100%
mcpgateway / services / structured_logger.py ComponentLogger   100% 4 0 0   100% 2 0   100%
mcpgateway / services / structured_logger.py (no class)   100% 69 0 0   100% 0 0   100%
mcpgateway / services / support_bundle_service.py SupportBundleConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / services / support_bundle_service.py SupportBundleService   100% 79 0 0   100% 28 0   100%
mcpgateway / services / support_bundle_service.py (no class)   100% 38 0 0   100% 0 0   100%
mcpgateway / services / system_stats_service.py SystemStatsService   100% 77 0 0   100% 2 0   100%
mcpgateway / services / system_stats_service.py (no class)   100% 23 0 0   100% 2 0   100%
mcpgateway / services / tag_service.py TagService   100% 119 0 0   100% 70 0   100%
mcpgateway / services / tag_service.py (no class)   100% 24 0 0   100% 2 0   100%
mcpgateway / services / team_invitation_service.py TeamInvitationService   100% 170 0 0   100% 56 0   100%
mcpgateway / services / team_invitation_service.py (no class)   100% 20 0 0   100% 0 0   100%
mcpgateway / services / team_management_service.py TeamManagementService   100% 629 0 0   100% 182 0   100%
mcpgateway / services / team_management_service.py (no class)   100% 50 0 0   100% 0 0   100%
mcpgateway / services / token_catalog_service.py TokenScope   100% 9 0 0   100% 0 0   100%
mcpgateway / services / token_catalog_service.py TokenCatalogService   100% 206 0 0   95% 86 4   99%
mcpgateway / services / token_catalog_service.py (no class)   100% 38 0 0   100% 0 0   100%
mcpgateway / services / token_storage_service.py TokenStorageService   99% 164 2 0   96% 56 2   98%
mcpgateway / services / token_storage_service.py (no class)   100% 19 0 0   100% 0 0   100%
mcpgateway / services / tool_service.py ToolError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / tool_service.py ToolNotFoundError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / tool_service.py ToolNameConflictError   100% 10 0 0   100% 4 0   100%
mcpgateway / services / tool_service.py ToolLockConflictError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / tool_service.py ToolValidationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / tool_service.py ToolInvocationError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / tool_service.py ToolTimeoutError   100% 0 0 0   100% 0 0   100%
mcpgateway / services / tool_service.py ToolService   100% 1411 0 3   98% 602 13   99%
mcpgateway / services / tool_service.py (no class)   100% 190 0 0   100% 20 0   100%
mcpgateway / toolops / toolops_altk_service.py (no class)   100% 136 0 1   84% 32 5   97%
mcpgateway / toolops / utils / db_util.py (no class)   100% 34 0 0   75% 4 1   97%
mcpgateway / toolops / utils / format_conversion.py (no class)   100% 23 0 1   100% 6 0   100%
mcpgateway / toolops / utils / llm_util.py (no class)   100% 85 0 1   100% 14 0   100%
mcpgateway / tools / builder / cli.py (no class)   100% 114 0 2   100% 14 0   100%
mcpgateway / tools / builder / factory.py CICDTypes   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / factory.py DeployFactory   100% 21 0 0   100% 8 0   100%
mcpgateway / tools / builder / factory.py (no class)   100% 10 0 0   100% 0 0   100%
mcpgateway / tools / builder / pipeline.py CICDModule   100% 16 0 0   100% 6 0   100%
mcpgateway / tools / builder / pipeline.py (no class)   100% 23 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py OpenShiftConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py DeploymentConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py RegistryConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py BuildableConfig   100% 3 0 0   100% 2 0   100%
mcpgateway / tools / builder / schema.py GatewayConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py PluginConfig   100% 3 0 0   100% 2 0   100%
mcpgateway / tools / builder / schema.py CertificatesConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py PostgresConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py RedisConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py InfrastructureConfig   100% 0 0 0   100% 0 0   100%
mcpgateway / tools / builder / schema.py MCPStackConfig   100% 5 0 0   100% 2 0   100%
mcpgateway / tools / builder / schema.py (no class)   100% 74 0 0   100% 0 0   100%
mcpgateway / tools / cli.py (no class)   100% 8 0 2   100% 0 0   100%
mcpgateway / translate.py _PubSub   100% 15 0 0   100% 4 0   100%
mcpgateway / translate.py StdIOEndpoint   100% 69 0 5   100% 24 0   100%
mcpgateway / translate.py SSEEvent   100% 32 0 0   100% 20 0   100%
mcpgateway / translate.py (no class)   99% 690 4 2   99% 244 0   99%
mcpgateway / translate_grpc.py GrpcEndpoint   100% 137 0 0   100% 56 0   100%
mcpgateway / translate_grpc.py GrpcToMcpTranslator   100% 35 0 0   100% 12 0   100%
mcpgateway / translate_grpc.py (no class)   100% 52 0 0   100% 0 0   100%
mcpgateway / translate_header_utils.py HeaderMappingError   100% 0 0 0   100% 0 0   100%
mcpgateway / translate_header_utils.py NormalizedMappings   100% 6 0 0   100% 0 0   100%
mcpgateway / translate_header_utils.py (no class)   100% 70 0 0   100% 26 0   100%
mcpgateway / transports / base.py Transport   100% 0 0 0   100% 0 0   100%
mcpgateway / transports / base.py (no class)   100% 13 0 0   100% 0 0   100%
mcpgateway / transports / redis_event_store.py RedisEventStore   100% 58 0 0   100% 16 0   100%
mcpgateway / transports / redis_event_store.py (no class)   100% 18 0 2   100% 0 0   100%
mcpgateway / transports / sse_transport.py EventSourceResponse   100% 13 0 0   100% 4 0   100%
mcpgateway / transports / sse_transport.py SSETransport   100% 151 0 0   100% 52 0   100%
mcpgateway / transports / sse_transport.py (no class)   100% 88 0 0   100% 12 0   100%
mcpgateway / transports / stdio_transport.py StdioTransport   100% 41 0 0   100% 8 0   100%
mcpgateway / transports / stdio_transport.py (no class)   100% 15 0 0   100% 0 0   100%
mcpgateway / transports / streamablehttp_transport.py EventEntry   100% 0 0 0   100% 0 0   100%
mcpgateway / transports / streamablehttp_transport.py StreamBuffer   100% 1 0 0   100% 0 0   100%
mcpgateway / transports / streamablehttp_transport.py InMemoryEventStore   100% 38 0 0   100% 18 0   100%
mcpgateway / transports / streamablehttp_transport.py SessionManagerWrapper   100% 194 0 0   100% 74 0   100%
mcpgateway / transports / streamablehttp_transport.py (no class)   100% 512 0 0   100% 164 0   100%
mcpgateway / transports / websocket_transport.py WebSocketTransport   100% 64 0 0   100% 18 0   100%
mcpgateway / transports / websocket_transport.py (no class)   100% 17 0 0   100% 0 0   100%
mcpgateway / utils / analyze_query_log.py (no class)   100% 97 0 2   100% 36 0   100%
mcpgateway / utils / base_models.py BaseModelWithConfigDict   100% 1 0 0   100% 0 0   100%
mcpgateway / utils / base_models.py (no class)   100% 7 0 0   100% 0 0   100%
mcpgateway / utils / correlation_id.py (no class)   100% 38 0 0   100% 14 0   100%
mcpgateway / utils / create_jwt_token.py (no class)   100% 84 0 127   100% 26 0   100%
mcpgateway / utils / create_slug.py (no class)   100% 13 0 0   100% 2 0   100%
mcpgateway / utils / db_isready.py (no class)   100% 93 0 46   100% 20 0   100%
mcpgateway / utils / display_name.py (no class)   100% 9 0 0   100% 4 0   100%
mcpgateway / utils / error_formatter.py ErrorFormatter   100% 41 0 0   100% 32 0   100%
mcpgateway / utils / error_formatter.py (no class)   100% 13 0 0   100% 0 0   100%
mcpgateway / utils / generate_keys.py (no class)   100% 31 0 2   100% 0 0   100%
mcpgateway / utils / jwt_config_helper.py JWTConfigurationError   100% 0 0 0   100% 0 0   100%
mcpgateway / utils / jwt_config_helper.py (no class)   100% 67 0 0   100% 24 0   100%
mcpgateway / utils / keycloak_discovery.py (no class)   100% 46 0 0   100% 4 0   100%
mcpgateway / utils / metadata_capture.py MetadataCapture   100% 38 0 0   100% 24 0   100%
mcpgateway / utils / metadata_capture.py (no class)   100% 17 0 0   100% 0 0   100%
mcpgateway / utils / metrics_common.py (no class)   100% 4 0 0   100% 0 0   100%
mcpgateway / utils / orjson_response.py ORJSONResponse   100% 1 0 0   100% 0 0   100%
mcpgateway / utils / orjson_response.py (no class)   100% 6 0 0   100% 0 0   100%
mcpgateway / utils / pagination.py (no class)   100% 174 0 0   100% 70 0   100%
mcpgateway / utils / passthrough_headers.py PassthroughHeadersError   100% 0 0 0   100% 0 0   100%
mcpgateway / utils / passthrough_headers.py (no class)   100% 158 0 0   100% 72 0   100%
mcpgateway / utils / psycopg3_optimizations.py (no class)   100% 100 0 0   100% 34 0   100%
mcpgateway / utils / redis_client.py (no class)   100% 79 0 0   100% 18 0   100%
mcpgateway / utils / redis_isready.py (no class)   100% 52 0 41   100% 10 0   100%
mcpgateway / utils / retry_manager.py ResilientHttpClient   100% 100 0 0   100% 40 0   100%
mcpgateway / utils / retry_manager.py (no class)   100% 24 0 0   100% 0 0   100%
mcpgateway / utils / security_cookies.py CookieTooLargeError   100% 3 0 0   100% 0 0   100%
mcpgateway / utils / security_cookies.py (no class)   100% 43 0 0   100% 8 0   100%
mcpgateway / utils / services_auth.py (no class)   100% 56 0 0   100% 12 0   100%
mcpgateway / utils / sqlalchemy_modifier.py (no class)   100% 120 0 0   100% 50 0   100%
mcpgateway / utils / ssl_context_cache.py (no class)   100% 20 0 0   100% 8 0   100%
mcpgateway / utils / ssl_key_manager.py SSLKeyManager   100% 29 0 0   100% 6 0   100%
mcpgateway / utils / ssl_key_manager.py (no class)   100% 17 0 0   100% 0 0   100%
mcpgateway / utils / sso_bootstrap.py (no class)   100% 68 0 3   100% 28 0   100%
mcpgateway / utils / token_scoping.py (no class)   100% 30 0 0   100% 10 0   100%
mcpgateway / utils / url_auth.py (no class)   100% 45 0 0   100% 16 0   100%
mcpgateway / utils / validate_signature.py (no class)   100% 71 0 9   100% 20 0   100%
mcpgateway / utils / verify_credentials.py (no class)   100% 186 0 0   100% 96 0   100%
mcpgateway / validation / jsonrpc.py JSONRPCError   100% 9 0 0   100% 2 0   100%
mcpgateway / validation / jsonrpc.py (no class)   100% 49 0 0   100% 32 0   100%
mcpgateway / validation / tags.py TagValidator   100% 44 0 0   100% 30 0   100%
mcpgateway / validation / tags.py (no class)   100% 28 0 0   100% 8 0   100%
mcpgateway / version.py (no class)   100% 137 0 0   100% 24 0   100%
mcpgateway / wrapper.py Settings   100% 0 0 0   100% 0 0   100%
mcpgateway / wrapper.py (no class)   100% 307 0 2   100% 134 0   100%
Total     99% 51495 266 481   96% 15614 663   99%

No items found using the specified filter.