This project provides a FastMCP server for interacting with the Cal.com API. It allows Language Learning Models (LLMs) to use tools to connect with important Cal.com functionalities like managing event types and bookings. - Python 3.8+ - A Cal.com account and API Key (v2) 1. Clone the repository (if applicable) or download the files. 2. Create a virtual environment (recommended): 3. Install depend
Add this skill
npx mdskills install Danielpeter-99/calcom-mcpComprehensive Cal.com API integration with 8 well-documented tools and clear setup instructions
1# Cal.com FastMCP Server23> ⚠️ **Disclaimer**: This project is not affiliated with or endorsed by Cal.com. I am an independent developer and have no association with Cal.com in any official capacity.45This project provides a FastMCP server for interacting with the Cal.com API. It allows Language Learning Models (LLMs) to use tools to connect with important Cal.com functionalities like managing event types and bookings.67## Prerequisites89- Python 3.8+10- A Cal.com account and API Key (v2)1112## Setup13141. **Clone the repository (if applicable) or download the files.**15 ```bash16 git clone https://github.com/Danielpeter-99/calcom-mcp.git17 cd calcom-mcp18 ```19202. **Create a virtual environment (recommended):**21 ```bash22 python -m venv venv23 source venv/bin/activate # On Windows: venv\Scripts\activate24 ```25263. **Install dependencies:**27 ```bash28 pip install -r requirements.txt29 ```30314. **Set up the Cal.com API Key:**32 You need to set the `CALCOM_API_KEY` environment variable. You can get your API key from your Cal.com settings page (usually under Developer or Security settings).3334 - **Linux/macOS:**35 ```bash36 export CALCOM_API_KEY="your_actual_api_key_here"37 ```38 To make it permanent, add this line to your shell configuration file (e.g., `.bashrc`, `.zshrc`).3940 - **Windows (PowerShell):**41 ```powershell42 $env:CALCOM_API_KEY="your_actual_api_key_here"43 ```44 To make it permanent, you can set it through the System Properties > Environment Variables.4546## Running the Server4748Once the setup is complete, you can run the FastMCP server:4950```bash51fastmcp run app.py --transport sse --port 801052```5354The server will start at localhost:8010, and you should see output indicating it's running. If the `CALCOM_API_KEY` is not set, a warning will be displayed.5556## Available Tools5758The server currently provides the following tools for LLM interaction:5960- `get_api_status()`: Check if the Cal.com API key is configured in the environment. Returns a string indicating the status.61- `list_event_types()`: Fetch a list of all event types from Cal.com for the authenticated account. Returns a dictionary with the list of event types or an error message.62- `get_bookings(...)`: Fetch a list of bookings from Cal.com, with optional filters (event_type_id, user_id, status, date_from, date_to, limit). Returns a dictionary with the list of bookings or an error message.63- `create_booking(...)`: Create a new booking in Cal.com for a specific event type and attendee. Requires parameters like start_time, attendee details, and event type identifiers. Returns a dictionary with booking details or an error message.64- `list_schedules(...)`: List all schedules available to the authenticated user or for a specific user/team. Optional filters: user_id, team_id, limit. Returns a dictionary with the list of schedules or an error message.65- `list_teams(...)`: List all teams available to the authenticated user. Optional filter: limit. Returns a dictionary with the list of teams or an error message.66- `list_users(...)`: List all users available to the authenticated account. Optional filter: limit. Returns a dictionary with the list of users or an error message.67- `list_webhooks(...)`: List all webhooks configured for the authenticated account. Optional filter: limit. Returns a dictionary with the list of webhooks or an error message.6869**Note:** All tools require the `CALCOM_API_KEY` environment variable to be set. If it is not set, tools will return a structured error message.7071## Tool Usage and Error Handling7273- All tools return either the API response (as a dictionary or string) or a structured error message with details about the failure.74- Error messages include the type of error, HTTP status code (if applicable), and the response text from the Cal.com API.75- For best results, always check for the presence of an `error` key in the response before using the returned data.76- Tools are designed to be robust and provide informative feedback for both successful and failed API calls.7778## Development Notes7980- The Cal.com API base URL is set to `https://api.cal.com/v2`.81- Authentication is primarily handled using a Bearer token with the `CALCOM_API_KEY`.82- The `create_booking` tool uses the `cal-api-version: 2024-08-13` header as specified in the Cal.com API v2 documentation for that endpoint.83- Error handling is included in the API calls to provide informative responses.8485## 🚀 Built With8687[](https://www.python.org/)88[](https://github.com/jlowin/fastmcp)89[](https://cal.com/docs/api-reference/v2/introduction)909192## Important Security Note9394**Never hardcode your `CALCOM_API_KEY` directly into the source code.** Always use environment variables as described in the setup instructions to keep your API key secure.95
Full transparency — inspect the skill content before installing.