AI Task schedule planning with LLamaIndex and Timefold: breaks down a task description and schedules it around an existing calendar
This project was developed for the Hugging Face Agents MCP Hackathon!
Yuga Planner is a neuro-symbolic system prototype: it provides an agent-powered team scheduling and task allocation platform built on Gradio.
It takes a project description, breaks it down into actionable tasks through a LLamaIndex agent, then uses Timefold to generate optimal employee schedules for complex projects.
Live Demo: https://huggingface.co/spaces/blackopsrepl/yuga-planner
Source Code on GitHub: https://github.com/blackopsrepl/yuga-planner
"Create a new EC2 instance on AWS"
"Create a Svelte UI that allows me to query a postgresql database"
"Develop a chatbot UI based on Gradio"
use yuga-planner mcp tool
Task Description: [Your task description]
Yuga Planner follows a service-oriented architecture with clear separation of concerns:
Feature | Description | Status |
---|---|---|
Markdown Project Parsing | Automatic extraction of tasks from Markdown docs | ✅ |
LLM-Powered Task Analysis | LLamaIndex + Nebius AI for task decomposition & estimation | ✅ |
Constraint-Based Scheduling | Timefold optimization engine for schedule assignments | ✅ |
Skills Matching | Detection of skills required for each task | ✅ |
Task Dependencies | Sequential workflow modeling | ✅ |
Multiple Projects Support | Load and schedule multiple projects simultaneously | ✅ |
Live Log Streaming | Real-time solver progress and status updates in UI | ✅ |
Configurable Parameters | Adjustable employee count and schedule duration | ✅ |
Mock Project Loading | Pre-configured sample projects for quick testing | ✅ |
Calendar Parsing & Pinning | Extracts and preserves calendar events from .ics files at original times | ✅ |
Business Hours Enforcement | Respects 9:00-18:00 working hours with lunch break exclusion | ✅ |
Weekend Scheduling Prevention | Hard constraint preventing weekend task assignments | ✅ |
MCP Endpoint | API endpoint for MCP tool integration with calendar support | ✅ |
Chat Interface with MCP | Unified conversational AI + task scheduling interface | ✅ |
Streaming Tool Calls | Real-time processing of tool calls from Nebius API | ✅ |
Intelligent Tool Detection | Keyword-based detection for scheduling requests | ✅ |
JSON Repair & Recovery | Robust handling of malformed streaming data | ✅ |
Dual Response System | Nebius API with MCP fallback for reliability | ✅ |
Yuga Planner operates as two separate systems serving different use cases:
Purpose: Conversational AI with integrated task scheduling capabilities
.ics
calendar filesPurpose: Individual task scheduling integrated with personal calendars
.ics
calendar files + natural language task descriptionsExample MCP Usage:
User: use yuga-planner mcp tool
Task Description: Create a new EC2 instance on AWS
[Attaches calendar.ics file]
Tool Response: Optimized schedule created - EC2 setup task assigned to
available time slots around your existing meetings
The chat interface automatically detects scheduling requests using keyword analysis:
scheduling_keywords = [
'schedule', 'task', 'calendar', 'plan', 'organize',
'meeting', 'appointment', 'project', 'deadline',
'create', 'setup', 'implement', 'develop'
]
Features:
Current Limitations:
See the CHANGELOG.md for details on recent MCP-related changes.
git clone https://github.com/blackopsrepl/yuga-planner.git
cd yuga-planner
make venv
make install
make setup-secrets
# Then edit tests/secrets/cred.py to add your API credentials
make run
docker build -t yuga-planner .
docker run -p 7860:7860 yuga-planner
See requirements.txt
for full list.
This project is licensed under the Apache 2.0 License. See LICENSE.txt for details.
A server for managing gatherings and sharing expenses.
Interact with Trello boards, lists, and cards using the Trello API.
Integrate with Google Sheets to read, write, and manage spreadsheet data.
Interacting with Obsidian via REST API
A spellchecker and grammar checker for developers, requiring a Hyperspell token for authentication.
An MCP proxy bridge for the Leantime project management system, forwarding JSON-RPC messages with proper authentication.
A Model Context Protocol server for integrating HackMD's note-taking platform with AI assistants.
Manage tmux panes and execute commands within tmux sessions.
Trello integration for working with boards, lists in boards and cards in lists.
Automates marketing operations with AI-powered optimization, real-time analytics, and multi-platform integration.