MCP-ChatBot logo

MCP-ChatBot

by muralianand12345

MCP-ChatBot is a versatile chatbot application that uses MCP (Modular Capability Protocol) to interact with multiple service backends. It demonstrates LLM interactions with external services like weather data, using a Streamlit-based frontend.

View on GitHub

Last updated: N/A

What is MCP-ChatBot?

MCP-ChatBot is a containerized application that demonstrates the use of Modular Capability Protocol (MCP) to enable LLM interactions with external services. It includes a weather service backend and a Streamlit-based frontend for querying weather information through natural language.

How to use MCP-ChatBot?

To use MCP-ChatBot, first clone the repository, create an .env file with your API keys for OpenAI and WeatherAPI, and then launch the application using Docker Compose. Access the Streamlit UI at http://localhost:8501 and type natural language queries about the weather.

Key features of MCP-ChatBot

  • Containerized Architecture

  • Weather Service Integration

  • Streamlit UI

  • Extensible Design

  • GPT-4o Integration

Use cases of MCP-ChatBot

  • Querying real-time weather data using natural language

  • Demonstrating LLM interaction with external services

  • Building extensible chatbot applications with MCP

  • Integrating various service backends with a chatbot

FAQ from MCP-ChatBot

What is MCP?

MCP stands for Modular Capability Protocol, a protocol for enabling LLM interactions with external services.

What are the prerequisites for running MCP-ChatBot?

You need Docker, Docker Compose, a WeatherAPI key, and an OpenAI API key.

How do I add a new MCP server?

Create a new server file in the servers directory, add the new service to the docker-compose.yml file, and update the client.py to include the new server in the agent configuration.

What do I do if I get a 'Connection Failed' error?

Ensure that all services are up and running. The client has a retry mechanism, but if it fails, restart the application.

What if I get API Key Errors?

Verify that you've added valid API keys to the .env file.