
Astrocal
dev.astrocalPublished by astrocal.devOfficial publisherv0.1.6Updated Oct 24, 2026
AI-native scheduling: check availability, book meetings, cancel and reschedule via MCP
Overview
Astrocal's official MCP server lets an AI assistant check availability, book, cancel and reschedule meetings, and manage waitlists on the Astrocal scheduling…
- What you can do
- Check available time slots for an event type within a date range and timezone
- Create, cancel and reschedule bookings, and list bookings filtered by status or event type
- List the event types that can be booked
- Join a waitlist when slots are full and check a waitlist entry's position
- When to use it
- Use it when you want an assistant to handle scheduling conversationally against real calendar availability synced from Google Calendar, Microsoft 365 or CalDAV, including paid consultations through Stripe Connect.
- Requirements
- Either the remote endpoint or the local npm package @astrocal/mcp-server run with npx or installed globally; an Astrocal account and API key supplied as ASTROCAL_API_KEY; OAuth authentication is declared. Optional ASTROCAL_API_URL and ASTROCAL_DEFAULT_EVENT_TYPE_ID variables. Network access to the Astrocal API.
Installation
In SourceWeft
- Open Astrocal in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/dev.astrocal%2Fmcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"astrocal": {
"type": "http",
"url": "https://api.astrocal.dev/mcp"
}
}
}README
@astrocal/mcp-server
Give your AI agents the power to schedule meetings. The official Model Context Protocol server for Astrocal — the API-first scheduling platform built for developers and AI agents.
Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client. Your AI assistant can check availability, book meetings, cancel, reschedule, and manage waitlists — all through natural conversation.
Get your API key | Documentation | API Reference
Why Astrocal for AI Agents?
- Purpose-built for AI — Not a Calendly bolt-on. Astrocal's scheduling API was designed from day one for programmatic and AI-agent access.
- 8 tools, zero config — Check availability, book, cancel, reschedule, list event types, manage waitlists. Everything an agent needs.
- Calendar sync built in — Connects to Google Calendar, Microsoft 365, and CalDAV. Your agent books against real availability.
- Payments included — Stripe Connect integration means your agent can book paid consultations, not just free meetings.
- Sandbox mode — Test with
ac_test_*keys. No emails sent, no calendar events created, no charges made.
Quick Start
Claude Desktop
Add to your claude_desktop_config.json:
Restart Claude Desktop and the scheduling tools will be available immediately.
Other MCP Clients
Install globally:
Run:
Environment Variables
Available Tools
check_availability
Check available time slots for booking.
event_type_id(string, optional) — Event type to check. Optional ifASTROCAL_DEFAULT_EVENT_TYPE_IDis set.start_date(string, required) — Start date in ISO 8601 format (e.g.,2026-03-15)end_date(string, required) — End date in ISO 8601 format (e.g.,2026-03-22)timezone(string, optional) — IANA timezone (e.g.,America/New_York). Defaults to UTC.
create_booking
Book a meeting at a specific time.
event_type_id(string, optional) — Event type to book. Optional if default is set.start_time(string, required) — ISO 8601 datetime (e.g.,2026-03-15T14:00:00Z)invitee_name(string, required) — Full name of the person bookinginvitee_email(string, required) — Email address for calendar invitationinvitee_timezone(string, optional) — IANA timezone. Defaults to UTC.notes(string, optional) — Meeting notes (max 1000 characters)
cancel_booking
Cancel an existing booking. The invitee receives a cancellation email automatically.
booking_id(string, required) — ID of the booking to cancelreason(string, optional) — Cancellation reason (max 500 characters)
reschedule_booking
Reschedule a booking to a new time. Check availability first.
booking_id(string, required) — ID of the booking to reschedulenew_start_time(string, required) — New time in ISO 8601 formatreason(string, optional) — Reason for rescheduling (max 500 characters)
list_bookings
List bookings with optional filters.
status(string, optional) — Filter:confirmed,cancelled, orpending_paymentlimit(number, optional) — Max results (default: 10, max: 100)event_type_id(string, optional) — Filter by event type
list_event_types
List available event types that can be booked. No input required.
join_waitlist
Join the waitlist when all slots are full.
event_type_id(string, required) — Event type to join the waitlist forname(string, required) — Full nameemail(string, required) — Email addresspreferred_times(string, optional) — Preferred time ranges or notes
check_waitlist
Check your position on a waitlist.
waitlist_entry_id(string, required) — Waitlist entry ID returned fromjoin_waitlist
Example Conversation
User: "What meetings can I book?"
Agent: calls
list_event_types— "You have two event types: a 30-minute consultation (free) and a 1-hour strategy session ($50)."User: "Check if next Tuesday at 2pm is free for a consultation"
Agent: calls
check_availability— "Tuesday at 2pm is available."User: "Book it for [email protected]"
Agent: calls
create_booking— "Done! Meeting confirmed for Tuesday, March 17 at 2:00 PM UTC with Jane. A calendar invitation has been sent."User: "Actually, move it to 3pm"
Agent: calls
reschedule_booking— "Rescheduled to 3:00 PM. Jane has been notified."
Part of the Astrocal Platform
This MCP server is one of several ways to integrate with Astrocal:
- REST API — Full scheduling API with OpenAPI 3.1 spec
- React SDK (
@astrocal/react) — Typed hooks, provider, and booking widget for React apps - Embeddable Widget (
@astrocal/widget) — Drop-in booking UI for any website - Dashboard — Manage event types, bookings, team members, and billing
- Webhooks — Real-time notifications for booking events
Create a free account to get started.
Links
License
MIT
Source: README.md at commit bfb7608
Tools
0Version history
1- v0.1.6LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts