mcp_chatbot  by keli-wen

LLM chatbot framework enabling seamless tool integration

Created 1 year ago
252 stars

Top 99.6% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a flexible chatbot implementation leveraging the Model Context Protocol (MCP) to integrate customized Large Language Models (LLMs) with external tools. It targets developers and researchers seeking to enable LLMs to interact with various services, offering a streamlined approach to building tool-aware conversational agents. The primary benefit is the seamless extension of LLM capabilities through MCP-facilitated tool usage.

How It Works

The core architecture centers on the Model Context Protocol (MCP), enabling LLMs to dynamically invoke and utilize external tools. The project implements custom MCP servers, such as a Markdown processor, and demonstrates their integration within chatbot workflows. It supports diverse LLM backends, including Qwen and Ollama, via configurable API endpoints and keys, facilitating complex interactions and tool chaining.

Quick Start & Requirements

  • Primary Install: Clone the repository, set up a Python 3.10+ virtual environment (uv recommended), and install dependencies via pip install -r requirements.txt.
  • Prerequisites: Python 3.10+, mcp[cli], openai, colorama. Requires configuration of LLM API keys/endpoints and MCP server paths in .env and mcp_servers/servers_config.json.
  • Setup: Configuration involves editing .env for LLM details and folder paths, and mcp_servers/servers_config.json for MCP server commands and arguments, potentially requiring absolute paths to executables like uv.
  • Links: Example script READMEs are referenced within the main README.

Highlighted Details

  • Offers interactive terminal chatbot examples with regular and streaming response modes.
  • Includes a Streamlit web chatbot example featuring a detailed MCP tool workflow visualization.
  • Provides single prompt processing examples for both regular and streaming outputs.
  • Supports integration with custom LLMs (e.g., Qwen) and Ollama.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), sponsorships, or a public roadmap were found in the provided README content.

Licensing & Compatibility

The provided README content does not specify the project's license type or any compatibility notes for commercial use or closed-source linking.

Limitations & Caveats

Setup requires meticulous configuration of system-specific paths and commands within .env and mcp_servers/servers_config.json files, which may pose an initial hurdle. The functionality is dependent on correctly configured and accessible external MCP servers and LLM API endpoints. Placeholder values in configuration files must be manually replaced for the application to function.

Health Check
Last Commit

11 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.