UStackUStack
chat icon

chat

chatはMCPサーバーに接続する汎用AIチャットクライアント。自然言語で対話でき、ストリーミング応答やMarkdown表示、画像入出力対応。

chat

chatとは?

chatは、サービスのMCPサーバーと連携する汎用AIチャットクライアントです。外部MCPサーバーに接続し、自然言語インターフェースでツールと対話可能。ドメイン(例: 配送、予約、タスク管理)を問わず対応します。

プロジェクトはNext.js App Routerアプリケーションとして構築され、チャット体験に必要な実用的UIと統合機能に焦点:MCP経由のツール接続、ストリーミング応答、メッセージ履歴、画像入出力などのマルチモーダルコンテンツ対応。

主な機能

  • Streamable HTTP経由のMCPツール統合:1つの外部MCPサーバーに接続。MCP_URL(任意バックエンド)またはMCP_APPS_URL(TypeScript + 埋め込みUI)のいずれかで設定。両方を設定するとランタイムで拒否。
  • リアルタイムタイピングインジケーター付きストリーミングAI応答:アシスタント出力は生成中にストリーミング。
  • アシスタントメッセージのMarkdown表示:テーブル、リスト、コードブロック、リンクを含むMarkdownでレンダリング。
  • 送信前トリミング付き画像添付:画像添付後トリミングを促し、送信時のみ圧縮・アップロード(早期アップロード回避)。
  • LLM画像出力対応:アシスタント応答に![alt](url)などの標準Markdown構文で画像埋め込み。四角カード表示(遅延ロードスケルトン付き)、クリックで拡大。
  • カーソルベースページネーション付き会話履歴:永続履歴を無限スクロールでページ取得。
  • 認証・ローカライズ対応:メール/パスワード(検証・リセット)、Google OAuth;IPジオロケーション(IPinfo Lite)+Accept-Languageフォールバックによるロケール検出、ユーザー設定で上書き可能。

chatの使い方

  1. アプリケーションを実行(前提条件参照)、プロジェクトルートに.env.localファイルを作成。
  2. MCP_URLまたはMCP_APPS_URL(いずれか1つ)でMCP接続を設定。オプションでNEXT_PUBLIC_APP_NAMEAPP_PERSONA_CONTEXTなどのブランディング・ペルソナ変数を設定。
  3. 対応認証方法でサインイン。
  4. チャットUIで会話を開始。アシスタントは応答ストリーミングとMCPサーバー公開ツール呼び出しが可能。
  5. メッセージ制限(WEEKLY_MESSAGE_LIMIT)を有効化すると、残クォータ低時警告表示、枯渇時は送信ブロック。

ユースケース

  • 配送・出荷アシスタント:配送関連MCPサーバー接続で、会話ワークフローによるリクエスト調整・フォローアップ支援。
  • ハンディマン予約:ハンディマン予約MCPサーバー接続で、タスクガイドとツール呼び出しによる詳細収集。
  • タスク管理インターフェース:タスク管理MCPサーバーで自然言語をバックエンドアクションに変換。
  • 画像付きマルチモーダル支援:画像アップロード(送信前トリミング)で分析・ワークフロー組み込み依頼;アシスタント応答の画像カード対応。
  • チーム向け多言語対応:組み込みロケール検出・カスタムi18nでUI文字列とAIシステムプロンプトをEN, ID, KR, JP, ES, ZH, DE, NL, FR, ITなどにローカライズ。

FAQ

アプリが対応するMCP設定は?

1つのMCPサーバー接続対応。MCP_URLまたはMCP_APPS_URLのいずれかを使用。両方設定はランタイムで拒否。

UIでのAI応答配信方法は?

リアルタイムストリーミング。生成中にタイピングインジケーター表示。

ユーザーが画像送信可能?アシスタントが画像表示可能?

はい。送信前トリミングフローで画像添付、送信時のみ圧縮・アップロード。アシスタントはMarkdown画像構文で応答に埋め込み。

チャット履歴は保存される?

はい。永続会話履歴を維持し、カーソルベースページネーション+無限スクロールで取得。

メッセージ送信数に制限は?

オプションでWEEKLY_MESSAGE_LIMITによるユーザー別週制限設定可能。有効時、残数低で警告、枯渇時は429ブロック。

代替案

  • MCPツール統合なしの汎用AIチャットWebアプリ:プロンプトベースのチャットに焦点を当てますが、サービスバックエンドへの構造化ツールプロトコル接続を提供しません。
  • カスタムMCPクライアント実装(UI/スタックが異なる):MCPツール呼び出し用の別のクライアントを構築できますが、ワークフローや機能(画像処理、メッセージ履歴、ローカライズ)が異なる可能性があります。
  • ツール呼び出しではなく検索中心のRAG/チャットソリューション:知識検索とドキュメントグラウンディングに特化しており、MCPツールによるアクションオーケストレーションではありません。
  • 汎用マルチモーダルチャットインターフェース:画像入出力をサポートしますが、外部サービスツールへのMCP駆動ワークフローが同じとは限りません。
chat | UStack