{
  "name": "intocal",
  "description": "Booking + scheduling MCP for IntoCal calendars. Every user has a personal MCP endpoint at https://api.intocal.com/mcp/<username>.",
  "transport": "streamable-http",
  "protocolVersion": "2025-06-18",
  "url_pattern": "https://api.intocal.com/mcp/{username}",
  "landing": "https://intocal.com/mcp",
  "docs": "https://intocal.com/mcp",
  "auth": {
    "type": "bearer",
    "header": "Authorization",
    "how_to_obtain": "Users generate an MCP key at https://intocal.com/dashboard/mcp",
    "public_mode": "The endpoint also accepts unauthenticated calls for third-party AI assistants; those bookings are held pending until the guest clicks a confirmation link."
  },
  "tools": [
    { "name": "list_event_types", "description": "List bookable event types for a calendar host." },
    { "name": "query_slots", "description": "List available time slots between two ISO-8601 UTC timestamps. Team events accept `member_ids` and `filter.tag` to scope to specific hosts." },
    { "name": "request_booking", "description": "Request a booking (pending confirmation for foreign AIs)." },
    { "name": "list_hosts_for_event", "description": "List possible team hosts for an event type, filterable by language, category, or skill." },
    { "name": "book_with_host", "description": "Request a booking with a specific team member." },
    { "name": "create_booking", "description": "Owner-only. Auto-confirm a booking." },
    { "name": "list_team_members", "description": "Owner-only. List team members and their tags." },
    { "name": "list_bookings", "description": "Owner-only. List recent bookings." },
    { "name": "cancel_booking", "description": "Owner-only. Cancel a booking." }
  ]
}
