I have a blog post about this project here.
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
- π§ 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+)
- Next.js (App Router, TypeScript)
- Tailwind CSS
- shadcn/ui
- Model Context Protocol (MCP) SDK
- Composio API (for hosted MCP server + integrations)
git clone https://github.com/your-username/chat-nextjs-mcp-client.git
cd chat-nextjs-mcp-client
npm install
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.
sudo npm install -g composio-core
composio login
# Or, any other integrations you prefer.
composio add gmail
composio add linear
Confirm integrations:
composio integrations
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
npm run dev
Visit http://localhost:3000 to start chatting!
.
βββ 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)
Model Context Protocol (MCP) is a protocol for connecting AI models to tools and real-time data sources.
- π§ Send emails
- ποΈ Create GitHub issues
- ποΈ Schedule meetings
- π¬ Post to Slack
Read more: modelcontextprotocol.io
This project is licensed under the MIT License. See the LICENSE file for more details.