MCP-ChatBot
@arkCyber
A powerful Rust-based chatbot MCP framework with multi-server support and tool integration capabilities.
Overview
What is MCP-ChatBot?
MCP-ChatBot is a Rust-based chatbot framework implementing the Model Context Protocol (MCP) with multi-server support and tool integration. It enables switching between local (Ollama) and cloud (OpenAI) AI models, and includes built-in tools for memory, SQLite, file operations, RAG with Qdrant, and voice input via Whisper.
How to use MCP-ChatBot?
Clone the repository, build with cargo build --release, create a .env file with API keys, configure servers in src/servers_config.json and prompts in mcp_prompts.yaml, then run with cargo run. Use CLI commands such as /ai to switch AI providers, /rag-add to add documents, or /voice for voice input.
Key features of MCP-ChatBot
- Multi-AI support: seamless switching between Ollama and OpenAI
- Tool integration: memory, SQLite, and file operations
- Multi-server architecture: run multiple specialized servers simultaneously
- Interactive CLI with command history
- Customizable server-specific prompts via YAML configuration
- RAG support with Qdrant vector database
- Voice input using Whisper speech-to-text
Use cases of MCP-ChatBot
- Coordinate multiple AI models for complex tasks
- Seamlessly integrate external tools and services
- Maintain consistent context across different operations
- Efficiently manage system resources and cleanup
FAQ from MCP-ChatBot
What AI providers are supported?
Ollama for local AI and OpenAI for cloud-based AI are supported. You can switch between them using the /ai command.
What are the prerequisites?
Rust 1.70 or higher is required. Ollama is needed for local AI, an OpenAI API key is optional, Qdrant is needed for RAG support, and Whisper is needed for voice input.
How do I switch between AI providers?
Use the /ai command in the CLI to toggle between Ollama and OpenAI.
What tools are available?
Memory operations (memory_set, memory_get), SQLite operations (sqlite_create_table, sqlite_query), and file operations (file_write, file_read) are built-in.
How does voice input work?
Type /voice to start recording, speak your message, then press Enter to stop. The transcribed text is processed as a normal message.