Stars
93
Forks
16
Language
TypeScript
Watching
1
A Tiny Web Chat App for AI Models with MCP Client Support
A web-based graphical interface for AI chat interactions with support for multiple AI models and powerful MCP (Model Context Protocol) integrations. Beyond standard chat capabilities, y-gui leverages MCP to connect with Gmail, Google Calendar, image generation services, and more.
Check out y-cli for a CLI version.
See how y-gui uses MCP integrations to extend AI capabilities:
y-gui consists of two main components:
flowchart TD
Client[React Client] --> Worker[Cloudflare Worker]
Worker --> R2[Cloudflare R2]
Worker --> AI[AI Providers]
subgraph "Frontend"
Client --> Components[React Components]
Components --> State[SWR State]
State --> API[API Layer]
end
subgraph "Backend"
Worker --> Auth[Auth Middleware]
Worker --> Storage[Storage Layer]
Worker --> Provider[Provider Layer]
end
Clone the repository:
git clone https://github.com/luohy15/y-gui.git
cd y-gui
Install dependencies:
npm install
Configure environment variables:
backend/wrangler.toml
frontend/src/index.tsx
and backend/src/utils/auth.ts
Build asset:
npm run build
Deploy cloudflare worker
npm run deploy
y-gui/
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── contexts/ # React contexts
│ │ ├── utils/ # Utility functions
│ │ └── index.tsx # Entry point
├── backend/ # Cloudflare Worker backend
│ ├── src/
│ │ ├── api/ # API endpoints
│ │ ├── middleware/ # Middleware
│ │ ├── repository/ # Data access
│ │ └── index.ts # Worker entry
├── shared/ # Shared code between frontend and backend
│ └── types/ # TypeScript type definitions
└── memory-bank/ # Project documentation
npm run dev
: Start both frontend and backend development serversnpm run dev:frontend
: Start only the frontend development servernpm run dev:backend
: Start only the backend development servernpm run build
: Build both frontend and backendnpm run deploy
: Deploy the backend to Cloudflare Workersnpm run test
: Run testsy-gui uses Auth0 for authentication with the following features:
y-gui supports multiple bot configurations with the following properties:
MCP (Model Context Protocol) servers can be configured with simple:
Current MCP integrations include Gmail, Google Calendar, image generation, and support for custom servers to connect with virtually any API or service.
The backend provides RESTful API endpoints for:
For more detailed documentation, see the memory-bank directory.
Visit the deepwiki page for comprehensive project documentation and guides.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
How is this guide?