Calendar Documentation

A Rust library, CLI, and MCP server for rule-based scheduling with constraints.

Quick Links

Installation

cargo build --release

CLI Usage

chronosched generate problem.json --output schedule.json
chronosched validate schedule.json
chronosched serve
chronosched list-rules

Library Usage

use chronosched::types::{Task, Resource, Problem};
use chronosched::scheduler::{GreedyScheduler, Scheduler};

let problem = Problem::new()
    .with_task(Task::new("Meeting A").duration_minutes(60))
    .with_resource(Resource::new("Alice"));

let schedule = GreedyScheduler::new().solve(&problem, &[], &[], &[])?;

MCP Server

Start the MCP server with chronosched serve. It communicates over stdio using JSON-RPC 2.0.

Supported Constraints

Hard Constraints

Soft Constraints

Supported Rules

Output Formats