Welcome to Astrocal
The scheduling API built for AI agents and developers.
Astrocal is an API-first scheduling platform. Add calendar booking to any application with a few API calls — or let AI agents schedule meetings via MCP.
Quick Links
- Quickstart — Book your first meeting in 5 minutes
- Authentication — Set up API access
- MCP Integration — Connect AI agents to Astrocal
- React SDK — React provider, hooks, and widget component
- Embeddable Widget — Drop-in booking widget for any website
- API Reference — Full endpoint documentation
Packages
Astrocal provides three npm packages depending on your integration approach:
| Package | Description | Links |
|---|---|---|
@astrocal/mcp-server | MCP server for AI agents | npm · GitHub |
@astrocal/react | React SDK with provider, hooks, and widget component | npm · GitHub |
@astrocal/widget | Embeddable booking widget (vanilla JS) | npm · GitHub |
How It Works
- Create an organization — Your tenant in Astrocal
- Define event types — Meeting templates with duration, availability rules, and buffer times
- Connect Google Calendar — Astrocal reads busy times and writes new events
- Accept bookings — Via the REST API or MCP server
Key Concepts
Event Types are templates for bookable meetings. Each has a duration, availability rules (weekly recurring windows), optional buffer time between meetings, and optional booking caps to limit how many bookings can be made per period.
Availability Rules define when an event type can be booked. They're weekly recurring windows (e.g., Monday 9am-5pm) in a specific timezone.
Bookings are confirmed meetings. When created, Astrocal checks availability, prevents double-booking, and optionally creates a Google Calendar event.
MCP Server lets AI agents check availability and book meetings using the Model Context Protocol. It wraps the same REST API that developers use directly.
Embeddable Widget is a drop-in booking UI for any website. One script tag gives you a full calendar, time slot picker, and booking form — with Shadow DOM isolation and CSS theming.