Astrocal

dev.astrocalPublished by astrocal.devOfficial publisherv0.1.6Updated Oct 24, 2026

AI-native scheduling: check availability, book meetings, cancel and reschedule via MCP

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated 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.
Before you install
The API key is a secret passed by environment variable. Booking, cancelling and rescheduling change real data and send emails to invitees; cancellations notify the invitee automatically. Paid event types can involve charges through Stripe Connect. Test with sandbox ac_test_* keys, which send no emails, create no calendar events and make no charges.

Installation

In SourceWeft

  1. Open Astrocal in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. 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.

Read the install guide the agent follows

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:

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:

bash
npm install -g @astrocal/mcp-server

Run:

bash
ASTROCAL_API_KEY=ac_live_xxx astrocal-mcp

Environment Variables

VariableRequiredDescription
ASTROCAL_API_KEYYesYour Astrocal API key (get one free)
ASTROCAL_API_URLNoAPI base URL (default: https://api.astrocal.dev)
ASTROCAL_DEFAULT_EVENT_TYPE_IDNoDefault 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 if ASTROCAL_DEFAULT_EVENT_TYPE_ID is 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 booking
  • invitee_email (string, required) — Email address for calendar invitation
  • invitee_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 cancel
  • reason (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 reschedule
  • new_start_time (string, required) — New time in ISO 8601 format
  • reason (string, optional) — Reason for rescheduling (max 500 characters)

list_bookings

List bookings with optional filters.

  • status (string, optional) — Filter: confirmed, cancelled, or pending_payment
  • limit (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 for
  • name (string, required) — Full name
  • email (string, required) — Email address
  • preferred_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 from join_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

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  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