🚀 A powerful desktop app for managing long-running AI agents
Features • Quick Start • Architecture • Documentation • Contributing
- 🤖 AI Agent Management - Monitor and control long-running AI agents from a single dashboard
- ⚡ Real-time Updates - WebSocket-powered live status updates and notifications
- 🔒 Secure by Design - Firebase authentication with credential encryption
- 🖥️ Native Desktop Experience - Built with Tauri for a lightweight, fast native app
- 🌐 Cloud-Ready - Scalable backend designed for Google Cloud Run
- 📦 Monorepo Architecture - Shared schemas between frontend and backend
| Component | Technology |
|---|---|
| Desktop | Tauri v2 + React 18 + TypeScript + Vite + Tailwind |
| API | FastAPI + SQLAlchemy + Alembic (Python 3.12+) |
| Database | PostgreSQL 16 + Redis 7 |
| Deployment | Google Cloud Run |
mcontrol/
├── 📱 apps/
│ ├── desktop/ # Tauri + React frontend
│ └── api/ # FastAPI backend
├── 📦 packages/
│ └── shared/ # Shared schemas (Zod/Pydantic)
├── 📚 docs/ # Documentation
├── 🔧 infra/ # Infrastructure configs
└── 🐳 docker-compose.yml # Local dev services
Before you begin, ensure you have the following installed:
- Node.js 22+ - Download or use
nvm use - Python 3.12+ - Download
- Rust - Install
- Docker - Download
- pnpm -
npm install -g pnpm
# Clone the repository
git clone https://github.com/santthosh/mcontrol.git
cd mcontrol
# Install Node.js dependencies
pnpm install
# Install Python dependencies
cd apps/api
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
cd ../..
# Start development (Docker + API + Desktop)
make devOnce running, you should see:
- 🟢 API: http://localhost:8000/api/health returns
{"status":"ok"} - 🟢 Desktop: Native app window with "Connected" indicator
- 🟢 Docs: http://localhost:8000/api/docs for Swagger UI
# Start all services
make dev
# Start individual components
make dev-api # API server only
make dev-desktop # Desktop app only
# Code quality
make lint # Run linters (ruff + ESLint)
make typecheck # Run type checkers (pyright + tsc)
make test # Run all tests
# Database
make migrate # Run migrations
make migration # Create new migration| Document | Description |
|---|---|
| Architecture | System design and component overview |
| API Reference | REST and WebSocket API documentation |
| Contributing | Development workflow and guidelines |
| ADRs | Architecture Decision Records |
We love contributions! Please see our Contributing Guide for details.
- 🍴 Fork the repository
- 🌿 Create a feature branch (
git checkout -b feature/amazing-feature) - 💾 Commit your changes (
git commit -m 'feat: add amazing feature') - 📤 Push to the branch (
git push origin feature/amazing-feature) - 🎉 Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Tauri - For the amazing desktop framework
- FastAPI - For the high-performance API framework
- Anthropic - For Claude AI assistance
Made with ❤️ by the Mission Control team
