DEV Community

Tharindu Damayantha
Tharindu Damayantha

Posted on

I built an open-source, self-hostable AI customer support platform with an 81-tool MCP server (Intercom & Zendesk alternative)


Traditional customer support platforms like Intercom and Zendesk have a pricing problem that hurts modern engineering and product teams in two ways:

  1. Per-Seat Taxes ($55–$165/seat/month): Want your engineers, product managers, or founders to have access to the customer support inbox? You either pay hundreds of dollars per seat or share a single login across the company.
  2. Per-Resolution AI Taxes ($0.99/resolution): On top of your monthly seat licenses, letting an AI agent answer a customer's question costs an extra ~$1 per ticket. A viral launch or traffic spike suddenly turns into a massive bill.

I wanted a customer support platform that was open-source (MIT), self-hostable via Docker, and treated AI agents + Model Context Protocol (MCP) as first-class citizens rather than expensive add-ons.

So I built Chatty:

GitHub logo PersonaliAI / chatty

Open-source, self-hostable Zendesk and Intercom alternative for AI customer support: chat widget, shared inbox, real-time voice, Multimodal RAG, and MCP.

Chatty Chatty

Chatty by PersonaliAI

English · 简体中文 · 日本語 · Español

Open-source AI agent trained on your store and content.
Answers customer questions, captures leads, and books meetings on website, WhatsApp & Slack.

🚀 Live Demo  ·  ☁️ Chatty Cloud (Free 14-day trial)  ·  ⚡ Quickstart (5 min)  ·  📖 Documentation

Deploy to Render   Deploy on Railway

Chatty is an open-source, self-hostable Zendesk and Intercom alternative for stores and modern businesses that need autonomous AI customer support with human takeover, WooCommerce sync, and calendar scheduling.

Run the application containers on your own host while keeping Supabase Auth Postgres, Storage, and Realtime managed. The same deployment contract works on a VPS, Railway, Render, or another Docker host without touching the live Supabase project.

License: MIT CI GDPR Compliant Next.js FastAPI Supabase MCP Docker PRs Welcome

Chatty Cloud (hosted) · Documentation · Data Processing (DPA) · Sub-processors · Performance Scorecard · Flow Builder · Widget Embed · Secure customer identity · Quick Start · Platform Runbook · MCP Server · AI…

🔗 GitHub Repo: https://github.com/PersonaliAI/chatty

🌐 Live Demo & Cloud: https://chatty.personaliai.com


🏗️ What We Built Under the Hood

Chatty isn't just a thin wrapper around an LLM prompt. It's a full-stack customer operations platform designed for real production workloads:

1. An 81-Tool Model Context Protocol (MCP) Server

Most support platforms force you to click through dozens of dashboard menus to update knowledge bases, check unanswered tickets, or inspect CSAT trends.

Chatty ships with a native 81-tool MCP server (integrations/mcp-server). You can connect Claude Desktop, Cursor, Windsurf, or any MCP client and control your entire support operation from your IDE or AI workspace:

  • Create & configure chatbots (create_chatbot, update_chatbot_instructions, configure_guardrails)
  • Ingest & test RAG knowledge (crawl_website_knowledge, upload_knowledge_document, test_rag_retrieval)
  • Manage the live inbox (list_conversations, get_conversation_transcript, human_agent_takeover, send_agent_message)
  • Discover knowledge gaps & audit performance (discover_knowledge_gaps, get_bot_performance_scorecard)
{
  "mcpServers": {
    "chatty": {
      "command": "npx",
      "args": ["-y", "@personaliai/chatty-mcp"],
      "env": {
        "CHATTY_API_KEY": "ck_live_your_api_key"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

2. Multimodal RAG + Live E-Commerce Catalog Sync

Standard text-only RAG fails when a customer uploads a screenshot of a broken UI, a receipt, or a photo of a product they want to buy.

Chatty uses PostgreSQL + pgvector with multimodal embeddings:

  • Website & Document Ingestion: Crawl docs, sitemaps, help center articles, PDFs, DOCX, CSV, and Google Drive/Dropbox folders.
  • WooCommerce & Product Catalogs: Syncs live product inventory, pricing, variations, and product images so visitors can search visually or ask "Do you have this in medium under $50?"
  • Deterministic Citations: Every AI reply links back to the exact source document or product card.

3. Shared Human + AI Inbox (With Instant Takeover)

AI shouldn't trap customers in an endless loop when they need a human.

  • Automatic Escalation: When a visitor asks for a human—or when sentiment drops—Chatty triggers a notification via Slack, Email, or the Shared Web Inbox.
  • Seamless Pause: The moment a human agent replies (either from the Chatty dashboard or directly from a Slack thread), the AI assistant automatically pauses for that session.
  • Omnichannel Routing: Handle conversations from the Shadow-DOM Web Widget, WhatsApp, Instagram DM, Facebook Messenger, and TikTok Business in one unified inbox.

4. In-Chat Meeting Booking & Native Checkouts

Instead of sending users away to external links where they drop off, Chatty executes actions directly inside the chat thread:

  • Calendar Sync: Connects to Google Calendar and Microsoft 365 / Outlook to check real-time team availability and book meetings with timezone auto-detection.
  • In-Chat Payments: Generate checkout cards inside the conversation using Stripe, Lemon Squeezy, PayPal, or Polar.

5. Visual State-Machine Flow Builder

Sometimes you want free-form LLM reasoning; other times (like refund eligibility or order lookups) you need strict, deterministic rules.

Chatty includes a visual node-based Flow Builder where you can combine:

  • Condition & branching nodes
  • Webhook / HTTP request nodes
  • Lead capture & identity verification nodes
  • Guardrailed AI response nodes

🛠️ The Tech Stack

We kept the stack clean, modern, and easy to self-host:

  • Backend: Python 3.11+, FastAPI, Asyncio, Pydantic
  • Database & Vector Store: Supabase (PostgreSQL + pgvector + Realtime + Storage)
  • Frontend: Next.js (App Router), TypeScript, Tailwind CSS
  • Widget & SDKs:
    • Zero-conflict Shadow-DOM Web Widget (<script> 1-line embed)
    • React SDK (@personaliai/chatty-react)
    • Flutter SDK (chatty_flutter)
    • WordPress & WooCommerce plugin

🚀 How to Try It or Self-Host

Option 1: Self-Host via Docker (100% Free & Open Source)

Chatty is MIT licensed. You can run the entire stack on your own infrastructure and bring your own API keys (Google Gemini, OpenAI, Anthropic Claude, Groq, DeepSeek, or OpenRouter):

git clone https://github.com/PersonaliAI/chatty.git
cd chatty
cp .env.example .env
docker compose up --build
Enter fullscreen mode Exit fullscreen mode

Option 2: Try the Live Demo or Cloud Hosted

If you don't want to manage servers, vector indexes, and webhook workers yourself:

  • Live Interactive Demo: https://chatty.personaliai.com (Test the widget right on the landing page)
  • Flat-Rate Cloud Plans: Unlimited team seats on every tier (no per-agent or per-resolution fees), starting with a 14-day free trial.

🙏 Feedback & Contributions Welcome!

We're actively building out more MCP capabilities, omnichannel adapters, and RAG evaluation tools.

If you find this useful, a ⭐️ on GitHub helps us a ton:
👉 https://github.com/PersonaliAI/chatty

I'd love to hear your thoughts in the comments:

  • How are you currently handling AI customer support or RAG in production?
  • What MCP tools or integrations would make your workflow easier?

Top comments (0)