MCP Chatbot
An intelligent chatbot for automating tasks like browser control, web searches, and travel planning.
MCP Chatbot 🤖
MCP Chatbot - Intelligent automation through Model Context Protocol integration. Features browser automation, web search, and travel planning with robust error handling. Uses Google Gemini LLM and gracefully handles server failures for reliable operation.
GitHub Repository: https://github.com/naakaarafr/MCP-Chatbot
A powerful chatbot built with Model Context Protocol (MCP) that provides intelligent automation through browser control, web search, and travel planning capabilities.
Overview
This chatbot leverages the Model Context Protocol to integrate multiple specialized servers, creating a unified interface for web automation, search, and travel-related tasks. It uses Google's Gemini model as the underlying LLM and can gracefully handle server failures by testing each MCP server individually.
Features
🌐 Browser Automation (Playwright MCP)
- Navigate to websites
- Take screenshots
- Click elements and interact with web pages
- Automate web-based tasks
🔍 Web Search (DuckDuckGo MCP)
- Perform web searches
- Get real-time information
- Research topics and find answers
🏠 Travel Planning (Airbnb MCP)
- Search for accommodations
- Find hotels and rentals
- Get travel recommendations
🛡️ Robust Error Handling
- Individual server testing on startup
- Graceful degradation when servers fail
- Fallback responses in limited mode
- Clear error reporting
Prerequisites
System Requirements
- Python 3.8+
- Node.js and npm (for MCP servers)
- UV package manager (for Python MCP servers)
Required Packages
# Python dependencies
pip install asyncio python-dotenv langchain-google-genai mcp-use
# Node.js MCP servers
npm install -g @playwright/mcp
npm install -g @openbnb/mcp-server-airbnb
# Python MCP servers
uvx install duckduckgo-mcp-server
Installation
-
Clone or download the project files:
# Ensure you have both app.py and browser_mcp.json -
Install Python dependencies:
pip install -r requirements.txtOr install individually:
pip install asyncio python-dotenv langchain-google-genai mcp-use -
Install MCP servers:
# Playwright for browser automation npm install -g @playwright/mcp # Airbnb for travel search npm install -g @openbnb/mcp-server-airbnb # DuckDuckGo for web search uvx install duckduckgo-mcp-server -
Set up environment variables: Create a
.envfile in the project root:GOOGLE_API_KEY=your_google_api_key_here -
Configure MCP servers: The
browser_mcp.jsonfile is already configured with default settings. Modify if needed:{ "mcpServers": { "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] }, "airbnb": { "command": "npx", "args": ["-y", "@openbnb/mcp-server-airbnb"] }, "ddg-search": { "command": "uvx", "args": ["duckduckgo-mcp-server"] } } }
Usage
Starting the Chatbot
python app.py
Available Commands
help- Show available commands and example queriestools- List all available MCP toolsquitorexit- End the conversation
Example Queries
Browser Automation
"Take a screenshot of google.com"
"Navigate to wikipedia.org and search for Python"
"Click the login button on the website"
Web Search
"What's the weather like today?"
"Search for the latest news about AI"
"Find information about renewable energy"
Travel Planning
"Find hotels in New York City"
"Search for Airbnb rentals in San Francisco"
"What are the best accommodations in Tokyo?"
General Assistance
"Find the best restaurants in downtown Chicago"
"Help me research Python programming tutorials"
"Take a screenshot of the current stock market trends"
Architecture
Core Components
-
MCPChatbot Class: Main chatbot orchestrator
- Initializes and manages MCP servers
- Handles user interactions
- Provides fallback responses
-
Server Testing: Individual server validation
- Tests each MCP server on startup
- Reports working and failed servers
- Continues operation with available servers
-
Agent Integration: LangChain + MCP integration
- Uses Google Gemini 2.0 Flash as the LLM
- Integrates with MCP client for tool access
- Supports up to 20 reasoning steps
Error Handling
The chatbot implements robust error handling:
- Server Failures: Individual server testing prevents total failure
- Limited Mode: Provides basic responses when no servers are available
- Graceful Degradation: Continues operation with partial functionality
- User Feedback: Clear error messages and status reporting
Configuration
MCP Server Configuration
Edit browser_mcp.json to add or modify MCP servers:
{
"mcpServers": {
"your-server-name": {
"command": "command-to-run",
"args": ["arg1", "arg2"]
}
}
}
Environment Variables
Required in .env file:
GOOGLE_API_KEY: Your Google AI API key for Gemini access
LLM Configuration
Modify in app.py if needed:
self.llm = ChatGoogleGenerativeAI(
model="gemini-2.0-flash-exp", # Model selection
temperature=0.3 # Creativity level
)
Troubleshooting
Common Issues
-
"browser_mcp.json not found"
- Ensure the configuration file is in the same directory as
app.py
- Ensure the configuration file is in the same directory as
-
"No MCP servers are working"
- Check that all MCP servers are properly installed
- Verify Node.js and UV are installed and accessible
- Check server logs for specific error messages
-
Google API Key Issues
- Ensure your
.envfile contains a validGOOGLE_API_KEY - Verify the API key has access to Gemini models
- Ensure your
-
Installation Issues
- Make sure Node.js and npm are installed
- Install UV package manager:
pip install uv - Try installing MCP servers individually to isolate issues
Debug Mode
The chatbot provides detailed startup information:
- Server testing results
- Working server list
- Error messages for failed servers
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test with various MCP servers
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Please check individual MCP server licenses for their respective terms.
Support
For issues related to:
- MCP Protocol: Check the official MCP documentation
- Specific MCP Servers: Refer to individual server documentation
- LangChain Integration: See LangChain documentation
- Google Gemini: Check Google AI documentation
Acknowledgments
- Model Context Protocol (MCP) team for the innovative protocol
- Playwright team for browser automation capabilities
- LangChain team for the integration framework
- Google for providing Gemini AI models
संबंधित सर्वर
Kone.vc
प्रायोजकMonetize your AI agent with contextual product recommendations
Portfolio Tracker
Exposes portfolio tracking tools for AI clients.
Patent Connector
Connect Patent APIs like EPO OPS, USPTO ODP or Google Patents to your chatbot.
MCP Router
A Windows and MacOS app to manage local and remote MCP servers from a single interface with secure access control and logging.
U301 URL Shortener
Create short URLs using the U301 URL Shortener service.
PDF.co MCP
Perform various PDF processing tasks using the PDF.co API.
Calculator
Performs a wide range of mathematical calculations, including basic arithmetic, advanced operations, trigonometry, and safe expression evaluation.
Notes
Centralized note store across AI clients: Claude, ChatGPT, Cursor, Codex, Windsurf. Save in one client, access in another instantly. Across devices — phone, desktop, everywhere. Cross-session context: 'catch me up' surfaces plans and findings from any prior session. AES-256-GCM encryption at rest, per-user key isolation. Soft delete with 30-day recovery window. Pin notes to exempt from cleanup and prioritize. Tag notes for categorization and filtering ('tag: auth'). Your mctx account is your identity — instant access from any AI tool.
Todoist
Manage Todoist projects, sections, tasks, and labels using natural language with AI assistants.
suitecrm-mcp
MCP gateway for SuiteCRM : SSE transport, 13 tools, single and multi-entity install with systemd + nginx
Things 3
Manage your tasks and projects in Things 3 on macOS.