| src/quickmcp/__init__.py |
(no function) |
9 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
ServerInfo.to_json |
1 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
ServerInfo.from_json |
1 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster.__init__ |
10 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster.start |
8 |
2 |
0 |
75% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster.stop |
5 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster._setup_sockets |
23 |
4 |
0 |
83% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster._cleanup_sockets |
6 |
2 |
0 |
67% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster._broadcast_loop |
11 |
2 |
0 |
82% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster._create_packet |
2 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster._send_broadcast |
8 |
3 |
0 |
62% |
| src/quickmcp/autodiscovery.py |
DiscoveryBroadcaster._send_multicast |
10 |
4 |
0 |
60% |
| src/quickmcp/autodiscovery.py |
DiscoveryListener.__init__ |
9 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
DiscoveryListener.start |
8 |
8 |
0 |
0% |
| src/quickmcp/autodiscovery.py |
DiscoveryListener.stop |
5 |
5 |
0 |
0% |
| src/quickmcp/autodiscovery.py |
DiscoveryListener.get_servers |
6 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
DiscoveryListener._setup_socket |
14 |
14 |
0 |
0% |
| src/quickmcp/autodiscovery.py |
DiscoveryListener._cleanup_socket |
12 |
12 |
0 |
0% |
| src/quickmcp/autodiscovery.py |
DiscoveryListener._listen_loop |
9 |
9 |
0 |
0% |
| src/quickmcp/autodiscovery.py |
DiscoveryListener._process_packet |
12 |
2 |
0 |
83% |
| src/quickmcp/autodiscovery.py |
AutoDiscovery.__init__ |
4 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
AutoDiscovery.update_capabilities |
1 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
AutoDiscovery.start |
1 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
AutoDiscovery.stop |
1 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
AutoDiscovery.__enter__ |
2 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
AutoDiscovery.__exit__ |
1 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
discover_servers |
7 |
0 |
0 |
100% |
| src/quickmcp/autodiscovery.py |
discover_servers.on_discovered |
1 |
1 |
0 |
0% |
| src/quickmcp/autodiscovery.py |
discovery_cli |
35 |
35 |
0 |
0% |
| src/quickmcp/autodiscovery.py |
discovery_cli.on_discovered |
8 |
8 |
0 |
0% |
| src/quickmcp/autodiscovery.py |
(no function) |
60 |
1 |
0 |
98% |
| src/quickmcp/cli.py |
cmd_register |
3 |
0 |
0 |
100% |
| src/quickmcp/cli.py |
cmd_unregister |
5 |
2 |
0 |
60% |
| src/quickmcp/cli.py |
cmd_list |
25 |
13 |
0 |
48% |
| src/quickmcp/cli.py |
cmd_discover |
20 |
12 |
0 |
40% |
| src/quickmcp/cli.py |
cmd_discover.discover |
1 |
1 |
0 |
0% |
| src/quickmcp/cli.py |
cmd_export |
11 |
5 |
0 |
55% |
| src/quickmcp/cli.py |
cmd_info |
26 |
16 |
0 |
38% |
| src/quickmcp/cli.py |
main |
40 |
40 |
0 |
0% |
| src/quickmcp/cli.py |
(no function) |
16 |
1 |
0 |
94% |
| src/quickmcp/cli_factory.py |
main |
67 |
67 |
0 |
0% |
| src/quickmcp/cli_factory.py |
(no function) |
7 |
7 |
0 |
0% |
| src/quickmcp/decorators.py |
tool |
2 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
tool.decorator |
8 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
tool.decorator.wrapper |
1 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
resource |
2 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
resource.decorator |
8 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
resource.decorator.wrapper |
1 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
prompt |
2 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
prompt.decorator |
8 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
prompt.decorator.wrapper |
1 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
get_pending_tools |
1 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
get_pending_resources |
1 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
get_pending_prompts |
1 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
clear_pending |
3 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
auto_discover_mcp_components |
10 |
0 |
0 |
100% |
| src/quickmcp/decorators.py |
(no function) |
16 |
0 |
0 |
100% |
| src/quickmcp/factory/__init__.py |
(no function) |
11 |
0 |
0 |
100% |
| src/quickmcp/factory/config.py |
FactoryConfig.__post_init__ |
6 |
0 |
0 |
100% |
| src/quickmcp/factory/config.py |
FactoryConfig.merge_pip_mappings |
3 |
0 |
0 |
100% |
| src/quickmcp/factory/config.py |
FactoryConfig.get_effective_stdlib_modules |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/config.py |
create_safe_config |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/config.py |
create_permissive_config |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/config.py |
create_development_config |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/config.py |
(no function) |
26 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
ModuleLoader.__init__ |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
ModuleLoader.load_module |
19 |
2 |
0 |
89% |
| src/quickmcp/factory/core.py |
FunctionExtractor.__init__ |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
FunctionExtractor.extract_from_module |
17 |
3 |
0 |
82% |
| src/quickmcp/factory/core.py |
FunctionExtractor.extract_from_class |
15 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
FunctionExtractor.extract_decorated_functions |
22 |
2 |
0 |
91% |
| src/quickmcp/factory/core.py |
MCPFactory.__init__ |
8 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
MCPFactory.from_module |
29 |
3 |
0 |
90% |
| src/quickmcp/factory/core.py |
MCPFactory.from_module_object |
9 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
MCPFactory.from_functions |
6 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
MCPFactory.from_class |
15 |
5 |
0 |
67% |
| src/quickmcp/factory/core.py |
MCPFactory.from_file_with_decorators |
8 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
MCPFactory._register_tool |
10 |
2 |
0 |
80% |
| src/quickmcp/factory/core.py |
MCPFactory.analyze_dependencies |
3 |
1 |
0 |
67% |
| src/quickmcp/factory/core.py |
MCPFactory.check_dependencies |
5 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
MCPFactory._generate_install_command |
4 |
0 |
0 |
100% |
| src/quickmcp/factory/core.py |
(no function) |
32 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
ModuleLoadError.__init__ |
3 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
ToolRegistrationError.__init__ |
3 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
TypeConversionError.__init__ |
4 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
MissingDependencyError.__init__ |
3 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
MissingDependencyError.required_dependencies |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
MissingDependencyError.optional_dependencies |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
MissingDependencyError.dev_dependencies |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
MissingDependencyError.format_error_message |
39 |
8 |
0 |
79% |
| src/quickmcp/factory/errors.py |
MissingDependencyError._get_install_command |
6 |
0 |
0 |
100% |
| src/quickmcp/factory/errors.py |
MissingDependencyError.get_install_commands |
20 |
20 |
0 |
0% |
| src/quickmcp/factory/errors.py |
CodeExecutionError.__init__ |
2 |
2 |
0 |
0% |
| src/quickmcp/factory/errors.py |
handle_factory_error |
34 |
18 |
0 |
47% |
| src/quickmcp/factory/errors.py |
log_factory_error |
4 |
1 |
0 |
75% |
| src/quickmcp/factory/errors.py |
(no function) |
33 |
0 |
0 |
100% |
| src/quickmcp/factory/import_analyzer.py |
ImportAnalyzer.__init__ |
4 |
0 |
0 |
100% |
| src/quickmcp/factory/import_analyzer.py |
ImportAnalyzer.analyze_file |
15 |
6 |
0 |
60% |
| src/quickmcp/factory/import_analyzer.py |
ImportAnalyzer._analyze_file_impl |
39 |
5 |
0 |
87% |
| src/quickmcp/factory/import_analyzer.py |
ImportAnalyzer._check_module |
18 |
3 |
0 |
83% |
| src/quickmcp/factory/import_analyzer.py |
ImportAnalyzer._is_optional_import |
41 |
3 |
3 |
93% |
| src/quickmcp/factory/import_analyzer.py |
ImportAnalyzer.get_install_commands |
11 |
1 |
0 |
91% |
| src/quickmcp/factory/import_analyzer.py |
ImportAnalyzer.clear_cache |
2 |
2 |
0 |
0% |
| src/quickmcp/factory/import_analyzer.py |
ImportAnalyzer.get_cache_info |
1 |
1 |
0 |
0% |
| src/quickmcp/factory/import_analyzer.py |
(no function) |
30 |
0 |
0 |
100% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter.__init__ |
2 |
0 |
0 |
100% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter.convert_value |
24 |
2 |
0 |
92% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_value_impl |
30 |
6 |
0 |
80% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_basic_type |
49 |
11 |
0 |
78% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_container_type |
21 |
4 |
0 |
81% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_dict_type |
17 |
17 |
0 |
0% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_path_type |
5 |
2 |
0 |
60% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_datetime_type |
19 |
4 |
0 |
79% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_decimal_type |
10 |
10 |
0 |
0% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_enum_type |
18 |
6 |
0 |
67% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_dataclass_type |
11 |
4 |
0 |
64% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_bytes_type |
9 |
4 |
0 |
56% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._is_union_type |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._is_optional_type |
4 |
0 |
0 |
100% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_union_type |
24 |
11 |
0 |
54% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter._convert_generic_type |
22 |
1 |
0 |
95% |
| src/quickmcp/factory/type_conversion.py |
TypeConverter.clear_cache |
2 |
2 |
0 |
0% |
| src/quickmcp/factory/type_conversion.py |
(no function) |
29 |
0 |
0 |
100% |
| src/quickmcp/factory/utils.py |
create_mcp_from_module |
5 |
1 |
0 |
80% |
| src/quickmcp/factory/utils.py |
create_mcp_from_object |
11 |
0 |
0 |
100% |
| src/quickmcp/factory/utils.py |
analyze_dependencies |
2 |
0 |
0 |
100% |
| src/quickmcp/factory/utils.py |
check_dependencies |
2 |
0 |
0 |
100% |
| src/quickmcp/factory/utils.py |
print_dependency_report |
47 |
47 |
0 |
0% |
| src/quickmcp/factory/utils.py |
get_install_command |
17 |
9 |
0 |
47% |
| src/quickmcp/factory/utils.py |
validate_factory_setup |
6 |
6 |
0 |
0% |
| src/quickmcp/factory/utils.py |
mcp_tool |
4 |
0 |
0 |
100% |
| src/quickmcp/factory/utils.py |
mcp_tool.decorator |
4 |
0 |
0 |
100% |
| src/quickmcp/factory/utils.py |
create_factory_for_development |
2 |
2 |
0 |
0% |
| src/quickmcp/factory/utils.py |
create_safe_factory |
2 |
2 |
0 |
0% |
| src/quickmcp/factory/utils.py |
create_factory_with_config |
2 |
2 |
0 |
0% |
| src/quickmcp/factory/utils.py |
(no function) |
19 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
ToolWrapper.__init__ |
11 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
ToolWrapper._get_type_hints_safely |
13 |
9 |
0 |
31% |
| src/quickmcp/factory/wrappers.py |
ToolWrapper._create_wrapper |
1 |
1 |
0 |
0% |
| src/quickmcp/factory/wrappers.py |
ToolWrapper._convert_arguments |
20 |
2 |
0 |
90% |
| src/quickmcp/factory/wrappers.py |
ToolWrapper._convert_result |
11 |
3 |
0 |
73% |
| src/quickmcp/factory/wrappers.py |
SyncToolWrapper._create_wrapper |
2 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
SyncToolWrapper._create_wrapper.sync_wrapper |
10 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
AsyncToolWrapper._create_wrapper |
2 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
AsyncToolWrapper._create_wrapper.async_wrapper |
10 |
1 |
0 |
90% |
| src/quickmcp/factory/wrappers.py |
MethodToolWrapper.__init__ |
2 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
MethodToolWrapper._create_wrapper |
3 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
MethodToolWrapper._create_sync_method_wrapper |
2 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
MethodToolWrapper._create_sync_method_wrapper.sync_method_wrapper |
10 |
6 |
0 |
40% |
| src/quickmcp/factory/wrappers.py |
MethodToolWrapper._create_async_method_wrapper |
2 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
MethodToolWrapper._create_async_method_wrapper.async_method_wrapper |
10 |
6 |
0 |
40% |
| src/quickmcp/factory/wrappers.py |
ToolWrapperFactory.__init__ |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
ToolWrapperFactory.create_wrapper |
3 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
ToolWrapperFactory.create_method_wrapper |
1 |
0 |
0 |
100% |
| src/quickmcp/factory/wrappers.py |
create_tool_wrapper |
3 |
3 |
0 |
0% |
| src/quickmcp/factory/wrappers.py |
(no function) |
30 |
0 |
0 |
100% |
| src/quickmcp/quick.py |
server |
1 |
0 |
0 |
100% |
| src/quickmcp/quick.py |
from_file |
4 |
0 |
0 |
100% |
| src/quickmcp/quick.py |
from_object |
3 |
0 |
0 |
100% |
| src/quickmcp/quick.py |
run |
23 |
6 |
0 |
74% |
| src/quickmcp/quick.py |
tool |
2 |
0 |
0 |
100% |
| src/quickmcp/quick.py |
(no function) |
11 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistration.to_dict |
1 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistration.from_dict |
1 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistry.__init__ |
8 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistry.load |
9 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistry.save |
6 |
2 |
0 |
67% |
| src/quickmcp/registry.py |
ServerRegistry.register |
2 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistry.unregister |
5 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistry.get |
1 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistry.list |
1 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistry.to_gleitzeit_config |
11 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
ServerRegistry.auto_discover |
12 |
2 |
0 |
83% |
| src/quickmcp/registry.py |
ServerRegistry._is_quickmcp_server |
6 |
2 |
0 |
67% |
| src/quickmcp/registry.py |
ServerRegistry._extract_server_info |
8 |
2 |
0 |
75% |
| src/quickmcp/registry.py |
register_server |
4 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
list_servers |
2 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
export_gleitzeit_config |
9 |
0 |
0 |
100% |
| src/quickmcp/registry.py |
(no function) |
34 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.__init__ |
17 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer._register_handlers |
12 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer._register_handlers.list_tools |
5 |
5 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer._register_handlers.call_tool |
7 |
7 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer._register_handlers.list_resources |
5 |
5 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer._register_handlers.read_resource |
9 |
9 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer._register_handlers.list_prompts |
5 |
5 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer._register_handlers.get_prompt |
7 |
7 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer._uri_matches |
3 |
3 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer._extract_params |
9 |
9 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer.tool |
2 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.tool.decorator |
9 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.resource |
2 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.resource.decorator |
6 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.prompt |
2 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.prompt.decorator |
9 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer._generate_schema_from_function |
22 |
3 |
0 |
86% |
| src/quickmcp/server.py |
QuickMCPServer._generate_arguments_from_function |
8 |
1 |
0 |
88% |
| src/quickmcp/server.py |
QuickMCPServer.add_tool_from_function |
5 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.list_tools |
1 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.list_resources |
1 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.list_prompts |
1 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.get_info |
1 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.start_autodiscovery |
9 |
3 |
0 |
67% |
| src/quickmcp/server.py |
QuickMCPServer.stop_autodiscovery |
4 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.run |
17 |
6 |
0 |
65% |
| src/quickmcp/server.py |
QuickMCPServer.run_stdio |
3 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.run_stdio.run_async |
3 |
3 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer.run_sse |
12 |
12 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer.run_http |
1 |
1 |
0 |
0% |
| src/quickmcp/server.py |
QuickMCPServer._health_check |
2 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.export_openapi |
1 |
0 |
0 |
100% |
| src/quickmcp/server.py |
QuickMCPServer.__repr__ |
1 |
0 |
0 |
100% |
| src/quickmcp/server.py |
(no function) |
37 |
0 |
0 |
100% |
| src/quickmcp/types.py |
(no function) |
49 |
0 |
0 |
100% |