# CalendarHero — MCP server on mcp.ai > Connect your CalendarHero account and use 38 tools for scheduling and booking straight from your AI agent. Connect with your own API key. CalendarHero is a versatile scheduling tool designed to streamline and simplify your calendar management. It integrates seamlessly with your existing calendars, allowing you to efficiently schedule, reschedule, and manage meetings with ease. By: mcp.ai · official Page: https://mcp.ai/calendarhero ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_calendarhero?ms=1787293560000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/calendarhero/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/calendarhero/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/calendarhero/skill.md Postman collection (v2.1): https://mcp.ai/calendarhero/postman.json ## Tools - calendarhero_add_calendar_connection(directory: object) — Add a new calendar directory/connection to the user's CalendarHero account. A directory is a calendar connection configuration that groups meeting types together. Use this to organize different types - calendarhero_create_contact(name?: string, email: string[], title?: string, telephone?: string[], defaultEmail?: string, organization?: string) — Creates a new contact in CalendarHero with the provided contact information. Returns the unique identifier of the created contact. - calendarhero_create_meeting_request_v2(room?: object, type: string, dateEnd: string, subject: string, capacity?: integer, contacts?: object[], location?: string, dateStart: string, locations?: object[], description?: string, roomCapacity?: integer, contactEmails?: string[], meetingLength?: integer) — Tool to create a new meeting request in CalendarHero. Use when scheduling a meeting with participants, time range, and additional details. - calendarhero_create_webhook(event: string, hookUrl: string) — Creates or updates a webhook for a specific event type in CalendarHero. Use this to register a URL endpoint that will receive notifications when events occur (e.g., when a meeting request succeeds or - calendarhero_delete_contact(id: string) — Tool to delete a contact from CalendarHero by its unique identifier. Use when you need to permanently remove a contact from the system. - calendarhero_delete_meeting_task(id: string) — Tool to delete a meeting task/request from CalendarHero. Use when you need to remove a meeting task by its ID. - calendarhero_delete_meeting_type(type: string) — Tool to delete a meeting type from the authenticated user's CalendarHero account. Use when you need to remove a meeting type configuration. Note: Cannot delete meeting types that have active or upcomi - calendarhero_delete_user_directory(uuid: string) — Tool to delete a user directory by its UUID. Use when you need to remove a directory from the user's account. - calendarhero_delete_webhook(event: string, hookUrl?: string) — Tool to delete a webhook subscription for a specific event type. Use when you need to remove a webhook listener that was previously registered for CalendarHero events. - calendarhero_fetch_contact(id: string) — Fetch Contact - calendarhero_fetch_meeting_details(end: string, start: string) — Tool to fetch details for meetings within a specified timeframe. Use this after user provides start and end datetimes in ISO8601. - calendarhero_fetch_user_profile() — Tool to fetch the profile details of the authenticated user. Use after obtaining a valid access token. - calendarhero_get_assistant_message() — Tool to retrieve a reply message from the CalendarHero assistant. Use when you need to get an automated response or greeting from the assistant for the user. - calendarhero_get_contact_count() — Tool to get the total count of contacts in CalendarHero. Use when you need to know how many contacts exist. - calendarhero_get_meeting_categories(month?: string) — Retrieves the user's meeting categories' stats for a specified time period. Use to analyze meeting distribution across different categories or types within a given month. - calendarhero_get_meeting_tasks(skip?: integer, take?: integer, type?: string, state?: string, tally?: boolean) — Retrieves the user's meeting requests/tasks from CalendarHero. Use when you need to check pending meeting requests, view scheduling tasks, or track meeting coordination progress. Supports filtering by - calendarhero_get_search_result(id: string) — Tool to get a search result by ID. Use when you have a search result ID from a previous /search request. - calendarhero_get_user_directory(uuid: string) — Tool to retrieve a user's directory by its unique identifier. Use when you need to fetch configuration details for a specific directory including meeting types and tracking settings. - calendarhero_get_user_organization(returnBillingUserInfo?: boolean) — Tool to retrieve the authenticated user's organization details. Use when needing organization-level information. - calendarhero_get_user_savings() — Tool to retrieve the authenticated user's savings information from CalendarHero. Use to view time saved, efficiency metrics, or other savings data tracked by the platform. - calendarhero_get_webhook(event: string) — Tool to get webhook configuration for a specific event type. Use when you need to check if a webhook is configured for meeting or contact events. - calendarhero_get_webhook_sample(event: string) — Tool to retrieve a sample webhook payload for a specific event type. Use when testing webhook integrations or understanding the structure of webhook data for different CalendarHero events. - calendarhero_list_meeting_templates() — Retrieves all meeting templates (reusable meeting configurations) for the authenticated user. Meeting templates contain pre-configured settings like duration, availability, video conferencing preferen - calendarhero_list_meeting_types(onlyTypes?: boolean) — Retrieves all meeting types configured for the authenticated CalendarHero user. Meeting types are templates that define availability windows, durations, and booking URLs for different kinds of meeting - calendarhero_list_user_calendars(org?: boolean) — Tool to list all calendar integrations connected to a user's CalendarHero account. Use after authenticating when you need to retrieve available calendars for scheduling. - calendarhero_list_user_directories() — Tool to retrieve all directories configured for a user. Use when you need to list available directories for scheduling or configuration purposes. - calendarhero_search_contact(all?: boolean, filter?: string, search?: string, includeTeams?: boolean) — Tool to search for existing contacts. Use after confirming a need to find contacts by email or name. - calendarhero_search_integrations(query: string, dateEnd?: string, dateStart?: string) — Tool to search across all user integrations for a query term. Use when you need to find events, meetings, or other data matching specific keywords across the user's connected calendar and productivity - calendarhero_send_assistant_message(text: string) — Tool to send a user's message into the CalendarHero assistant. Use this to interact with the assistant using natural language for scheduling meetings, managing calendar events, or other calendar-relat - calendarhero_send_reminder(id: string) — Sends an email reminder to all contacts/participants about a scheduled meeting request. Use this to notify attendees who need a reminder about an upcoming meeting. Requires the meeting task ID from a - calendarhero_update_contact(id: string, name?: string, email: string[], title?: string, userId?: string, telephone?: string[], providerId?: string[], defaultEmail?: string, organization?: string) — Updates an existing contact in CalendarHero with new information. Use this action when you need to modify contact details such as name, email addresses, job title, organization, or phone numbers. Requ - calendarhero_update_meeting_types(meetingTypes: object[]) — Tool to update meeting type configurations for the authenticated CalendarHero user. Use when you need to modify existing meeting types' availability, durations, or settings. IMPORTANT: The meeting typ - calendarhero_update_restricted_apps(restrictedApps?: string[]) — Tool to update the authenticated user's restricted apps settings. Use when you need to control which apps are restricted for the user. - calendarhero_update_user(name: string, plan?: string, tags?: string[], email?: string, avatar?: string, address?: string, country?: string, currency?: string, language?: string, timezone?: string, telephones?: string[], email_footer?: string, hideAutomatedAssistant?: boolean) — Tool to update the authenticated user's profile information. Use when you need to modify user details such as name, email, timezone, or preferences. - calendarhero_update_user_address(lat: string, lng: string) — Tool to update the authenticated user's address settings by providing latitude and longitude coordinates. Use when the user needs to update their location for meeting scheduling or time zone detection - calendarhero_update_user_directory(uuid: string, directory: object) — Tool to update a user's directory in CalendarHero. Use when modifying directory settings such as title, meeting types, or configuration options. The directory UUID can be obtained from the user profil - calendarhero_update_user_info(name?: string, avatar?: string, address?: string, country?: string, logoUrl?: string, currency?: string, language?: string, timezone?: string, telephones?: string[], email_footer?: string, hideNegativeWhoIs?: boolean, hideAutomatedAssistant?: boolean) — Updates the authenticated user's info settings in CalendarHero. Use this action when you need to modify user profile details such as name, language, timezone, contact information, or display preferenc - calendarhero_update_work_location(work_location: string) — Tool to update the user's work location settings in CalendarHero. Use when the user needs to change their work location (e.g., 'Office', 'Home', 'Remote'). ## Example prompts - "What can I do in CalendarHero?" - "Show me a summary of my CalendarHero account" ## Links Docs: https://mcp.ai/docs/mcps/calendarhero Website: https://mcp.ai/mcps/calendarhero