UStackUStack
chat icon

chat

chat è un client AI per chat generiche con server MCP esterno: risposte in streaming, Markdown e supporto input/output immagini.

chat

Cos'è chat?

chat è un client AI per chat generiche progettato per funzionare con il server MCP di un servizio. Fornisce un'interfaccia in linguaggio naturale che può connettersi a un server MCP esterno e interagire con i suoi strumenti, indipendentemente dal dominio (ad esempio consegne, prenotazioni o gestione attività).

Il progetto è realizzato come applicazione Next.js App Router e si concentra sui dettagli pratici di UI e integrazione necessari per esperienze di chat: connessione agli strumenti via MCP, risposte in streaming, cronologia messaggi e supporto per contenuti multimodali come input di immagini e output dell'assistente basati su Markdown.

Caratteristiche principali

  • Integrazione strumenti MCP via Streamable HTTP: si connette a un server MCP esterno, configurato tramite MCP_URL (qualsiasi backend) o MCP_APPS_URL (TypeScript + UI integrata); l'app rifiuta entrambe le impostazioni a runtime.
  • Risposte AI in streaming con indicatori di digitazione in tempo reale: l'output dell'assistente viene trasmesso man mano che viene generato, anziché tutto in una volta.
  • Rendering Markdown per messaggi dell'assistente: i messaggi dell'assistente sono resi come Markdown, inclusi tabelle, elenchi, blocchi di codice e link.
  • Allegati immagini con ritaglio prima dell'invio: gli utenti possono allegare immagini, sono invitati a ritagliarle prima dell'invio e l'immagine viene compressa e caricata solo al momento dell'invio (per evitare caricamenti prematuri).
  • Supporto output immagini LLM: l'assistente può includere immagini nelle risposte usando la sintassi Markdown standard come ![alt](url); le immagini si visualizzano come card quadrate con skeleton lazy-loading e si aprono a grandezza intera al clic.
  • Cronologia conversazioni con paginazione basata su cursore: la cronologia chat persistente viene recuperata in pagine con comportamento di scroll infinito.
  • Supporto autenticazione e localizzazione: email/password con verifica, reset e Google OAuth; rilevamento locale da geolocalizzazione IP (IPinfo Lite) con fallback su Accept-Language, e impostazione utente sovrascrivibile.

Come usare chat

  1. Avvia l'applicazione (vedi prerequisiti) e crea un file .env.local nella root del progetto.
  2. Configura le impostazioni di connessione MCP usando MCP_URL o MCP_APPS_URL (sceglierne una). Opzionalmente imposta variabili di branding e contesto persona come NEXT_PUBLIC_APP_NAME e APP_PERSONA_CONTEXT.
  3. Accedi usando i metodi di autenticazione supportati.
  4. Inizia una conversazione nell'interfaccia chat. L'assistente può trasmettere risposte in streaming e chiamare strumenti MCP esposti dal tuo server MCP.
  5. Se abiliti limiti messaggi (WEEKLY_MESSAGE_LIMIT), l'UI mostra un avviso quando la quota residua è bassa e blocca ulteriori invii quando esaurita.

Casi d'uso

  • Assistente consegne o spedizioni: connettiti a un server MCP per consegne per aiutare gli utenti a coordinare richieste e follow-up tramite workflow conversazionale.
  • Prenotazioni manutentori: connetti un server MCP per prenotazioni manutentori così l'assistente può guidare gli utenti nei task e raccogliere dettagli richiesti via chiamate strumenti.
  • Interfaccia gestione attività: usa un server MCP per gestione task per tradurre linguaggio naturale in azioni eseguite dal tuo backend.
  • Assistenza multimodale con immagini: carica un'immagine (ritagliala prima dell'invio) e chiedi all'assistente di analizzarla o integrarla in un workflow; supporta anche risposte dell'assistente con card immagini.
  • Supporto multilingua per team: affidati al rilevamento locale integrato e al sistema i18n personalizzato per localizzare stringhe UI e prompt AI di sistema per lingue come EN, ID, KR, JP, ES, ZH, DE, NL, FR e IT.

FAQ

Quali configurazioni MCP supporta l'app?

L'app supporta la connessione a un server MCP. Usa MCP_URL o MCP_APPS_URL. Impostare entrambe viene rifiutato a runtime.

Come vengono consegnate le risposte AI nell'UI?

Le risposte vengono trasmesse in tempo reale, con indicatori di digitazione mostrati durante la generazione.

Gli utenti possono inviare immagini e l'assistente può mostrarle?

Sì. Gli utenti possono allegare immagini tramite flusso ritaglio-prima-invio; le immagini vengono compresse e caricate solo quando il messaggio è inviato. L'assistente può anche incorporare immagini nelle sue risposte usando la sintassi Markdown per immagini.

La cronologia chat viene salvata?

Sì. L'app mantiene una cronologia conversazioni persistente e usa paginazione basata su cursore con scroll infinito.

Ci sono limiti sul numero di messaggi inviabili?

Opzionalmente, un limite settimanale per utente può essere configurato con WEEKLY_MESSAGE_LIMIT. Quando abilitato, l'UI avvisa quando il conteggio residuo è basso e restituisce un blocco 429 quando esaurito.

Alternative

  • App web per chat AI generiche senza integrazione strumenti MCP: si concentrano su chat basate su prompt ma non offrono una connessione strutturata al protocollo degli strumenti del backend del tuo servizio.
  • Implementazioni client MCP personalizzate (UI/stack diversi): puoi creare un altro client per il tool calling MCP, ma il workflow e le funzionalità (gestione immagini, cronologia messaggi, localizzazione) potrebbero differire.
  • Soluzioni RAG/chat incentrate sul retrieval anziché sul tool calling: sono orientate alla ricerca di conoscenze e grounding documentale invece che all'orchestrazione di azioni tramite strumenti MCP.
  • Interfacce chat multimodali generiche: supportano input/output immagini, ma potrebbero non includere lo stesso workflow guidato da MCP per connettersi agli strumenti di servizi esterni.
chat | UStack