Enables AI agents to manage scheduling tasks including checking availability, booking, canceling, and rescheduling meetings.
Also known as astrocal-dev/mcp-server, mcp-server, @astrocal/mcp-server
- Stars
- 1
- Tools
- 18
- Downloads, 30 days
- 220
- Latest version
- 0.1.6
- Last commit
- Oct 10, 2026
- License
- MIT
What is Astrocal MCP?
Astrocal enables AI agents to manage scheduling tasks including checking availability, booking, canceling, and rescheduling meetings. It exposes 18 tools, such as event_type_id, start_date, end_date.
Summary generated from the project's README
About Astrocal MCP server
Astrocal provides a specialized interface for AI agents to handle complex scheduling workflows through natural conversation. This MCP server allows clients like Claude Desktop, Cursor, and Windsurf to interact directly with the Astrocal scheduling platform. It enables agents to perform eight distinct actions, including checking availability, booking meetings, canceling appointments, and managing waitlists. Because it connects to Google Calendar, Microsoft 365, and CalDAV, the agent always operates against real-time availability.
Developers can set this up locally using npx or by installing the package globally via npm. Integration requires an ASTROCAL_API_KEY, and users can utilize sandbox mode with test keys to prevent actual emails or calendar events from being created during development. The system also supports paid consultations through a Stripe Connect integration, allowing agents to manage transactions alongside scheduling. Users can further customize the experience by setting a default event type ID in their environment variables.
What you can do with it
- 1Verify open time slotsAsk the agent to find available times for a specific event type within a date range.
- 2Automate meeting bookingsHave the assistant book a consultation for a user by providing their name and email.
- 3Modify existing appointmentsRequest that the agent move a scheduled meeting to a different time.
- 4Manage appointment waitlistsInstruct the agent to add a person to a waitlist when all slots are full.
Written from the project's README. Every use case is checked against a quote from it.
How to install Astrocal MCP
Formats verified 10 Nov 2026Install Astrocal MCP in Claude Code
$ claude mcp add --env ASTROCAL_API_KEY=<YOUR_ASTROCAL_API_KEY> mcp-server -- npx -y @astrocal/mcp-serverInstall Astrocal MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@astrocal/mcp-server"
],
"env": {
"ASTROCAL_API_KEY": "<YOUR_ASTROCAL_API_KEY>"
}
}
}
}Install Astrocal MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@astrocal/mcp-server"
],
"env": {
"ASTROCAL_API_KEY": "<YOUR_ASTROCAL_API_KEY>"
}
}
}
}Install Astrocal MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@astrocal/mcp-server"
],
"env": {
"ASTROCAL_API_KEY": "<YOUR_ASTROCAL_API_KEY>"
}
}
}
}Install Astrocal MCP in Codex
~/.codex/config.toml
[mcp_servers.mcp-server] command = "npx" args = ["-y", "@astrocal/mcp-server"] [mcp_servers.mcp-server.env] ASTROCAL_API_KEY = "<YOUR_ASTROCAL_API_KEY>"
Install Astrocal MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@astrocal/mcp-server"
],
"env": {
"ASTROCAL_API_KEY": "<YOUR_ASTROCAL_API_KEY>"
}
}
}
}Astrocal MCP tools 18
Detected from the READMEevent_type_idstart_dateend_datetimezonestart_timeinvitee_nameinvitee_emailinvitee_timezonenotesbooking_idreasonnew_start_time
| event_type_id | — | |
| start_date | — | |
| end_date | — | |
| timezone | — | |
| start_time | — | |
| invitee_name | — | |
| invitee_email | — | |
| invitee_timezone | — | |
| notes | — | |
| booking_id | — | |
| reason | — | |
| new_start_time | — |
Show all 18 toolsShow fewer tools
statuslimitnameemailpreferred_timeswaitlist_entry_id
| status | — | |
| limit | — | |
| name | — | |
| — | ||
| preferred_times | — | |
| waitlist_entry_id | — |
Configuration
ASTROCAL_API_KEYRequiredSecretYour Astrocal API key (create one at https://astrocal.dev/dashboard/connect)
ASTROCAL_API_URLCustom API base URL (defaults to https://api.astrocal.dev)
ASTROCAL_DEFAULT_EVENT_TYPE_IDDefault event type ID when not specified in tool calls
| Name | Description | |
|---|---|---|
| ASTROCAL_API_KEY | Your Astrocal API key (create one at https://astrocal.dev/dashboard/connect) | RequiredSecret |
| ASTROCAL_API_URL | Custom API base URL (defaults to https://api.astrocal.dev) | |
| ASTROCAL_DEFAULT_EVENT_TYPE_ID | Default event type ID when not specified in tool calls |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHub@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:
{
"mcpServers": {
"astrocal": {
"command": "npx",
"args": ["-y", "@astrocal/mcp-server"],
"env": {
"ASTROCAL_API_KEY": "ac_live_xxxxxxxxxxxxx"
}
}
}
}
Restart Claude Desktop and the scheduling tools will be available immediately.
Other MCP Clients
Install globally:
npm install -g @astrocal/mcp-server
Run:
ASTROCAL_API_KEY=ac_live_xxx astrocal-mcp
Environment Variables
| Variable | Required | Description |
|---|---|---|
ASTROCAL_API_KEY |
Yes | Your Astrocal API key (get one free) |
ASTROCAL_API_URL |
No | API base URL (default: https://api.astrocal.dev) |
ASTROCAL_DEFAULT_EVENT_TYPE_ID |
No | Default event type ID — your agent won't need to specify it on every call |
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 jane@example.com"
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
Astrocal MCP questions
How do I add Astrocal MCP to Claude Code?
Run claude mcp add --env ASTROCAL_API_KEY=<YOUR_ASTROCAL_API_KEY> mcp-server -- npx -y @astrocal/mcp-server in your terminal. Add --scope user to make it available in every project.
How do I add Astrocal MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does Astrocal MCP provide?
It exposes 18 tools, including event_type_id, start_date, end_date, timezone, start_time.
Can I test the server without making real bookings?
Yes, you can use Sandbox mode with test keys to ensure no emails are sent or charges made.
Which calendars does it sync with?
The server connects to Google Calendar, Microsoft 365, and CalDAV.
What happens if a meeting is canceled?
The invitee is automatically sent a cancellation email.