Something that supplies components (← FastMCP's tool, resource and prompt
providers, under one contract).
A provider is asked for its components every time the server lists them, so
a set that changes between two listings is served as it stands at each
moment. The components it returns are served by name like registered ones;
a name two providers both use is answered by the one added first.
Every method has a default that supplies nothing, so a provider implements
only the kinds it has.