Jules MCP Server
# Julius Hub
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/release/python-3110/)
[](https://fastapi.tiangolo.com/)
[](https://reactjs.org/)
[](https://tailwindcss.com/)
[](https://github.com/orgs/cavuminfundo/packages)
## Overview
Julius Hub is an autonomous Junior AI Coder Runner and Tech Lead Cockpit designed to streamline the development process. It follows the Junior/Senior Coder pattern, where Junior personas (Bolt, Palette, Sentinel) execute isolated worktree tasks under 50 lines of code. The Senior Tech Lead supervises, reviews diffs, approves/discards changes, or escalates to the Antigravity IDE via the Chrome DevTools Protocol (CDP) Bridge on port 9000.
## Architecture and Core Components
### Hub Components
- **hub/scanner.py**: Discovers registered repositories.
- **hub/worktree_manager.py**: Manages zero-dirty git worktrees in `/home/federico/jules/worktrees/<repo>-<mode>`.
- **hub/engine_router.py**: Routes tasks to different engines:
- **Flash**: Cloud Gemini Flash.
- **Local**: Local Ollama RTX 5070 Ti (`http://localhost:11434`).
- **Hybrid**: Local pre-screening + Cloud execution with fallback.
- **hub/cdp_bridge.py**: Handles Chrome DevTools Protocol (CDP) bridge for 1-click escalation to Antigravity Senior Coder.
- **hub/app.py**: FastAPI backend on port 4100, serving Server-Sent Events (`/api/events`) for real-time telemetry.
### UI Components
- **ui/**: React + Vite + Tailwind Dark Cockpit served on port 4100.
### CLI Entry Point
- **curator.py**: Provides CLI commands for `run`, `fix-ci`, `knowledge`, `list`, `status`, and `cleanup`.
## Quickstart and Docker Deployment
To deploy Julius Hub using Docker, follow these steps:
1. **Create a `compose.yaml` file**:
```yaml
version: '3.8'
services:
julius-hub:
image: ghcr.io/cavuminfundo/julius-hub:latest
network_mode: host
environment:
- PORT=4100
- CDP_PORT=9000
- OLLAMA_HOST=http://localhost:11434
```
2. **Run the Docker Compose command**:
```bash
docker-compose up -d
```
## Local Development and Testing
For local development and testing, use the following commands:
1. **Sync dependencies**:
```bash
uv sync
```
2. **Run tests**:
```bash
uv run pytest tests/ -q
```
3. **Start the FastAPI backend**:
```bash
uv run uvicorn hub.app:app --host 0.0.0.0 --port 4100
```
## License
Julius Hub is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
---
**Note**: Ensure that all dependencies and configurations are correctly set up before running the application.TDQS
Scored across 13 tools
Several tools have unclear boundaries, especially list_activities vs list_all_activities and list_sources vs get_all_sources, which appear to perform nearly the same listing operation with only subtle pagination differences. Descriptions do not clearly explain when to choose one over the other.
Most names follow a consistent snake_case verb_noun pattern (list_sessions, get_session, create_session, delete_session). Minor deviations exist: get_all_sources uses 'get' for a list operation, and list_all_activities/list_activities plus list_sources/get_all_sources introduce inconsistent list vs get_all phrasing.
13 tools is reasonable for a session/activity/source management server. However, the redundant auto-pagination variants slightly inflate the count, meaning not every tool clearly earns its place.
Core session lifecycle is covered with create, get, list, delete, bulk cleanup, plan approval, and messaging. Activities and sources are read/list-oriented, which may be appropriate if they are externally managed, but there is no update or termination operation beyond delete.