# Mcp Server Cal

> Cal.com scheduling MCP server: manage bookings, event types, and availability.

- **Type:** MCP server
- **Install:** `agentstack add mcp-aiwerk-mcp-server-cal`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [AIWerk](https://agentstack.voostack.com/s/aiwerk)
- **Installs:** 0
- **Category:** [Productivity](https://agentstack.voostack.com/c/productivity)
- **Latest version:** 1.0.6
- **License:** MIT
- **Upstream author:** [AIWerk](https://github.com/AIWerk)
- **Source:** https://github.com/AIWerk/mcp-server-cal

## Install

```sh
agentstack add mcp-aiwerk-mcp-server-cal
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# @aiwerk/mcp-server-cal

[](https://www.npmjs.com/package/@aiwerk/mcp-server-cal)
[](https://www.npmjs.com/package/@aiwerk/mcp-server-cal)
[](https://opensource.org/licenses/MIT)

Cal.com scheduling MCP server - manage bookings, event types, and availability directly from your AI assistant.

## Why this server?

Connect Claude, Cursor, or any MCP-compatible AI to your Cal.com account. Create bookings, check availability, manage event types, and view schedules - all via natural language.

## Install

Two ways to run this server — pick the one that fits.

### Option 1 — Hosted (zero setup)

No local runtime, no env vars on your machine — secrets are AES-256-GCM encrypted server-side via HashiCorp Vault.

1. Sign up at **[aiwerkmcp.com](https://aiwerkmcp.com)**.
2. Install **Cal.com** from the catalog and paste your `CAL_API_KEY`.
3. Point your MCP client (Claude.ai, Cursor, Hermes, …) at your hosted endpoint:
   ```
   https://bridge.aiwerk.ch/u//mcp
   ```
   with your Bearer token.

All 12 tools, 3 resources, and 3 prompts appear. Install other AIWerk recipes from the same bridge.

### Option 2 — Self-hosted (npx)

Run directly — you manage the API key:

```bash
CAL_API_KEY=cal_live_your_api_key_here npx @aiwerk/mcp-server-cal
```

Or wire it into your MCP client config — see [Configuration](#configuration) below.

## Tools

| Tool | Description |
|------|-------------|
| `cal_list_bookings` | List bookings with optional filters (status, event type, date range) |
| `cal_get_booking` | Get details of a specific booking by UID |
| `cal_create_booking` | Create a new booking (event type, attendee info, time) |
| `cal_cancel_booking` | Cancel a booking by UID |
| `cal_reschedule_booking` | Reschedule a booking to a new time |
| `cal_list_event_types` | List all event types |
| `cal_get_event_type` | Get event type details by ID |
| `cal_create_event_type` | Create a new event type |
| `cal_update_event_type` | Update an existing event type |
| `cal_delete_event_type` | Delete an event type |
| `cal_get_availability` | Check available slots for an event type in a date range |
| `cal_list_schedules` | List all schedules (working hours / availability rules) |

## Resources

Resources are automatically available in the AI's context — no need to ask for them.

| Resource | URI | Description |
|----------|-----|-------------|
| Upcoming Bookings | `cal://bookings/upcoming` | Today's and tomorrow's bookings |
| Event Types | `cal://event-types` | All configured event types |
| Schedules | `cal://schedules` | Working hours and availability rules |

## Prompts

Ready-made prompt templates for common scheduling tasks.

| Prompt | Description |
|--------|-------------|
| `daily-schedule` | Summarize today's schedule with bookings and free slots |
| `find-free-slot` | Find next available time for a specific event type |
| `reschedule-suggestion` | Suggest alternative times for rescheduling a booking |

## Configuration

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "cal": {
      "command": "npx",
      "args": ["@aiwerk/mcp-server-cal"],
      "env": {
        "CAL_API_KEY": "cal_live_your_api_key_here"
      }
    }
  }
}
```

### Cursor

Add to `.cursor/mcp.json` in your project or `~/.cursor/mcp.json` globally:

```json
{
  "mcpServers": {
    "cal": {
      "command": "npx",
      "args": ["@aiwerk/mcp-server-cal"],
      "env": {
        "CAL_API_KEY": "cal_live_your_api_key_here"
      }
    }
  }
}
```

### OpenClaw / Universal Recipe

```json
{
  "name": "cal",
  "command": "npx",
  "args": ["@aiwerk/mcp-server-cal"],
  "env": {
    "CAL_API_KEY": "${CAL_API_KEY}"
  }
}
```

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `CAL_API_KEY` | Yes (on tool call) | - | Cal.com API key (`cal_` or `cal_live_` prefix) |
| `CAL_BASE_URL` | No | `https://api.cal.com/v2` | Override the Cal.com API base URL |

The server starts and responds to `tools/list` without `CAL_API_KEY`. The key is only required when an actual tool is called (lazy credentials pattern).

## Getting Your API Key

1. Go to [Cal.com Settings](https://app.cal.com/settings/developer/api-keys)
2. Create a new API key
3. Copy the key (starts with `cal_live_` for production)

## Security

- Never commit your API key to version control
- Use environment variables or a secrets manager
- The server only reads `CAL_API_KEY` at tool call time, never logs it

## About AIWerk MCP

Part of the **[AIWerk MCP platform](https://aiwerkmcp.com)** — curated, signed MCP recipes served either as npm packages for self-hosting or through our multi-tenant hosted bridge (`bridge.aiwerk.ch`).

Other AIWerk MCP servers:

- [@aiwerk/mcp-server-imap](https://github.com/AIWerk/mcp-server-imap) — IMAP/SMTP email, provider-agnostic
- [@aiwerk/mcp-server-wise](https://github.com/AIWerk/mcp-server-wise) — Wise (TransferWise) Personal API, read-only
- [@aiwerk/mcp-server-clawhub](https://github.com/AIWerk/mcp-server-clawhub) — ClawHub skill catalog

Browse the full catalog (20+ recipes including GitHub, Linear, Notion, Stripe, …) at [aiwerkmcp.com](https://aiwerkmcp.com).

## Contributing

Issues and PRs are welcome! Please open an issue first for larger changes.

## License

MIT - [AIWerk](https://aiwerk.ch)

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [AIWerk](https://github.com/AIWerk)
- **Source:** [AIWerk/mcp-server-cal](https://github.com/AIWerk/mcp-server-cal)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v1.0.6 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **1.0.6** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-aiwerk-mcp-server-cal
- Seller: https://agentstack.voostack.com/s/aiwerk
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
