{
  "name": "schedule-mcp",
  "version": "1.1.0",
  "description": "Schedule MCP — shared scheduling with backfill, forecast, conflict detection, and sampling feedback",
  "endpoints": {
    "mcp": "/mcp (Streamable HTTP — Claude Code, Codex)",
    "sse": "/sse (SSE — Cursor, ChatGPT, Claude Desktop)"
  },
  "capabilities": {
    "resources": "5 URIs (Database tier — calendars, members, units, plans, events-this-week)",
    "tools": "30 tools (Automation tier — diagnostics, list/read, full CRUD, scheduling, interop, notifications)",
    "prompts": "3 prompts (Judgment tier — analysis, conflict resolution, optimization)",
    "sampling": "3 tools use sampling (Recursive property — find_conflicts, apply_plan, export_ical)"
  },
  "framework": {
    "database": "D1-backed persistence for schedules, events, members, units, plans",
    "automation": "Plan-based backfill/forecast, RFC 5545 RRULE, conflict detection",
    "judgment": "Schedule analysis, conflict resolution, optimization prompts",
    "recursive_property": "Tools request LLM judgment via MCP sampling — Automation requesting Judgment",
    "insight": "Structured telemetry: tool traces, resource reads, sampling events"
  },
  "cross_cutting": {
    "touchpoints": "/mcp, /sse, / — MCP server surface",
    "artifacts": "Events, calendars, plans, conflicts, availability slots (Zod-validated)",
    "orchestration": "apply_plan composes backfill + forecast; cron triggers planned",
    "insight": "tracedTool wrappers, sampling request/response traces, event buffer"
  }
}