Chat is a versatile AI chat interface built with Next.js App Router, AI SDK v6, and Prisma v7, designed to connect with any MCP (Model Context Protocol) server. It serves as a natural language frontend for various services—such as delivery platforms, handyman booking systems, or task management tools—enabling users to interact with domain-specific functionalities through conversational AI.
Key features include:
- MCP Tool Integration: Connects to external MCP servers via Streamable HTTP, supporting both generic backends and TypeScript-based MCP Apps with embedded UI.
- Streaming AI Responses: Real-time LLM output with typing indicators and Markdown rendering for tables, lists, code blocks, and links.
- Image Attachments: Users can attach images with mandatory cropping before upload; images are compressed and stored in Cloudflare R2 only upon sending.
- Location Sharing: Offers two modes—browser geolocation (v1) and Google Places search with interactive maps (v2).
- Conversation History: Persistent chat history with cursor-based pagination and infinite scroll.
- Authentication: Supports email/password with verification, password reset, and Google OAuth via Better Auth.
- Internationalization: Lightweight custom locale system covering UI strings and AI system prompts across 10 languages, with auto-detection via IP geolocation.
- Background Jobs: Automated cleanup of orphaned images and old conversations using Trigger.dev.
- Weekly Message Limits: Optional per-user quotas to manage usage and prevent abuse.
Tech stack includes React 19, Tailwind CSS v4, shadcn/ui, and supports nine LLM providers (OpenAI, Anthropic, Azure, AWS Bedrock, etc.). The app is highly configurable for deployment, with environment variables for branding, AI persona context, and locale settings, making it suitable for multiple deployments from a single codebase.