  We prove a single category-theoretic result encapsulating the notions of
ultrafilters, ultrapower, ultraproduct, tensor product of ultrafilters, the
Rudin--Kiesler partial ordering on ultrafilters, and Blass's category of
ultrafilters UF. The result in its most basic form states that the category
FC(Set,Set) of finite-coproduct-preserving endofunctors of Set is equivalent to
the presheaf category [UF,Set]. Using this result, and some of its evident
generalisations, we re-find in a natural manner the important model-theoretic
realisation relation between n-types and n-tuples of model elements; and draw
connections with Makkai and Lurie's work on conceptual completeness for
first-order logic via ultracategories.
  As a further application of our main result, we use it to describe a
first-order analogue of J\'onsson and Tarski's canonical extension. Canonical
extension is an algebraic formulation of the link between Lindenbaum--Tarski
and Kripke semantics for intuitionistic and modal logic, and extending it to
first-order logic has precedent in the topos of types construction studied by
Joyal, Reyes, Makkai, Pitts, Coumans and others. Here, we study the closely
related, but distinct, construction of the locally connected classifying topos
of a first-order theory. The existence of this is known from work of Funk, but
the description is inexplicit; ours, by contrast, is quite concrete.
