FastMCPProvider now calls _get_* methods instead of get_* to ensure
nested server transforms are applied during lookups. Also converts
string versions to VersionSpec in MCP handlers.
- get_*() now does aggregation + component auth (raises AuthorizationError)
- Deleted _get_*() overrides - inherited from Provider applies transforms
- Simplified AuthMiddleware to global auth only
- Changed version params to VersionSpec | None (not str | None)
- Updated tests to use _get_*() where visibility filtering is expected
- Add None checks in auth and tool transform tests
- Add assertions in component_service.py for None returns
- Add type ignore comments for max() with version_sort_key
- Override _get_tool/resource/template/prompt in FastMCP to apply
server transforms over provider aggregation
- Update FastMCPProvider get_* methods to check for None (not
NotFoundError since get_* now returns None)
- Update versioning tests to expect None instead of NotFoundError
when requesting filtered/nonexistent versions