# Astrocal MCP server

> Enables AI agents to manage scheduling tasks including checking availability, booking, canceling, and rescheduling meetings.

- Repository: https://github.com/astrocal-dev/mcp-server
- Page: https://hostedmcp.org/servers/astrocal-dev/mcp-server
- Transport: stdio, remote
- Stars: 1
- License: MIT
- Latest version: 0.1.6

## Install

### Claude Code

```sh
claude mcp add --env 'ASTROCAL_API_KEY=<YOUR_ASTROCAL_API_KEY>' mcp-server -- npx -y @astrocal/mcp-server
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@astrocal/mcp-server"
      ],
      "env": {
        "ASTROCAL_API_KEY": "<YOUR_ASTROCAL_API_KEY>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@astrocal/mcp-server"
      ],
      "env": {
        "ASTROCAL_API_KEY": "<YOUR_ASTROCAL_API_KEY>"
      }
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"mcp-server","type":"stdio","command":"npx","args":["-y","@astrocal/mcp-server"],"env":{"ASTROCAL_API_KEY":"<YOUR_ASTROCAL_API_KEY>"}}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@astrocal/mcp-server"
      ],
      "env": {
        "ASTROCAL_API_KEY": "<YOUR_ASTROCAL_API_KEY>"
      }
    }
  }
}
```

### Codex

```sh
codex mcp add mcp-server --env 'ASTROCAL_API_KEY=<YOUR_ASTROCAL_API_KEY>' -- npx -y @astrocal/mcp-server
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.mcp-server]
command = "npx"
args = ["-y", "@astrocal/mcp-server"]

[mcp_servers.mcp-server.env]
ASTROCAL_API_KEY = "<YOUR_ASTROCAL_API_KEY>"
```

### Gemini CLI

```sh
gemini mcp add -s user -e 'ASTROCAL_API_KEY=<YOUR_ASTROCAL_API_KEY>' mcp-server npx -- -y @astrocal/mcp-server
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@astrocal/mcp-server"
      ],
      "env": {
        "ASTROCAL_API_KEY": "<YOUR_ASTROCAL_API_KEY>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `ASTROCAL_API_KEY` | yes | yes | Your Astrocal API key (create one at https://astrocal.dev/dashboard/connect) |
| `ASTROCAL_API_URL` | no | no | Custom API base URL (defaults to https://api.astrocal.dev) |
| `ASTROCAL_DEFAULT_EVENT_TYPE_ID` | no | no | Default event type ID when not specified in tool calls |

## Tools (18)

- `event_type_id`
- `start_date`
- `end_date`
- `timezone`
- `start_time`
- `invitee_name`
- `invitee_email`
- `invitee_timezone`
- `notes`
- `booking_id`
- `reason`
- `new_start_time`
- `status`
- `limit`
- `name`
- `email`
- `preferred_times`
- `waitlist_entry_id`

## FAQ

### 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.
