Feat: expand the capabilities of the MCP Server (#8707)
### What problem does this PR solve?
Expand the capabilities of the MCP Server. #8644.
Special thanks to @Drasek, this change is largely based on his original
implementation, it is super neat and well-structured to me. I basically
just integrated his code into the codebase with minimal modifications.
My main contribution is implementing a proper cache layer for dataset
and document metadata, using the LRU strategy with a 300s ± random 30s
TTL. The original code did not actually perform caching.
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
---------
Co-authored-by: Caspar Armster <caspar@armster.de>