Multi Server Tool Enabled MCP Chat App
A Streamlit-based chat application powered by LangChain, OpenAI, and Model Context Protocol (MCP). This project demonstrates how a single LLM can seamlessly interact with multiple MCP servers—both local and remote—to reason, call tools, and return concise final answers.
Installation
npx multi-server-tool-enabled-mcp-chat-appAsk AI about Multi Server Tool Enabled MCP Chat App
Powered by Claude · Grounded in docs
I know everything about Multi Server Tool Enabled MCP Chat App. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
🧰 MCP Chat – Multi-Server Tool-Enabled Chat App
A Streamlit-based chat application powered by LangChain, OpenAI, and Model Context Protocol (MCP). This project demonstrates how a single LLM can seamlessly interact with multiple MCP servers—both local and remote—to reason, call tools, and return concise final answers.
✨ Built and tested with FastMCP v2, including validation via MCP Inspector.
✨ Features
-
💬 Interactive Chat UI using Streamlit
-
🔌 Multi-Server MCP Integration
- Remote FastMCP cloud server
- Local Python-based MCP server
- Node.js MCP server
-
🧠 Tool-aware LLM reasoning with automatic tool selection
-
🧾 Clean chat history (no tool noise or intermediate steps shown)
-
🖥️ Terminal-based MCP chat also implemented (outside the Streamlit UI)
-
☁️ FastMCP Cloud Server tested via MCP Inspector
-
🔄 Async-safe tool execution with proper message ordering
🏗️ Architecture Overview
Streamlit UI
|
v
LangChain (ChatOpenAI)
|
v
MultiServerMCPClient
|
+── Remote FastMCP Server (HTTP)
+── Local Python MCP Server (stdio)
+── Node.js MCP Server (stdio)
The LLM:
- Receives user input
- Decides whether tools are required
- Executes tools via MCP servers
- Returns a final concise answer only
🔌 Configured MCP Servers
1. Expense Tracker (Remote – FastMCP Cloud)
- Transport:
streamable_http - Deployed on: FastMCP Cloud
- Tested with: MCP Inspector
https://expense-tracker-app.fastmcp.app/mcp
2. Manim MCP Server (Local – Python)
- Transport:
stdio - Purpose: Manim-based computation / rendering
- Runs locally using a Python executable
3. Sequential Thinking Server (Local – Node.js)
- Transport:
stdio - Powered by:
@modelcontextprotocol/server-sequential-thinking - Used for: Step-by-step structured reasoning
⚙️ Tech Stack
- Python 3.12
- Streamlit
- LangChain
- OpenAI (ChatOpenAI)
- FastMCP v2
- Model Context Protocol (MCP)
- Node.js (for MCP servers)
- dotenv
📌 Notes
- The system prompt enforces concise final answers
- Tool execution status is never narrated to the user
- Easily extensible—just add more MCP servers to the config!
🙌 Acknowledgements
- LangChain
- Model Context Protocol
- FastMCP
- Streamlit
- OpenAI
