Flutter MCP Client — a Claude AI desktop interface built with Flutter, following Clean Architecture principles and powered by a modular monorepo using Melos. This application demonstrates the implementation of the Model Context Protocol (MCP) for rich AI-driven interactions.
- 🖥️ Desktop-first Flutter app
- 🧼 Clean Architecture with modular monorepo
- 📦 State management using Flutter Bloc
- 🔌 MCP client/server implementation for interacting with Gemini
- 💬 Chat interface with real-time stream updates
- ⚙️ Add, edit, and manage MCP servers
- 🧠 Built-in AI and function-calling support
- 🎨 Custom widgets and clean UI
This repository is organized using the monorepo approach with Melos:
apps/ # Main Flutter applications
external/ # External SDKs or libraries (e.g., LLM Kit)
packages/ # Feature-specific packages (Clean Architecture layers)
flutter_mcp_entities: Data models for AI, Chat, and MCPflutter_mcp_datasources: Local and remote data handlingflutter_mcp_repositories: Repositories for dependency injectionflutter_mcp_usecases: Use cases implementing core logicflutter_mcp_state: BLoC/Cubit state managementflutter_mcp_widgets: Custom reusable UI components
Ensure the following tools are installed:
-
Flutter SDK
-
Dart SDK
-
Melos (Monorepo manager):
dart pub global activate melos
# Clone the repository
git clone https://github.com/your-org/flutter_mcp.git
cd flutter_mcp
# Bootstrap all packages
melos bootstrap
# Navigate to app directory
cd apps/flutter_mcp
# Launch for your platform
flutter run -d windows
flutter run -d macos
flutter run -d linux
melos run test
Each package in packages/ encapsulates a specific layer or feature:
| Package | Description |
|---|---|
flutter_mcp_entities |
Domain models and entities |
flutter_mcp_datasources |
Local persistence and data sources |
flutter_mcp_repositories |
Abstraction layer for domain repositories |
flutter_mcp_usecases |
Business logic and user interactions |
flutter_mcp_state |
Cubit/Bloc-based state management |
flutter_mcp_widgets |
Custom UI components |
- Utilizes fonts like Copernicus and StyreneB
- Responsive layouts and custom theming
- Reusable form fields, chat bubbles, connection indicators
This app implements an MCP (Model Context Protocol) client, enabling AI interactions through structured messages, tool calling, and content embedding.
Supported features include:
- Streaming chat updates
- Tool registration and invocation
- Embedded content handling (text, images, resources)
- Connection lifecycle management
We welcome contributions! To get started:
melos bootstrap
melos run analyzePlease submit issues or pull requests on GitHub.
MIT License