https://github.com/cgoinglove/mcp-client-chatbot
π Multi-provider AI chatbot client powered by MCP
https://github.com/cgoinglove/mcp-client-chatbot
ai chatbot mcp mcp-client mcp-server nextjs ollama vercel
Last synced: about 1 year ago
JSON representation
π Multi-provider AI chatbot client powered by MCP
- Host: GitHub
- URL: https://github.com/cgoinglove/mcp-client-chatbot
- Owner: cgoinglove
- License: mit
- Created: 2025-04-13T15:44:51.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-22T15:57:13.000Z (about 1 year ago)
- Last Synced: 2025-04-23T16:16:46.422Z (about 1 year ago)
- Topics: ai, chatbot, mcp, mcp-client, mcp-server, nextjs, ollama, vercel
- Language: TypeScript
- Homepage:
- Size: 7.6 MB
- Stars: 42
- Watchers: 4
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
- awesome-mcp - cgoinglove/mcp-client-chatbot - MCP Client Chatbot is an open-source AI chatbot interface that integrates multiple AI providers and external tools via the Model Context Protocol, focusing on local execution and user control for an intuitive chat experience. (MCP Frameworks and libraries / TypeScript)
README
# MCP Client Chatbot: Local-First AI Assistant App
**English** | [νκ΅μ΄](./docs/ko.md)
[](#)
[](https://modelcontextprotocol.io/introduction)
**MCP Client Chatbot** is a versatile chat interface that supports various AI model providers like [OpenAI](https://openai.com/), [Anthropic](https://www.anthropic.com/), [Google](https://ai.google.dev/), and [Ollama](https://ollama.com/). **It is designed for instant execution in 100% local environments without complex configuration**, enabling users to fully control computing resources on their personal computer or server.
> Built with [Vercel AI SDK](https://sdk.vercel.ai) and [Next.js](https://nextjs.org/), this app adopts modern patterns for building AI chat interfaces. Leverage the power of [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) to seamlessly integrate external tools into your chat experience.
> **Our goal:** Build an AI chatbot app that is optimized for personal use and easy for anyone to run.
## Table of Contents
- [MCP Client Chatbot: Local-First AI Assistant App](#mcp-client-chatbot-local-first-ai-assistant-app)
- [Table of Contents](#table-of-contents)
- [Demo](#demo)
- [β¨ Key Features](#-key-features)
- [π Getting Started](#-getting-started)
- [Environment Variables](#environment-variables)
- [MCP Server Setup](#mcp-server-setup)
- [π‘ Use Cases](#-use-cases)
- [πΊοΈ Roadmap: Upcoming Features](#οΈ-roadmap-upcoming-features)
- [π Contributing](#-contributing)
-----
## Demo

**Tool Integration Example:** Demonstrates browser control using Microsoft's [playwright-mcp](https://github.com/microsoft/playwright-mcp).
*Prompt Example:* "Go to Reddit, open r/mcp, check the latest post and tell me what it's about β then close Reddit."
>This project comes pre-configured with microsoft/playwright-mcp as a default MCP server.
>Try running the prompt above to see it in action!
---

**Quick Tool Access:** Use the `@` symbol in the message input to quickly select and call available MCP tools.
---

**Standalone Tool Testing:** Test MCP tools independently of the chat flow for easier development and debugging.
---

**Model & Tool Selection UI:** Easily switch LLM providers and view tool status directly within the prompt input panel.
-----
## β¨ Key Features
* **π» 100% Local Execution:** Run directly on your PC or server without complex deployment, fully utilizing and controlling your computing resources.
* **π€ Multiple AI Model Support:** Flexibly switch between providers like OpenAI, Anthropic, Google AI, and Ollama.
* **π οΈ Powerful MCP Integration:** Seamlessly connect external tools (browser automation, database operations, etc.) into chat via Model Context Protocol.
* **π Standalone Tool Tester:** Test and debug MCP tools separately from the main chat interface.
* **π¬ Intuitive Mentions:** Trigger available tools with `@` in the input field.
* **βοΈ Easy Server Setup:** Configure MCP connections via UI or `.mcp-config.json` file.
* **π Markdown UI:** Communicate in a clean, readable markdown-based interface.
* **πΎ Zero-Setup Local DB:** Uses SQLite by default for local storage (PostgreSQL also supported).
* **π§© Custom MCP Server Support:** Modify the built-in MCP server logic or create your own.
## π Getting Started
This project uses [pnpm](https://pnpm.io/) as the recommended package manager.
```bash
# 1. Install dependencies
pnpm i
# 2. Initialize project (creates .env, sets up DB)
pnpm initial
# 3. Start dev server
pnpm dev
```
Visit [http://localhost:3000](http://localhost:3000) after starting the server.
-----
### Environment Variables
The `pnpm initial` command generates a `.env` file. Add your API keys there:
```dotenv
GOOGLE_GENERATIVE_AI_API_KEY=****
OPENAI_API_KEY=****
# ANTHROPIC_API_KEY=****
```
SQLite is the default DB (`db.sqlite`). To use PostgreSQL, set `USE_FILE_SYSTEM_DB=false` and define `DATABASE_URL` in `.env`.
-----
### MCP Server Setup
You can connect MCP tools via:
1. **UI Setup:** Go to http://localhost:3000/mcp and configure through the interface.
2. **Direct File Edit:** Modify `.mcp-config.json` in project root.
3. **Custom Logic:** Edit `./custom-mcp-server/index.ts` to implement your own logic.

-----
## π‘ Use Cases
* [Supabase Integration](./docs/use-cases/supabase.md): Use MCP to manage Supabase DB, auth, and real-time features.
-----
## πΊοΈ Roadmap: Upcoming Features
We're making MCP Client Chatbot even more powerful with these planned features:
* **π¨ Canvas Mode:** Real-time editing interface for LLM + user collaboration (e.g. code, blogs).
* **π§© LLM UI Generation:** Let LLMs render charts, tables, forms dynamically.
* **π Rule Engine:** Persistent system prompt/rules across the session.
* **πΌοΈ Image & File Uploads:** Multimodal interaction via uploads and image generation.
* **π GitHub Mounting:** Mount local GitHub repos to ask questions and work on code.
* **π RAG Agent:** Retrieval-Augmented Generation using your own documents.
* **π§ Planning Agent:** Smarter agent that plans and executes complex tasks.
* **π§βπ» Agent Builder:** Tool to create custom AI agents for specific goals.
π See full roadmap in [ROADMAP.md](./docs/ROADMAP.md)
-----
## π Contributing
We welcome all contributions! Bug reports, feature ideas, code improvements β everything helps us build the best local AI assistant.
Letβs build it together π