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
Prerequisites
- Python 3.8 or higher
- Azure OpenAI API access
- Required Python packages (see requirements.txt)
Installation
- Clone the repository:Copy
- Create and activate a virtual environment:Copy
- Install dependencies:Copy
- Create a
.env
file with your credentials:Copy
Usage
- Start the MCP server:Copy
- In a new terminal, start the Flask application:Copy
- 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 historymcp_client.log
: Client connection and operation logsmcp_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
- Update the
BANK_INFO
dictionary inapp.py
for new bank information - Modify the
SYSTEM_MESSAGE
for updated AI behavior - Add new message handlers in
mcp_client.py
for additional functionality
Testing
Run the test client to verify MCP functionality:
Clear logs for testing:
Security
- API keys and sensitive information are stored in
.env
- MCP provides secure message transmission
- Input validation and error handling are implemented
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Implements a secure message communication protocol for handling exchanges between the banking chatbot and Azure OpenAI, providing message queuing, reliability, and detailed logging.
Related MCP Servers
- AsecurityAlicenseAqualityEnables natural language interaction with Azure services through Claude Desktop, supporting resource management, subscription handling, and tenant selection with secure authentication.Last updated -3413TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server implementation that enables Claude to interact with RabbitMQ message queues and topics, allowing read/write operations on a RabbitMQ instance.Last updated -18PythonApache 2.0
- -securityFlicense-qualityA Model Context Protocol server that allows Claude to make API requests on your behalf, providing tools for testing various APIs including HTTP requests and OpenAI integrations without sharing your API keys in the chat.Last updated -Python
- -securityAlicense-qualityModel Context Protocol server implementation that integrates the LINE Messaging API to connect AI agents with LINE Official Accounts, enabling agents to send messages to users.Last updated -TypeScriptApache 2.0