Banking_assistant

Banking Chatbot with MCP Integration

GitHub Stars

1

User Rating

Not Rated

Favorites

0

Views

11

Forks

0

Issues

0

README
Banking Chatbot with MCP Integration

A sophisticated banking chatbot application that uses Azure OpenAI and Model Context Protocol (MCP) for secure and efficient message handling.

Features
  • AI-Powered Banking Assistant: Uses Azure OpenAI to provide intelligent responses to banking queries
  • Model Context Protocol (MCP): Implements a secure message communication protocol
  • Real-time Chat Interface: Modern, responsive UI for seamless user interaction
  • Comprehensive Logging: Detailed logging system for monitoring and debugging
  • Bank Information Integration: Dynamic display of bank details and services
  • Markdown Support: Rich text formatting for responses
Project Structure
.
├── app.py                  # Main Flask application
├── mcp_server.py          # MCP server implementation
├── mcp_client.py          # MCP client implementation
├── requirements.txt       # Python dependencies
├── .env                   # Environment variables
├── templates/             # HTML templates
│   └── index.html        # Chat interface
└── logs/                 # Log files
    ├── client_messages.log
    ├── mcp_client.log
    └── mcp_server.log
Prerequisites
  • Python 3.8 or higher
  • Azure OpenAI API access
  • Required Python packages (see requirements.txt)
Installation
  1. Clone the repository:

    git clone <repository-url>
    cd banking-chatbot
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Create a .env file with your credentials:

    ENDPOINT_URL=your_azure_endpoint
    AZURE_OPENAI_API_KEY=your_api_key
    DEPLOYMENT_NAME=your_deployment_name
    
Usage
  1. Start the MCP server:

    python mcp_server.py
    
  2. In a new terminal, start the Flask application:

    python app.py
    
  3. Access the chatbot interface at http://localhost:5000

MCP Protocol

The Model Context Protocol (MCP) is implemented to handle message communication between the chatbot and the server. It provides:

  • Secure message transmission
  • Message queuing and reliability
  • Detailed logging
  • Real-time message handling
Message Types
  • Chat Messages: User queries and AI responses
  • System Messages: Administrative and control messages
Logging

The application maintains detailed logs in the logs directory:

  • client_messages.log: Chat message history
  • mcp_client.log: Client connection and operation logs
  • mcp_server.log: Server operation logs
Bank Information

The chatbot is configured with comprehensive bank information including:

  • Business hours
  • Branch locations
  • Available services
  • Contact information
  • Support channels
Development
Adding New Features
  1. Update the BANK_INFO dictionary in app.py for new bank information
  2. Modify the SYSTEM_MESSAGE for updated AI behavior
  3. Add new message handlers in mcp_client.py for additional functionality
Testing

Run the test client to verify MCP functionality:

python test_client.py

Clear logs for testing:

python clear_logs.py
Security
  • API keys and sensitive information are stored in .env
  • MCP provides secure message transmission
  • Input validation and error handling are implemented
Contributing
  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request
License

This project is licensed under the MIT License - see the LICENSE file for details.

Author Information
Abhinav Sahu

Building ethical AI systems with Python & PyTorch | Obsessed with neural interpretability & AI for social impact ✨ Open-source contributor

0

Followers

6

Repositories

0

Gists

0

Total Contributions