Heads up!
chat-nextjs-mcp-client
๐ฌ MCP Chatbot โ Composio + Local MCP servers
๐ Check Out My Blog Post on this Project!
I have a blog post about this project here.
Brief
Tired of building the same styled AI chatbot apps? This one's different.
It is a fully working chat interface built using Next.js, powered by Model Context Protocol (MCP), capable of connecting to both remote and local MCP servers, with tool-calling support like Cursor and Windsurf.
[!NOTE] This is just a simple demo application designed to show you how you can connect to MCP servers in Next.js (Not a production ready application)
Link to the demo: Composio hosted MCP servers, Local filesystem MCP server
๐ Features
- ๐ง Chat interface powered by AI models
- ๐ Support for both local and hosted MCP servers
- ๐ ๏ธ Tool calling (Gmail, Linear, Slack, etc.)
- ๐ Styled with Tailwind CSS + Shadcn UI
- โก Built with App Router (Next.js 14+)
๐ฆ Tech Stack
- Next.js (App Router, TypeScript)
- Tailwind CSS
- shadcn/ui
- Model Context Protocol (MCP) SDK
- Composio API (for hosted MCP server + integrations)
๐ ๏ธ Getting Started
1. Clone the repo
git clone https://github.com/your-username/chat-nextjs-mcp-client.git
cd chat-nextjs-mcp-client
2. Install dependencies
npm install
3. Configure .env
Create a .env
file in the root and add your Composio API key:
COMPOSIO_API_KEY=<your_composio_api_key>
OPENAI_API_KEY=sk-<your_openai_api_key>
๐ก You can skip this if you're only using local MCP servers.
4. Set up Composio CLI (for remote MCP)
sudo npm install -g composio-core
composio login
# Or, any other integrations you prefer.
composio add gmail
composio add linear
Confirm integrations:
composio integrations
5. Set up local file system MCP server
You are not limited to working with remotely hosted MCP servers from Composio. You can run this application entirely with locally hosted MCP servers.
[!NOTE] You can find the steps on how to set local MCP servers on the blog here: Link
๐งช Run the Dev Server
npm run dev
Visit http://localhost:3000 to start chatting!
๐ Folder Structure
.
โโโ app
โ โโโ api
โ โโโ favicon.ico
โ โโโ globals.css
โ โโโ layout.tsx
โ โโโ page.tsx
โโโ components
โ โโโ ui
โ โโโ autoresize-textarea.tsx
โ โโโ chat.tsx
โโโ lib
โ โโโ mcp-client
โ โโโ utils.ts
โโโ public
โโโ .env.example
โโโ ... (other config files)
๐ง What is MCP?
Model Context Protocol (MCP) is a protocol for connecting AI models to tools and real-time data sources.
Example Use Cases
- ๐ง Send emails
- ๐๏ธ Create GitHub issues
- ๐๏ธ Schedule meetings
- ๐ฌ Post to Slack
Read more: modelcontextprotocol.io
๐ก๏ธ License
This project is licensed under the MIT License. See the LICENSE file for more details.