Coverage report: 60%

Files Functions Classes

coverage.py v7.9.1, created at 2025-06-22 16:34 +0100

File function statements missing excluded branches partial coverage
mcpgateway/__init__.py (no function) 8 0 0 0 0 100%
mcpgateway/admin.py admin_list_servers 3 0 0 0 0 100%
mcpgateway/admin.py admin_get_server 6 0 0 0 0 100%
mcpgateway/admin.py admin_add_server 11 4 0 0 0 64%
mcpgateway/admin.py admin_edit_server 11 4 0 0 0 64%
mcpgateway/admin.py admin_toggle_server 9 2 0 0 0 78%
mcpgateway/admin.py admin_delete_server 7 2 0 0 0 71%
mcpgateway/admin.py admin_list_resources 3 0 0 0 0 100%
mcpgateway/admin.py admin_list_prompts 3 0 0 0 0 100%
mcpgateway/admin.py admin_list_gateways 3 0 0 0 0 100%
mcpgateway/admin.py admin_toggle_gateway 9 2 0 0 0 78%
mcpgateway/admin.py admin_ui 11 0 0 0 0 100%
mcpgateway/admin.py admin_list_tools 3 0 0 0 0 100%
mcpgateway/admin.py admin_get_tool 3 0 0 0 0 100%
mcpgateway/admin.py admin_add_tool 16 3 0 0 0 81%
mcpgateway/admin.py admin_edit_tool 13 2 0 0 0 85%
mcpgateway/admin.py admin_delete_tool 4 0 0 0 0 100%
mcpgateway/admin.py admin_toggle_tool 9 2 0 0 0 78%
mcpgateway/admin.py admin_get_gateway 3 0 0 0 0 100%
mcpgateway/admin.py admin_add_gateway 15 8 0 6 0 33%
mcpgateway/admin.py admin_edit_gateway 6 0 0 0 0 100%
mcpgateway/admin.py admin_delete_gateway 4 0 0 0 0 100%
mcpgateway/admin.py admin_get_resource 4 0 0 0 0 100%
mcpgateway/admin.py admin_add_resource 6 0 0 0 0 100%
mcpgateway/admin.py admin_edit_resource 6 0 0 0 0 100%
mcpgateway/admin.py admin_delete_resource 4 0 0 0 0 100%
mcpgateway/admin.py admin_toggle_resource 9 2 0 0 0 78%
mcpgateway/admin.py admin_get_prompt 4 0 0 0 0 100%
mcpgateway/admin.py admin_add_prompt 8 0 0 0 0 100%
mcpgateway/admin.py admin_edit_prompt 8 0 0 0 0 100%
mcpgateway/admin.py admin_delete_prompt 4 0 0 0 0 100%
mcpgateway/admin.py admin_toggle_prompt 9 2 0 0 0 78%
mcpgateway/admin.py admin_add_root 7 0 0 0 0 100%
mcpgateway/admin.py admin_delete_root 4 0 0 0 0 100%
mcpgateway/admin.py admin_get_metrics 6 0 0 0 0 100%
mcpgateway/admin.py admin_reset_metrics 6 0 0 0 0 100%
mcpgateway/admin.py (no function) 98 0 0 0 0 100%
mcpgateway/cache/__init__.py (no function) 3 0 0 0 0 100%
mcpgateway/cache/resource_cache.py ResourceCache.__init__ 4 0 0 0 0 100%
mcpgateway/cache/resource_cache.py ResourceCache.initialize 2 2 0 0 0 0%
mcpgateway/cache/resource_cache.py ResourceCache.shutdown 2 2 0 0 0 0%
mcpgateway/cache/resource_cache.py ResourceCache.get 9 7 0 4 1 23%
mcpgateway/cache/resource_cache.py ResourceCache.set 5 2 0 2 1 57%
mcpgateway/cache/resource_cache.py ResourceCache.delete 1 1 0 0 0 0%
mcpgateway/cache/resource_cache.py ResourceCache.clear 1 1 0 0 0 0%
mcpgateway/cache/resource_cache.py ResourceCache._cleanup_loop 12 12 0 4 0 0%
mcpgateway/cache/resource_cache.py (no function) 20 0 0 0 0 100%
mcpgateway/cache/session_registry.py SessionBackend.__init__ 21 11 0 16 5 46%
mcpgateway/cache/session_registry.py SessionRegistry.__init__ 4 0 0 0 0 100%
mcpgateway/cache/session_registry.py SessionRegistry.initialize 9 3 0 6 3 60%
mcpgateway/cache/session_registry.py SessionRegistry.shutdown 13 7 0 4 2 47%
mcpgateway/cache/session_registry.py SessionRegistry.add_session 26 20 0 6 3 28%
mcpgateway/cache/session_registry.py SessionRegistry.get_session 33 27 0 12 2 18%
mcpgateway/cache/session_registry.py SessionRegistry.remove_session 32 21 0 10 5 38%
mcpgateway/cache/session_registry.py SessionRegistry.broadcast 33 28 0 14 3 17%
mcpgateway/cache/session_registry.py SessionRegistry.get_session_sync 3 1 0 2 1 60%
mcpgateway/cache/session_registry.py SessionRegistry.respond 68 62 0 24 3 10%
mcpgateway/cache/session_registry.py SessionRegistry._refresh_redis_sessions 13 13 0 4 0 0%
mcpgateway/cache/session_registry.py SessionRegistry._db_cleanup_task 28 28 0 8 0 0%
mcpgateway/cache/session_registry.py SessionRegistry._db_cleanup_task._db_cleanup 10 10 0 0 0 0%
mcpgateway/cache/session_registry.py SessionRegistry._db_cleanup_task._refresh_session 12 12 0 2 0 0%
mcpgateway/cache/session_registry.py SessionRegistry._memory_cleanup_task 20 9 0 4 1 50%
mcpgateway/cache/session_registry.py SessionRegistry.handle_initialize_logic 6 6 0 4 0 0%
mcpgateway/cache/session_registry.py SessionRegistry.generate_response 42 42 0 22 0 0%
mcpgateway/cache/session_registry.py (no function) 43 4 0 0 0 91%
mcpgateway/cli.py _needs_app 1 0 0 0 0 100%
mcpgateway/cli.py _insert_defaults 9 0 0 8 1 94%
mcpgateway/cli.py main 7 0 0 2 0 100%
mcpgateway/cli.py (no function) 12 0 2 0 0 100%
mcpgateway/config.py Settings._parse_allowed_origins 10 3 0 4 1 71%
mcpgateway/config.py Settings._parse_federation_peers 10 3 0 4 1 71%
mcpgateway/config.py Settings.api_key 1 0 0 0 0 100%
mcpgateway/config.py Settings.supports_http 1 0 0 0 0 100%
mcpgateway/config.py Settings.supports_websocket 1 0 0 0 0 100%
mcpgateway/config.py Settings.supports_sse 1 0 0 0 0 100%
mcpgateway/config.py Settings.database_settings 1 1 0 0 0 0%
mcpgateway/config.py Settings.cors_settings 1 1 0 0 0 0%
mcpgateway/config.py Settings.validate_transport 3 1 0 2 1 60%
mcpgateway/config.py Settings.validate_database 5 1 0 4 2 67%
mcpgateway/config.py extract_using_jq 17 15 0 8 1 12%
mcpgateway/config.py jsonpath_modifier 34 34 0 14 0 0%
mcpgateway/config.py get_settings 4 0 0 0 0 100%
mcpgateway/config.py (no function) 100 0 0 0 0 100%
mcpgateway/db.py Tool.execution_count 1 1 0 0 0 0%
mcpgateway/db.py Tool.execution_count 1 0 0 0 0 100%
mcpgateway/db.py Tool.successful_executions 1 1 0 0 0 0%
mcpgateway/db.py Tool.failed_executions 1 1 0 0 0 0%
mcpgateway/db.py Tool.failure_rate 4 4 0 2 0 0%
mcpgateway/db.py Tool.min_response_time 2 2 0 0 0 0%
mcpgateway/db.py Tool.max_response_time 2 2 0 0 0 0%
mcpgateway/db.py Tool.avg_response_time 2 2 0 0 0 0%
mcpgateway/db.py Tool.last_execution_time 3 3 0 2 0 0%
mcpgateway/db.py Tool.metrics_summary 1 1 0 0 0 0%
mcpgateway/db.py Resource.content 5 5 0 4 0 0%
mcpgateway/db.py Resource.execution_count 1 1 0 0 0 0%
mcpgateway/db.py Resource.successful_executions 1 1 0 0 0 0%
mcpgateway/db.py Resource.failed_executions 1 1 0 0 0 0%
mcpgateway/db.py Resource.failure_rate 4 4 0 2 0 0%
mcpgateway/db.py Resource.min_response_time 2 2 0 0 0 0%
mcpgateway/db.py Resource.max_response_time 2 2 0 0 0 0%
mcpgateway/db.py Resource.avg_response_time 2 2 0 0 0 0%
mcpgateway/db.py Resource.last_execution_time 3 3 0 2 0 0%
mcpgateway/db.py Prompt.validate_arguments 4 4 0 0 0 0%
mcpgateway/db.py Prompt.execution_count 1 1 0 0 0 0%
mcpgateway/db.py Prompt.successful_executions 1 1 0 0 0 0%
mcpgateway/db.py Prompt.failed_executions 1 1 0 0 0 0%
mcpgateway/db.py Prompt.failure_rate 4 4 0 2 0 0%
mcpgateway/db.py Prompt.min_response_time 2 2 0 0 0 0%
mcpgateway/db.py Prompt.max_response_time 2 2 0 0 0 0%
mcpgateway/db.py Prompt.avg_response_time 2 2 0 0 0 0%
mcpgateway/db.py Prompt.last_execution_time 3 3 0 2 0 0%
mcpgateway/db.py Server.execution_count 1 1 0 0 0 0%
mcpgateway/db.py Server.successful_executions 1 1 0 0 0 0%
mcpgateway/db.py Server.failed_executions 1 1 0 0 0 0%
mcpgateway/db.py Server.failure_rate 4 4 0 2 0 0%
mcpgateway/db.py Server.min_response_time 2 2 0 0 0 0%
mcpgateway/db.py Server.max_response_time 2 2 0 0 0 0%
mcpgateway/db.py Server.avg_response_time 2 2 0 0 0 0%
mcpgateway/db.py Server.last_execution_time 3 3 0 2 0 0%
mcpgateway/db.py validate_tool_schema 7 7 0 2 0 0%
mcpgateway/db.py validate_tool_name 5 5 0 4 0 0%
mcpgateway/db.py validate_prompt_schema 7 7 0 2 0 0%
mcpgateway/db.py get_db 4 0 0 0 0 100%
mcpgateway/db.py init_db 4 4 0 0 0 0%
mcpgateway/db.py (no function) 249 1 2 4 2 99%
mcpgateway/federation/__init__.py (no function) 4 0 0 0 0 100%
mcpgateway/federation/discovery.py LocalDiscoveryService.__init__ 2 0 0 0 0 100%
mcpgateway/federation/discovery.py LocalDiscoveryService._get_local_addresses 10 4 0 4 1 64%
mcpgateway/federation/discovery.py DiscoveryService.__init__ 7 0 0 0 0 100%
mcpgateway/federation/discovery.py DiscoveryService.start 14 14 0 4 0 0%
mcpgateway/federation/discovery.py DiscoveryService.stop 21 15 0 8 4 34%
mcpgateway/federation/discovery.py DiscoveryService.add_peer 20 6 0 4 0 75%
mcpgateway/federation/discovery.py DiscoveryService.get_discovered_peers 1 0 0 0 0 100%
mcpgateway/federation/discovery.py DiscoveryService.refresh_peer 10 4 0 2 1 58%
mcpgateway/federation/discovery.py DiscoveryService.remove_peer 1 1 0 0 0 0%
mcpgateway/federation/discovery.py DiscoveryService._on_service_state_change 12 12 0 6 0 0%
mcpgateway/federation/discovery.py DiscoveryService._cleanup_loop 10 10 0 2 0 0%
mcpgateway/federation/discovery.py DiscoveryService._refresh_loop 8 8 0 2 0 0%
mcpgateway/federation/discovery.py DiscoveryService._get_gateway_info 7 7 0 2 0 0%
mcpgateway/federation/discovery.py DiscoveryService._exchange_peers 10 10 0 6 0 0%
mcpgateway/federation/discovery.py DiscoveryService._get_auth_headers 2 2 0 0 0 0%
mcpgateway/federation/discovery.py (no function) 41 0 0 0 0 100%
mcpgateway/federation/forward.py ForwardingService.__init__ 4 0 0 0 0 100%
mcpgateway/federation/forward.py ForwardingService.start 1 1 0 0 0 0%
mcpgateway/federation/forward.py ForwardingService.stop 9 6 0 2 1 36%
mcpgateway/federation/forward.py ForwardingService.forward_request 6 6 0 2 0 0%
mcpgateway/federation/forward.py ForwardingService.forward_tool_request 10 4 0 4 2 57%
mcpgateway/federation/forward.py ForwardingService.forward_resource_request 12 12 0 6 0 0%
mcpgateway/federation/forward.py ForwardingService._forward_to_gateway 24 9 0 12 5 56%
mcpgateway/federation/forward.py ForwardingService._forward_to_all 12 1 0 4 1 88%
mcpgateway/federation/forward.py ForwardingService._find_resource_gateway 11 11 0 6 0 0%
mcpgateway/federation/forward.py ForwardingService._check_rate_limit 6 0 0 2 0 100%
mcpgateway/federation/forward.py ForwardingService._get_auth_headers 2 0 0 0 0 100%
mcpgateway/federation/forward.py (no function) 25 0 0 0 0 100%
mcpgateway/federation/manager.py FederationManager.__init__ 5 0 0 0 0 100%
mcpgateway/federation/manager.py FederationManager.start 15 15 0 4 0 0%
mcpgateway/federation/manager.py FederationManager.stop 15 10 0 4 2 37%
mcpgateway/federation/manager.py FederationManager.register_gateway 14 3 0 0 0 79%
mcpgateway/federation/manager.py FederationManager.unregister_gateway 14 4 0 2 1 69%
mcpgateway/federation/manager.py FederationManager.get_gateway_tools 8 3 0 2 1 60%
mcpgateway/federation/manager.py FederationManager.get_gateway_resources 8 3 0 2 1 60%
mcpgateway/federation/manager.py FederationManager.get_gateway_prompts 8 3 0 2 1 60%
mcpgateway/federation/manager.py FederationManager.forward_request 13 4 0 4 2 65%
mcpgateway/federation/manager.py FederationManager._run_sync_loop 23 23 0 6 0 0%
mcpgateway/federation/manager.py FederationManager._run_health_loop 16 16 0 4 0 0%
mcpgateway/federation/manager.py FederationManager._initialize_gateway 10 10 0 2 0 0%
mcpgateway/federation/manager.py FederationManager._check_gateway_health 5 5 0 0 0 0%
mcpgateway/federation/manager.py FederationManager._get_auth_headers 2 0 0 0 0 100%
mcpgateway/federation/manager.py (no function) 31 0 0 0 0 100%
mcpgateway/handlers/__init__.py (no function) 2 0 0 0 0 100%
mcpgateway/handlers/sampling.py SamplingHandler.__init__ 1 0 0 0 0 100%
mcpgateway/handlers/sampling.py SamplingHandler.initialize 1 1 0 0 0 0%
mcpgateway/handlers/sampling.py SamplingHandler.shutdown 1 1 0 0 0 0%
mcpgateway/handlers/sampling.py SamplingHandler.create_message 22 3 0 10 3 81%
mcpgateway/handlers/sampling.py SamplingHandler._select_model 18 1 0 14 3 88%
mcpgateway/handlers/sampling.py SamplingHandler._add_context 1 1 0 0 0 0%
mcpgateway/handlers/sampling.py SamplingHandler._validate_message 14 5 0 10 3 67%
mcpgateway/handlers/sampling.py SamplingHandler._mock_sample 14 3 0 10 4 62%
mcpgateway/handlers/sampling.py (no function) 15 0 0 0 0 100%
mcpgateway/main.py lifespan 24 24 0 2 0 0%
mcpgateway/main.py DocsAuthMiddleware.dispatch 9 6 0 2 1 36%
mcpgateway/main.py MCPPathRewriteMiddleware.__init__ 1 0 0 0 0 100%
mcpgateway/main.py MCPPathRewriteMiddleware.__call__ 13 6 0 6 3 53%
mcpgateway/main.py get_db 4 0 0 0 0 100%
mcpgateway/main.py require_api_key 4 4 0 4 0 0%
mcpgateway/main.py invalidate_resource_cache 3 3 0 2 0 0%
mcpgateway/main.py initialize 6 2 0 0 0 67%
mcpgateway/main.py ping 11 4 0 2 1 62%
mcpgateway/main.py handle_notification 12 12 0 6 0 0%
mcpgateway/main.py handle_completion 3 3 0 0 0 0%
mcpgateway/main.py handle_sampling 3 3 0 0 0 0%
mcpgateway/main.py list_servers 2 0 0 0 0 100%
mcpgateway/main.py get_server 5 5 0 0 0 0%
mcpgateway/main.py create_server 7 7 0 0 0 0%
mcpgateway/main.py update_server 9 9 0 0 0 0%
mcpgateway/main.py toggle_server_status 7 7 0 0 0 0%
mcpgateway/main.py delete_server 8 8 0 0 0 0%
mcpgateway/main.py sse_endpoint 17 17 0 0 0 0%
mcpgateway/main.py message_endpoint 17 17 0 2 0 0%
mcpgateway/main.py server_get_tools 3 3 0 0 0 0%
mcpgateway/main.py server_get_resources 3 3 0 0 0 0%
mcpgateway/main.py server_get_prompts 3 3 0 0 0 0%
mcpgateway/main.py list_tools 5 2 0 2 1 57%
mcpgateway/main.py create_tool 9 9 0 2 0 0%
mcpgateway/main.py get_tool 9 9 0 2 0 0%
mcpgateway/main.py update_tool 5 5 0 0 0 0%
mcpgateway/main.py delete_tool 6 6 0 0 0 0%
mcpgateway/main.py toggle_tool_status 6 6 0 0 0 0%
mcpgateway/main.py list_resource_templates 3 3 0 0 0 0%
mcpgateway/main.py toggle_resource_status 6 6 0 0 0 0%
mcpgateway/main.py list_resources 6 1 0 2 1 75%
mcpgateway/main.py create_resource 8 8 0 0 0 0%
mcpgateway/main.py read_resource 9 3 0 2 1 64%
mcpgateway/main.py update_resource 7 7 0 0 0 0%
mcpgateway/main.py delete_resource 9 9 0 0 0 0%
mcpgateway/main.py subscribe_resource 2 2 0 0 0 0%
mcpgateway/main.py toggle_prompt_status 6 6 0 0 0 0%
mcpgateway/main.py list_prompts 2 2 0 0 0 0%
mcpgateway/main.py create_prompt 7 7 0 0 0 0%
mcpgateway/main.py get_prompt 2 2 0 0 0 0%
mcpgateway/main.py get_prompt_no_args 2 2 0 0 0 0%
mcpgateway/main.py update_prompt 7 7 0 0 0 0%
mcpgateway/main.py delete_prompt 8 8 0 0 0 0%
mcpgateway/main.py toggle_gateway_status 6 6 0 0 0 0%
mcpgateway/main.py list_gateways 2 2 0 0 0 0%
mcpgateway/main.py register_gateway 11 11 0 6 0 0%
mcpgateway/main.py get_gateway 2 2 0 0 0 0%
mcpgateway/main.py update_gateway 2 2 0 0 0 0%
mcpgateway/main.py delete_gateway 3 3 0 0 0 0%
mcpgateway/main.py list_roots 2 2 0 0 0 0%
mcpgateway/main.py add_root 2 2 0 0 0 0%
mcpgateway/main.py remove_root 3 3 0 0 0 0%
mcpgateway/main.py subscribe_roots_changes 2 2 0 0 0 0%
mcpgateway/main.py handle_rpc 52 22 0 26 11 55%
mcpgateway/main.py websocket_endpoint 24 24 0 0 0 0%
mcpgateway/main.py utility_sse_endpoint 16 16 0 0 0 0%
mcpgateway/main.py utility_message_endpoint 17 17 0 2 0 0%
mcpgateway/main.py set_log_level 5 5 0 0 0 0%
mcpgateway/main.py get_metrics 6 6 0 0 0 0%
mcpgateway/main.py reset_metrics 16 16 0 10 0 0%
mcpgateway/main.py healthcheck 7 4 0 0 0 43%
mcpgateway/main.py readiness_check 7 4 0 0 0 43%
mcpgateway/main.py root_redirect 3 0 0 0 0 100%
mcpgateway/main.py (no function) 236 8 0 4 2 96%
mcpgateway/schemas.py to_camel_case 1 0 0 0 0 100%
mcpgateway/schemas.py encode_datetime 1 0 0 0 0 100%
mcpgateway/schemas.py BaseModelWithConfig.to_dict 4 4 0 2 0 0%
mcpgateway/schemas.py ToolCreate.assemble_auth 14 10 0 8 1 23%
mcpgateway/schemas.py ToolUpdate.assemble_auth 14 10 0 8 1 23%
mcpgateway/schemas.py GatewayCreate.ensure_url_scheme 3 1 0 2 1 60%
mcpgateway/schemas.py GatewayCreate.create_auth_value 5 2 0 2 1 57%
mcpgateway/schemas.py GatewayCreate._process_auth_fields 20 20 0 12 0 0%
mcpgateway/schemas.py GatewayUpdate.ensure_url_scheme 3 1 0 2 1 60%
mcpgateway/schemas.py GatewayUpdate.create_auth_value 5 2 0 2 1 57%
mcpgateway/schemas.py GatewayUpdate._process_auth_fields 20 20 0 12 0 0%
mcpgateway/schemas.py GatewayRead._populate_auth 20 20 0 12 0 0%
mcpgateway/schemas.py AdminToolCreate.validate_json 6 1 0 2 1 75%
mcpgateway/schemas.py ServerCreate.split_comma_separated 3 0 0 2 0 100%
mcpgateway/schemas.py ServerUpdate.split_comma_separated 3 0 0 2 0 100%
mcpgateway/schemas.py ServerRead.populate_associated_ids 12 4 0 8 4 60%
mcpgateway/schemas.py (no function) 323 0 0 0 0 100%
mcpgateway/services/__init__.py (no function) 5 0 0 0 0 100%
mcpgateway/services/completion_service.py CompletionService.__init__ 1 0 0 0 0 100%
mcpgateway/services/completion_service.py CompletionService.initialize 1 1 0 0 0 0%
mcpgateway/services/completion_service.py CompletionService.shutdown 2 2 0 0 0 0%
mcpgateway/services/completion_service.py CompletionService.handle_completion 17 3 0 6 2 78%
mcpgateway/services/completion_service.py CompletionService._complete_prompt_argument 20 0 0 14 0 100%
mcpgateway/services/completion_service.py CompletionService._complete_resource_uri 9 0 0 6 0 100%
mcpgateway/services/completion_service.py CompletionService.register_completions 1 0 0 0 0 100%
mcpgateway/services/completion_service.py CompletionService.unregister_completions 1 0 0 0 0 100%
mcpgateway/services/completion_service.py (no function) 18 0 0 0 0 100%
mcpgateway/services/gateway_service.py GatewayNameConflictError.__init__ 7 1 0 2 1 78%
mcpgateway/services/gateway_service.py GatewayService.__init__ 20 5 0 4 2 71%
mcpgateway/services/gateway_service.py GatewayService.initialize 10 10 0 6 0 0%
mcpgateway/services/gateway_service.py GatewayService.shutdown 10 10 0 2 0 0%
mcpgateway/services/gateway_service.py GatewayService.register_gateway 32 4 0 0 0 88%
mcpgateway/services/gateway_service.py GatewayService.list_gateways 5 0 0 2 1 86%
mcpgateway/services/gateway_service.py GatewayService.update_gateway 40 4 0 22 9 79%
mcpgateway/services/gateway_service.py GatewayService.get_gateway 6 0 0 4 0 100%
mcpgateway/services/gateway_service.py GatewayService.toggle_gateway_status 29 12 0 10 4 59%
mcpgateway/services/gateway_service.py GatewayService._notify_gateway_updated 2 2 0 0 0 0%
mcpgateway/services/gateway_service.py GatewayService.delete_gateway 13 0 0 2 0 100%
mcpgateway/services/gateway_service.py GatewayService.forward_request 15 1 0 6 1 90%
mcpgateway/services/gateway_service.py GatewayService._handle_gateway_failure 10 10 0 4 0 0%
mcpgateway/services/gateway_service.py GatewayService.check_health_of_gateways 19 19 0 8 0 0%
mcpgateway/services/gateway_service.py GatewayService.aggregate_capabilities 10 10 0 10 0 0%
mcpgateway/services/gateway_service.py GatewayService.subscribe_events 7 7 0 0 0 0%
mcpgateway/services/gateway_service.py GatewayService._initialize_gateway 12 12 0 6 0 0%
mcpgateway/services/gateway_service.py GatewayService._initialize_gateway.connect_to_sse_server 12 12 0 2 0 0%
mcpgateway/services/gateway_service.py GatewayService._initialize_gateway.connect_to_streamablehttp_server 14 14 0 4 0 0%
mcpgateway/services/gateway_service.py GatewayService._get_active_gateways 2 2 0 0 0 0%
mcpgateway/services/gateway_service.py GatewayService._run_health_checks 41 41 0 14 0 0%
mcpgateway/services/gateway_service.py GatewayService._get_auth_headers 2 0 0 0 0 100%
mcpgateway/services/gateway_service.py GatewayService._notify_gateway_added 2 2 0 0 0 0%
mcpgateway/services/gateway_service.py GatewayService._notify_gateway_activated 2 2 0 0 0 0%
mcpgateway/services/gateway_service.py GatewayService._notify_gateway_deactivated 2 2 0 0 0 0%
mcpgateway/services/gateway_service.py GatewayService._notify_gateway_deleted 2 2 0 0 0 0%
mcpgateway/services/gateway_service.py GatewayService._notify_gateway_removed 2 2 0 0 0 0%
mcpgateway/services/gateway_service.py GatewayService._publish_event 2 2 0 2 0 0%
mcpgateway/services/gateway_service.py (no function) 59 3 0 0 0 95%
mcpgateway/services/logging_service.py LoggingService.__init__ 3 0 0 0 0 100%
mcpgateway/services/logging_service.py LoggingService.initialize 3 3 0 0 0 0%
mcpgateway/services/logging_service.py LoggingService.shutdown 2 0 0 0 0 100%
mcpgateway/services/logging_service.py LoggingService.get_logger 6 0 0 2 0 100%
mcpgateway/services/logging_service.py LoggingService.set_level 5 0 0 2 0 100%
mcpgateway/services/logging_service.py LoggingService.notify 13 2 0 6 0 89%
mcpgateway/services/logging_service.py LoggingService.subscribe 7 0 0 0 0 100%
mcpgateway/services/logging_service.py LoggingService._should_log 2 0 0 0 0 100%
mcpgateway/services/logging_service.py (no function) 14 0 0 0 0 100%
mcpgateway/services/prompt_service.py PromptNameConflictError.__init__ 7 1 0 2 1 78%
mcpgateway/services/prompt_service.py PromptService.__init__ 2 0 0 0 0 100%
mcpgateway/services/prompt_service.py PromptService.initialize 1 1 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService.shutdown 2 2 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService._convert_db_prompt 15 0 0 2 0 100%
mcpgateway/services/prompt_service.py PromptService.register_prompt 26 6 0 6 1 72%
mcpgateway/services/prompt_service.py PromptService.list_prompts 6 0 0 2 1 88%
mcpgateway/services/prompt_service.py PromptService.list_server_prompts 6 6 0 2 0 0%
mcpgateway/services/prompt_service.py PromptService.get_prompt 15 4 0 6 2 71%
mcpgateway/services/prompt_service.py PromptService.update_prompt 35 13 0 20 6 55%
mcpgateway/services/prompt_service.py PromptService.toggle_prompt_status 17 5 0 6 3 65%
mcpgateway/services/prompt_service.py PromptService.get_prompt_details 11 11 0 8 0 0%
mcpgateway/services/prompt_service.py PromptService.delete_prompt 14 1 0 4 1 89%
mcpgateway/services/prompt_service.py PromptService.subscribe_events 7 7 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService._validate_template 4 2 0 0 0 50%
mcpgateway/services/prompt_service.py PromptService._get_required_arguments 5 0 0 0 0 100%
mcpgateway/services/prompt_service.py PromptService._render_template 8 5 0 0 0 38%
mcpgateway/services/prompt_service.py PromptService._parse_messages 18 8 0 12 3 50%
mcpgateway/services/prompt_service.py PromptService._notify_prompt_added 2 2 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService._notify_prompt_updated 2 2 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService._notify_prompt_activated 2 2 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService._notify_prompt_deactivated 2 2 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService._notify_prompt_deleted 2 2 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService._notify_prompt_removed 2 2 0 0 0 0%
mcpgateway/services/prompt_service.py PromptService._publish_event 2 2 0 2 0 0%
mcpgateway/services/prompt_service.py PromptService.aggregate_metrics 9 0 0 0 0 100%
mcpgateway/services/prompt_service.py PromptService.reset_metrics 2 0 0 0 0 100%
mcpgateway/services/prompt_service.py (no function) 46 0 0 0 0 100%
mcpgateway/services/resource_service.py ResourceURIConflictError.__init__ 7 1 0 2 1 78%
mcpgateway/services/resource_service.py ResourceService.__init__ 3 0 0 0 0 100%
mcpgateway/services/resource_service.py ResourceService.initialize 1 1 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService.shutdown 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService._convert_resource_to_read 13 13 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService.register_resource 23 4 0 6 2 79%
mcpgateway/services/resource_service.py ResourceService.list_resources 5 0 0 2 1 86%
mcpgateway/services/resource_service.py ResourceService.list_server_resources 5 5 0 2 0 0%
mcpgateway/services/resource_service.py ResourceService.read_resource 9 2 0 6 2 73%
mcpgateway/services/resource_service.py ResourceService.toggle_resource_status 17 17 0 6 0 0%
mcpgateway/services/resource_service.py ResourceService.subscribe_resource 14 14 0 4 0 0%
mcpgateway/services/resource_service.py ResourceService.unsubscribe_resource 10 10 0 2 0 0%
mcpgateway/services/resource_service.py ResourceService.update_resource 31 31 0 16 0 0%
mcpgateway/services/resource_service.py ResourceService.delete_resource 16 7 0 2 1 56%
mcpgateway/services/resource_service.py ResourceService.get_resource_by_uri 11 11 0 8 0 0%
mcpgateway/services/resource_service.py ResourceService._notify_resource_activated 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService._notify_resource_deactivated 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService._notify_resource_deleted 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService._notify_resource_removed 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService.subscribe_events 18 18 0 6 0 0%
mcpgateway/services/resource_service.py ResourceService._is_valid_uri 5 2 0 0 0 60%
mcpgateway/services/resource_service.py ResourceService._detect_mime_type 6 6 0 4 0 0%
mcpgateway/services/resource_service.py ResourceService._read_template_resource 15 15 0 8 0 0%
mcpgateway/services/resource_service.py ResourceService._uri_matches_template 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService._extract_template_params 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService._notify_resource_added 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService._notify_resource_updated 2 2 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService._publish_event 6 6 0 8 0 0%
mcpgateway/services/resource_service.py ResourceService.list_resource_templates 5 5 0 2 0 0%
mcpgateway/services/resource_service.py ResourceService.aggregate_metrics 8 8 0 0 0 0%
mcpgateway/services/resource_service.py ResourceService.reset_metrics 2 2 0 0 0 0%
mcpgateway/services/resource_service.py (no function) 54 0 0 0 0 100%
mcpgateway/services/root_service.py RootService.__init__ 2 0 0 0 0 100%
mcpgateway/services/root_service.py RootService.initialize 6 2 0 2 0 75%
mcpgateway/services/root_service.py RootService.shutdown 3 0 0 0 0 100%
mcpgateway/services/root_service.py RootService.list_roots 1 0 0 0 0 100%
mcpgateway/services/root_service.py RootService.add_root 11 2 0 2 0 85%
mcpgateway/services/root_service.py RootService.remove_root 5 0 0 2 0 100%
mcpgateway/services/root_service.py RootService.subscribe_changes 7 0 0 0 0 100%
mcpgateway/services/root_service.py RootService._make_root_uri 4 0 0 2 0 100%
mcpgateway/services/root_service.py RootService._notify_root_added 2 0 0 0 0 100%
mcpgateway/services/root_service.py RootService._notify_root_removed 2 0 0 0 0 100%
mcpgateway/services/root_service.py RootService._notify_subscribers 5 2 0 2 0 71%
mcpgateway/services/root_service.py (no function) 21 0 0 0 0 100%
mcpgateway/services/server_service.py ServerNameConflictError.__init__ 7 1 0 2 1 78%
mcpgateway/services/server_service.py ServerService.__init__ 2 0 0 0 0 100%
mcpgateway/services/server_service.py ServerService.initialize 1 1 0 0 0 0%
mcpgateway/services/server_service.py ServerService.shutdown 2 2 0 0 0 0%
mcpgateway/services/server_service.py ServerService._convert_server_to_read 15 15 0 0 0 0%
mcpgateway/services/server_service.py ServerService._assemble_associated_items 1 1 0 0 0 0%
mcpgateway/services/server_service.py ServerService.register_server 44 7 0 26 8 79%
mcpgateway/services/server_service.py ServerService.list_servers 5 0 0 2 1 86%
mcpgateway/services/server_service.py ServerService.get_server 6 0 0 2 0 100%
mcpgateway/services/server_service.py ServerService.update_server 44 0 0 30 10 86%
mcpgateway/services/server_service.py ServerService.toggle_server_status 19 5 0 6 3 68%
mcpgateway/services/server_service.py ServerService.delete_server 12 0 0 2 0 100%
mcpgateway/services/server_service.py ServerService._publish_event 2 2 0 2 0 0%
mcpgateway/services/server_service.py ServerService.subscribe_events 7 7 0 0 0 0%
mcpgateway/services/server_service.py ServerService._notify_server_added 5 5 0 0 0 0%
mcpgateway/services/server_service.py ServerService._notify_server_updated 5 5 0 0 0 0%
mcpgateway/services/server_service.py ServerService._notify_server_activated 2 2 0 0 0 0%
mcpgateway/services/server_service.py ServerService._notify_server_deactivated 2 2 0 0 0 0%
mcpgateway/services/server_service.py ServerService._notify_server_deleted 2 2 0 0 0 0%
mcpgateway/services/server_service.py ServerService.aggregate_metrics 8 8 0 0 0 0%
mcpgateway/services/server_service.py ServerService.reset_metrics 2 0 0 0 0 100%
mcpgateway/services/server_service.py (no function) 41 0 0 0 0 100%
mcpgateway/services/tool_service.py ToolNameConflictError.__init__ 7 1 0 2 1 78%
mcpgateway/services/tool_service.py ToolService.__init__ 2 0 0 0 0 100%
mcpgateway/services/tool_service.py ToolService.initialize 1 1 0 0 0 0%
mcpgateway/services/tool_service.py ToolService.shutdown 2 2 0 0 0 0%
mcpgateway/services/tool_service.py ToolService._convert_tool_to_read 16 16 0 6 0 0%
mcpgateway/services/tool_service.py ToolService._record_tool_metric 5 5 0 0 0 0%
mcpgateway/services/tool_service.py ToolService.register_tool 22 2 0 4 1 88%
mcpgateway/services/tool_service.py ToolService.list_tools 7 0 0 2 1 89%
mcpgateway/services/tool_service.py ToolService.list_server_tools 7 7 0 2 0 0%
mcpgateway/services/tool_service.py ToolService.get_tool 4 0 0 2 0 100%
mcpgateway/services/tool_service.py ToolService.delete_tool 12 0 0 2 0 100%
mcpgateway/services/tool_service.py ToolService.toggle_tool_status 17 5 0 6 3 65%
mcpgateway/services/tool_service.py ToolService.invoke_tool 73 41 0 26 5 41%
mcpgateway/services/tool_service.py ToolService.update_tool 39 9 0 28 10 66%
mcpgateway/services/tool_service.py ToolService._notify_tool_updated 2 2 0 0 0 0%
mcpgateway/services/tool_service.py ToolService._notify_tool_activated 2 2 0 0 0 0%
mcpgateway/services/tool_service.py ToolService._notify_tool_deactivated 2 2 0 0 0 0%
mcpgateway/services/tool_service.py ToolService._notify_tool_deleted 2 2 0 0 0 0%
mcpgateway/services/tool_service.py ToolService.subscribe_events 7 7 0 0 0 0%
mcpgateway/services/tool_service.py ToolService._notify_tool_added 2 2 0 0 0 0%
mcpgateway/services/tool_service.py ToolService._notify_tool_removed 2 2 0 0 0 0%
mcpgateway/services/tool_service.py ToolService._publish_event 2 2 0 2 0 0%
mcpgateway/services/tool_service.py ToolService._validate_tool_url 5 5 0 0 0 0%
mcpgateway/services/tool_service.py ToolService._check_tool_health 5 5 0 0 0 0%
mcpgateway/services/tool_service.py ToolService.event_generator 7 7 0 0 0 0%
mcpgateway/services/tool_service.py ToolService.aggregate_metrics 9 9 0 0 0 0%
mcpgateway/services/tool_service.py ToolService.reset_metrics 4 0 0 2 0 100%
mcpgateway/services/tool_service.py (no function) 56 0 0 0 0 100%
mcpgateway/translate.py _PubSub.__init__ 1 0 0 0 0 100%
mcpgateway/translate.py _PubSub.publish 9 0 0 4 0 100%
mcpgateway/translate.py _PubSub.subscribe 3 0 0 0 0 100%
mcpgateway/translate.py _PubSub.unsubscribe 2 0 0 0 0 100%
mcpgateway/translate.py StdIOEndpoint.__init__ 5 0 0 0 0 100%
mcpgateway/translate.py StdIOEndpoint.start 5 0 0 0 0 100%
mcpgateway/translate.py StdIOEndpoint.stop 8 1 0 4 2 75%
mcpgateway/translate.py StdIOEndpoint.send 5 0 0 2 0 100%
mcpgateway/translate.py StdIOEndpoint._pump_stdout 12 1 3 2 1 86%
mcpgateway/translate.py _build_fastapi 8 0 0 0 0 100%
mcpgateway/translate.py _build_fastapi.get_sse 4 4 0 0 0 0%
mcpgateway/translate.py _build_fastapi.get_sse.event_gen 13 13 0 2 0 0%
mcpgateway/translate.py _build_fastapi.post_message 7 0 0 0 0 100%
mcpgateway/translate.py _build_fastapi.health 1 0 0 0 0 100%
mcpgateway/translate.py _parse_args 11 0 0 2 0 100%
mcpgateway/translate.py _run_stdio_to_sse 15 0 0 2 0 100%
mcpgateway/translate.py _run_stdio_to_sse._shutdown 6 1 0 2 1 75%
mcpgateway/translate.py main 10 10 0 0 0 0%
mcpgateway/translate.py (no function) 33 0 2 0 0 100%
mcpgateway/transports/__init__.py (no function) 5 0 0 0 0 100%
mcpgateway/transports/base.py Transport.connect 0 0 0 0 0 100%
mcpgateway/transports/base.py Transport.disconnect 0 0 0 0 0 100%
mcpgateway/transports/base.py Transport.send_message 0 0 0 0 0 100%
mcpgateway/transports/base.py Transport.receive_message 0 0 0 0 0 100%
mcpgateway/transports/base.py Transport.is_connected 0 0 0 0 0 100%
mcpgateway/transports/base.py (no function) 13 0 0 0 0 100%
mcpgateway/transports/sse_transport.py SSETransport.__init__ 6 0 0 0 0 100%
mcpgateway/transports/sse_transport.py SSETransport.connect 2 0 0 0 0 100%
mcpgateway/transports/sse_transport.py SSETransport.disconnect 4 0 0 2 1 83%
mcpgateway/transports/sse_transport.py SSETransport.send_message 8 3 0 2 0 70%
mcpgateway/transports/sse_transport.py SSETransport.receive_message 10 5 0 4 2 50%
mcpgateway/transports/sse_transport.py SSETransport.is_connected 1 0 0 0 0 100%
mcpgateway/transports/sse_transport.py SSETransport.create_sse_response 3 0 0 0 0 100%
mcpgateway/transports/sse_transport.py SSETransport.create_sse_response.event_generator 19 5 0 2 1 71%
mcpgateway/transports/sse_transport.py SSETransport._client_disconnected 1 1 0 0 0 0%
mcpgateway/transports/sse_transport.py SSETransport.session_id 1 1 0 0 0 0%
mcpgateway/transports/sse_transport.py (no function) 22 0 0 0 0 100%
mcpgateway/transports/stdio_transport.py StdioTransport.__init__ 3 0 0 0 0 100%
mcpgateway/transports/stdio_transport.py StdioTransport.connect 9 9 0 0 0 0%
mcpgateway/transports/stdio_transport.py StdioTransport.disconnect 5 0 0 2 1 86%
mcpgateway/transports/stdio_transport.py StdioTransport.send_message 9 3 0 2 0 73%
mcpgateway/transports/stdio_transport.py StdioTransport.receive_message 14 5 0 4 0 72%
mcpgateway/transports/stdio_transport.py StdioTransport.is_connected 1 0 0 0 0 100%
mcpgateway/transports/stdio_transport.py (no function) 14 0 0 0 0 100%
mcpgateway/transports/streamablehttp_transport.py InMemoryEventStore.__init__ 3 0 0 0 0 100%
mcpgateway/transports/streamablehttp_transport.py InMemoryEventStore.store_event 10 0 0 4 0 100%
mcpgateway/transports/streamablehttp_transport.py InMemoryEventStore.replay_events_after 13 0 0 8 1 95%
mcpgateway/transports/streamablehttp_transport.py get_db 4 4 0 0 0 0%
mcpgateway/transports/streamablehttp_transport.py call_tool 10 10 0 2 0 0%
mcpgateway/transports/streamablehttp_transport.py list_tools 16 16 0 2 0 0%
mcpgateway/transports/streamablehttp_transport.py SessionManagerWrapper.__init__ 7 2 0 2 1 67%
mcpgateway/transports/streamablehttp_transport.py SessionManagerWrapper.initialize 2 2 0 0 0 0%
mcpgateway/transports/streamablehttp_transport.py SessionManagerWrapper.shutdown 2 2 0 0 0 0%
mcpgateway/transports/streamablehttp_transport.py SessionManagerWrapper.handle_streamable_http 10 10 0 2 0 0%
mcpgateway/transports/streamablehttp_transport.py streamable_http_auth 17 0 0 6 2 91%
mcpgateway/transports/streamablehttp_transport.py (no function) 48 0 0 0 0 100%
mcpgateway/transports/websocket_transport.py WebSocketTransport.__init__ 3 0 0 0 0 100%
mcpgateway/transports/websocket_transport.py WebSocketTransport.connect 5 0 0 2 1 86%
mcpgateway/transports/websocket_transport.py WebSocketTransport.disconnect 10 0 0 4 1 93%
mcpgateway/transports/websocket_transport.py WebSocketTransport.send_message 7 3 0 2 0 67%
mcpgateway/transports/websocket_transport.py WebSocketTransport.receive_message 13 4 0 2 1 67%
mcpgateway/transports/websocket_transport.py WebSocketTransport.is_connected 1 0 0 0 0 100%
mcpgateway/transports/websocket_transport.py WebSocketTransport._ping_loop 14 9 0 4 1 33%
mcpgateway/transports/websocket_transport.py WebSocketTransport.send_ping 2 0 0 2 1 75%
mcpgateway/transports/websocket_transport.py (no function) 16 0 0 0 0 100%
mcpgateway/types.py FileUrl.__eq__ 3 1 0 2 1 60%
mcpgateway/types.py (no function) 208 0 0 0 0 100%
mcpgateway/utils/create_jwt_token.py _create_jwt_token 5 0 0 2 0 100%
mcpgateway/utils/create_jwt_token.py create_jwt_token 1 0 0 0 0 100%
mcpgateway/utils/create_jwt_token.py get_jwt_token 2 0 0 0 0 100%
mcpgateway/utils/create_jwt_token.py _decode_jwt_token 1 0 0 0 0 100%
mcpgateway/utils/create_jwt_token.py _parse_args 10 0 0 0 0 100%
mcpgateway/utils/create_jwt_token.py _payload_from_cli 15 0 0 8 0 100%
mcpgateway/utils/create_jwt_token.py main 0 0 18 0 0 100%
mcpgateway/utils/create_jwt_token.py (no function) 20 0 9 0 0 100%
mcpgateway/utils/services_auth.py get_key 4 0 0 2 0 100%
mcpgateway/utils/services_auth.py encode_auth 10 0 0 2 0 100%
mcpgateway/utils/services_auth.py decode_auth 10 0 0 2 0 100%
mcpgateway/utils/services_auth.py (no function) 9 0 0 0 0 100%
mcpgateway/utils/verify_credentials.py verify_jwt_token 7 0 0 0 0 100%
mcpgateway/utils/verify_credentials.py verify_credentials 3 0 0 0 0 100%
mcpgateway/utils/verify_credentials.py require_auth 4 0 0 2 0 100%
mcpgateway/utils/verify_credentials.py verify_basic_credentials 5 0 0 2 0 100%
mcpgateway/utils/verify_credentials.py require_basic_auth 5 1 0 4 1 78%
mcpgateway/utils/verify_credentials.py require_auth_override 6 0 0 4 1 90%
mcpgateway/utils/verify_credentials.py (no function) 15 0 0 0 0 100%
mcpgateway/validation/__init__.py (no function) 2 0 0 0 0 100%
mcpgateway/validation/jsonrpc.py JSONRPCError.__init__ 5 0 0 0 0 100%
mcpgateway/validation/jsonrpc.py JSONRPCError.to_dict 4 0 0 2 0 100%
mcpgateway/validation/jsonrpc.py validate_request 13 0 0 12 0 100%
mcpgateway/validation/jsonrpc.py validate_response 23 9 0 20 9 58%
mcpgateway/validation/jsonrpc.py (no function) 13 0 0 0 0 100%
mcpgateway/version.py _is_secret 1 1 0 0 0 0%
mcpgateway/version.py _public_env 1 1 0 0 0 0%
mcpgateway/version.py _git_revision 8 8 0 2 0 0%
mcpgateway/version.py _sanitize_url 7 7 0 4 0 0%
mcpgateway/version.py _database_version 9 9 0 0 0 0%
mcpgateway/version.py _system_metrics 26 26 0 2 0 0%
mcpgateway/version.py _build_payload 2 2 0 0 0 0%
mcpgateway/version.py _html_table 2 2 0 0 0 0%
mcpgateway/version.py _render_html 7 7 0 2 0 0%
mcpgateway/version.py _login_html 1 1 0 0 0 0%
mcpgateway/version.py version_endpoint 20 20 0 6 0 0%
mcpgateway/version.py (no function) 42 5 0 0 0 88%
mcpgateway/wrapper.py _extract_base_url 9 0 0 6 0 100%
mcpgateway/wrapper.py fetch_url 12 0 0 0 0 100%
mcpgateway/wrapper.py get_tools_from_mcp_server 9 0 0 4 0 100%
mcpgateway/wrapper.py tools_metadata 8 1 0 4 1 83%
mcpgateway/wrapper.py get_prompts_from_mcp_server 9 0 0 4 0 100%
mcpgateway/wrapper.py prompts_metadata 8 1 0 4 1 83%
mcpgateway/wrapper.py get_resources_from_mcp_server 9 0 0 4 0 100%
mcpgateway/wrapper.py resources_metadata 8 1 0 4 1 83%
mcpgateway/wrapper.py handle_list_tools 12 3 0 4 1 75%
mcpgateway/wrapper.py handle_call_tool 21 1 0 4 1 92%
mcpgateway/wrapper.py handle_list_resources 18 5 0 4 1 73%
mcpgateway/wrapper.py handle_read_resource 6 3 0 0 0 50%
mcpgateway/wrapper.py handle_list_prompts 12 3 0 4 1 75%
mcpgateway/wrapper.py handle_get_prompt 17 5 0 0 0 71%
mcpgateway/wrapper.py main 6 3 1 0 0 50%
mcpgateway/wrapper.py (no function) 53 3 10 4 2 91%
Total   6126 2230 47 1224 235 60%

No items found using the specified filter.