File size: 1,151 Bytes
710d019
 
f3fb8fa
 
710d019
d9e41f8
 
710d019
 
 
d9e41f8
710d019
d9e41f8
 
710d019
 
 
440ed5c
51ed9f4
710d019
 
d9e41f8
710d019
 
d9e41f8
710d019
 
d9e41f8
710d019
 
d9e41f8
710d019
d9e41f8
 
710d019
 
d9e41f8
 
710d019
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
"""
Universal MCP Client - Main Application
A modular Gradio chatbot that uses either Anthropic Claude API or HuggingFace Inference Providers
to access various LLMs and can connect to MCP servers for enhanced functionality.
"""
import logging

from config import AppConfig
from mcp_client import UniversalMCPClient
from ui_components import UIComponents

# Set up logging
logger = logging.getLogger(__name__)

def main():
    """Main application entry point"""
    logger.info("🚀 Starting Universal Multimodal MCP Chatbot Client...")
    
    try:
        # Initialize the MCP client
        mcp_client = UniversalMCPClient()
        
        # Create UI components
        ui_components = UIComponents(mcp_client)
        
        # Create the Gradio interface
        demo = ui_components.create_interface()
        
        # Launch the application
        demo.launch(debug=AppConfig.DEBUG_MODE)
        
        logger.info("✅ Universal Multimodal MCP Chatbot Client started successfully!")
        
    except Exception as e:
        logger.error(f"❌ Failed to start application: {e}")
        raise

if __name__ == "__main__":
    main()