chat-nextjs-mcp-client

SAโ€ขView on GitHubโ€ขMay 3, 2025
ai
composio
mcp
nextjs
openai

๐Ÿ’ฌ 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.