This project is no longer being maintained. Iām moving on to work on something more interesting that people are actually excited about. Thanks to everyone who checked it out!
A Next.js chat application powered by LangGraph with MCP (Model Context Protocol) tools for real-time web search and data access. Features Server-Sent Events (SSE) streaming for real-time AI responses. Completely local and open source.
User Message ā LangGraph Agent ā MCP Tools (Web Search) ā LLM ā SSE Stream ā UI
# macOS
brew install ollama
# Windows/Linux
# Visit https://ollama.com for installer
ollama pull qwen3:4b
# Alternative: ollama pull qwen3:4b
ollama serve
make prod
Navigate to http://localhost:3000
Edit app/page.tsx to change the model:
const requiredModel = 'qwen3:4b';
// or 'qwen3:4b', 'llama3.1:70b', etc.
google_search)query (string)scrape)url (string)roll_dice)sides (number), count (number)make prod # Install, build, and start production server
make dev # Development server with hot reload
make clean # Clean build artifacts
make help # Show all available commands
app/
āāā components/ # React components
ā āāā ChatInterface.tsx # Main chat UI
ā āāā ChatList.tsx # Conversation sidebar
ā āāā StatusBanner.tsx # Connection status indicator
āāā langraph_backend/ # LangGraph API routes
ā āāā route.ts # Main SSE streaming endpoint
ā āāā schemas.ts # Request/response validation
ā āāā lib/ # Utilities and checkpointer
ā āāā conversations/ # Thread management API
ā āāā route.ts # List conversations
ā āāā [thread_id]/route.ts # Get/delete specific conversation
āāā mcp_server/ # MCP tool implementations
ā āāā [transport]/ # MCP protocol handler
ā ā āāā route.ts # Tool registration and routing
ā āāā tools/ # Individual tool definitions
ā ā āāā googleSearch.ts # Google search tool
ā ā āāā scrape.ts # Web scraping tool
ā ā āāā rollDice.ts # Random number generator
ā āāā search/ # Google search implementation
ā āāā scrape/ # Web scraping implementation
āāā utils/ # Shared utilities
ā āāā localStorage.ts # Browser storage helpers
āāā layout.tsx # Root layout component
āāā page.tsx # Main chat page
app/mcp_server/tools/app/mcp_server/[transport]/route.ts# Check if Ollama is running
curl http://localhost:11434/api/tags
# List installed models
ollama list
# Check model installation
ollama pull qwen3:4b
qwen3:7b or qwen3:4b for lower memory usageapp/mcp_server/tools//langraph_backend - SSE streaming chat endpointContent-Type: application/json, Accept: text/event-stream/langraph_backend/conversations - List all conversations/langraph_backend/conversations/[id] - Get specific conversation/langraph_backend/conversations/[id] - Delete conversation/mcp_server/mcp - MCP protocol endpoint for toolsgit checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)MIT License - See LICENSE file for details.