LangChain MCP Chat Platform
@BilalAltundag
A versatile chat platform that integrates LangChain, custom MCP servers, and various AI models for enhanced chat capabilities.
Overview
What is LangChain MCP Chat Platform?
LangChain MCP Chat Platform is a chat platform that integrates LangChain, custom MCP (Model Control Protocol) servers, and Google's Gemini AI model for enhanced conversational capabilities. It is designed for developers who want to build a multi-service conversational application with web search, email, and accounting integrations.
How to use LangChain MCP Chat Platform?
Clone the repository, create a Python virtual environment, install dependencies from requirements.txt, set up a .env file with your GOOGLE_API_KEY and SMITHERY_KEY, then run the application from the web_js directory with python main.py. Optionally, enable the Gmail API in Google Cloud Console for email features.
Key features of LangChain MCP Chat Platform
- LangChain integration for advanced conversation management and tool usage
- Powered by Google Gemini 2.0 Flash model
- Custom MCP servers: Tavily web search, Gmail, and accounting (muhasebe)
- Conversation history tracking for contextual responses
- Responsive web UI built with FastAPI and WebSockets
- Extensible architecture to add new tools and capabilities
Use cases of LangChain MCP Chat Platform
- Build a personal assistant that can search the web via Tavily and extract content
- Automate email operations such as sending, reading, or managing Gmail messages
- Manage financial records through the integrated accounting system (muhasebe)
- Create a conversational interface that maintains context across multiple interactions
- Prototype and test new MCP server integrations with a ready-made web UI
FAQ from LangChain MCP Chat Platform
What API keys are required?
You need GOOGLE_API_KEY for Gemini and SMITHERY_KEY to run Gmail and Tavily MCP servers. The SMITHERY_KEY alone is sufficient; you do not need separate TAVILY_API_KEY or GMAIL_API_KEY in this application.
What runtime dependencies are needed?
The application requires Python 3 with packages listed in requirements.txt, Node.js and NPM (for Tavily/Gmail via Smithery CLI), and a Google Cloud project with the Gmail API enabled if using email features.
How do I run only the custom accounting MCP server?
Modify web_js/main.py to include only the custom_mcp service in MultiServerMCPClient and comment out Tavily and Gmail entries. Start the application with python main.py.
What should I do if the application hangs during startup?
Try starting only with the custom MCP server, install Node.js globally, run npm install -g @smithery/cli, or run services manually in separate terminals to identify the cause.
Where does conversation data live?
The README does not specify a data storage backend beyond describing database operations in the app/database/ folder, but no details on persistence location or format are provided.