You do connect all these sensors directly to a microcontroller.
The Kalman filter is not an electronic filter like a LRC filter that goes between the sensors and the microcontroller. The Kalman filter is a mathematical filter implemented as software routine inside the microcontroller.
The sensors you have listed give the microcontroller 14 or 15 raw numbers each time they are all updated.
When I fly a little aircraft, what I really want to know is its position and orientation
and how far it is above the ground -- 7 numbers.
I need something that gives me those 7 numbers.
Ideally I want a new estimate of those 7 numbers every time through my control loop.
The once-per-second updates I get from my cheap GPS aren't nearly fast enough.
(People at What frequency does my quadcopter output-sense-calculate-output update loop need to stay stable? are telling me even 50-times-per-second isn't going to be fast enough).
Somehow I'm going to have to reduce those 14 or 15 raw numbers that I have, some of which only occasionally get updated, into (estimates of) the 7 numbers that I really want.
As Josh pointed out, there are many ad-hoc ways to convert those raw numbers into usable data.
Any routine that converts 15 numbers into 7 numbers can be described as a "filter".
You don't have to use the optimum filter.
But you will use some kind of filter -- i.e., something that converts from the 15 numbers of raw data you have into (estimates of) the 7 numbers you really want.
The Kalman Filter is, in some conditions, the "optimum" filter, the best way of converting that raw data into the 7 numbers I really want.
It may take less work on your part to use a Kalman filter that someone else has already written and debugged,
than to write some other filter from scratch, debug it, and keep adding stuff to it until it is usable -- a filter that will inevitably turn out to be sub-optimum.