Yuga Planner

by blackopsrepl

Not rated
GitHub

About

AI Task schedule planning with LLamaIndex and Timefold: breaks down a task description and schedules it around an existing calendar

Details

Author
blackopsrepl
Categories
Productivity, Community, Other

Setup

Install Yuga Planner in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/blackopsrepl/yuga-planner

Follow the installation instructions in the repository README, then restart your MCP client.

title: Yuga Planner emoji: 🐍 colorFrom: purple colorTo: gray sdk: docker app_port: 7860 license: apache-2.0 tags: ["agent-demo-track"]

This project was developed for theHugging Face Agents MCP Hackathon!

Yuga Planner is a neuro-symbolic system prototype: it provides an agent-powered team scheduling and task allocation platform built onGradio.

It takes a project description, breaks it down into actionable tasks through aLLamaIndexagent, then usesTimefoldto 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
- Navigate to the Chat tabin the Gradio interface
- Upload your calendar file (.ics)to provide existing commitments (optional)
- Type your scheduling requestusing natural language:

"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"

- In any MCP-compatible chatbot or agent platform:

use yuga-planner mcp tool Task Description: [Your task description]

Yuga Planner follows aservice-oriented architecturewith clear separation of concerns:

- DataService:Handles data loading, processing, and format conversion from various sources (Markdown, calendars)
- ScheduleService:Orchestrates schedule generation, solver management, and solution polling
- StateService:Centralized state management for job tracking and schedule storage
- LoggingService:Real-time log streaming for UI feedback and debugging
- MockProjectService:Provides sample project data for testing and demos
- MCPClientWrapper:Manages MCP server functionality and tool definitions

- ToolCallAssembler:Processes streaming tool call deltas from Nebius API into complete tool calls
- ToolCallProcessor:Executes completed tool calls via MCP backend with JSON repair functionality
- Chat Interface:Unified conversational AI + task scheduling with intelligent tool detection
- Streaming Handler:Real-time response processing with progress indicators and error recovery

- Gradio UI:Modern web interface with real-time updates and interactive schedule visualization
- Task Composer Agent:UsesLLamaIndex+Nebius AIfor intelligent task decomposition and estimation
- Constraint Solver:
Timefoldoptimization engine for optimal task-to-employee assignments
- MCP Integration:Model Context Protocol endpoint for agent workflow integration

Yuga Planner operates astwo separate systemsserving different use cases:

Purpose:Conversational AI with integrated task scheduling capabilities

- Access:Chat tab in the Gradio interface
- Input:Natural language requests + optional.icscalendar files
- Features:

- Intelligent tool detection based on scheduling keywords
- Streaming responses with real-time tool call assembly
- Rich table formatting for schedule results
- Dual response system (Nebius API + MCP fallback)

Purpose:Individual task scheduling integrated with personal calendars

- Access:Through MCP-compatible chatbots and agent platforms
- Input:Attach.icscalendar files + natural language task descriptions
- Team:Schedules against yourpersonal calendarand existing commitments
- Use Case:Personal productivity and task planning around existing appointments

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' ]

- Delta Assembly:Collects 200+ streaming deltas into complete tool calls
- JSON Repair:Handles malformed JSON from streaming responses
- Progress Indicators:Real-time feedback during tool processing
- Timeout Protection:60-second timeout for MCP operations

- Primary:Nebius API with tool calling capabilities
- Fallback:Direct MCP backend invocation when tool assembly fails
- Error Recovery:Comprehensive error handling and graceful degradation

- Accepts calendar files and user task descriptions via chat interface
- Parses existing calendar events and new task requirements
- Full schedule solving support- generates optimized task assignments
- Returns complete solved schedules integrated with personal calendar
- Designed for seamless chatbot and agent workflow integration

- Multi-timezone support:Currently operates in a single timezone context with UTC conversion for consistency. Calendar events from different timezones are normalized to the same scheduling context.

See theCHANGELOG.mdfor details on recent MCP-related changes.

- 🔧 Gradio UI overhaul:Enhanced user experience and visual improvements
- 🔍 Migration to Pydantic models:Type-safe data validation and serialization
- ⚡ Enhanced timezone support:Multi-timezone calendar integration for international scheduling

- Unified scheduling enginethat can handle both team management and personal productivity in one interface
- Hybrid workflowswhere personal tasks can be coordinated with team projects
- Cross-system data sharingbetween web demo projects and personal MCP calendars
- Seamless switchingbetween team management and individual task planning modes

- Multi-Tool Support:Extend chat interface to support additional MCP tools beyond scheduling
- Calendar Integration:Direct calendar service integration (Google, Outlook)
- Performance Optimization:Enhanced streaming assembly for large tool calls
- RAG:validation of task decomposition and estimation against industry relevant literature
- More granular task dependency:representation of tasks in a DAG instead of a list to allow overlap within projects, where feasible/convenient
- Input from GitHub issues:instead of processing markdown directly, it creates a list by parsing issue
- Reinforcement learning:training the agent to improve task decomposition and estimation from GitHub history (e.g. diffs in timestamps, issue comments etc.)

- Python 3.10
- Java 17+
- Docker (optional, for containerized deployment)
- Nebius API credentials (for LLM-powered features)
- Clone the repository:

git clone https://github.com/blackopsrepl/yuga-planner.git cd yuga-planner
make setup-secrets # Then edit tests/secrets/cred.py to add your API credentials

- Build the image:

docker build -t yuga-planner .

This project is licensed under the Apache 2.0 License. SeeLICENSE.txtfor details.

- Hugging Face
-
Gradio
-
Nebius LLM
-
llama-index
-
Timefold

AnkiConnect MCP server for interacting with Anki via AnkiConnect.

An MCP Server Integration with Apple Shortcuts

Add smart Backup ability to coding agents like Windsurf, Cursor, Cluade Coder, etc

This server enables LLMs to use calculator for precise numerical calculations.

A CalDAV MCP server to expose calendar operations as tools for AI assistants.

MCP server for easy access to education data through your Canvas LMS instance.

Tools to the query and execute of Dify workflows

Excel manipulation including data reading/writing, worksheet management, formatting, charts, and pivot table

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.