mchades opened a new pull request, #14208: URL: https://github.com/apache/gravitino/pull/14208
### What changes were proposed in this pull request? Add list_metrics and list_metric_infos under the semantic_model tool tag. Each tool makes one schema-level REST request and retains full namespaces and complete metric definitions. Add decimal-preserving response decoding, strict list-response validation, read-only annotations, tests, and usage documentation. ### Why are the changes needed? Allow MCP callers to discover metrics without loading each Semantic Model, following #14038 under #14036. Depends on #14143. This draft includes prerequisite commits rebased onto main and needs rebasing after they merge. Fixes #14207. ### Does this PR introduce _any_ user-facing change? Adds two read-only tools accepting catalog_name, schema_name, and optional per-call metalake. Results preserve REST namespaces and JSON number precision; server and malformed-response errors propagate to callers. ### How was this patch tested? 301 MCP unit tests and 12 integration tests passed, including four new metric scenarios against live MCP and Gravitino servers with authorization enabled. From mcp-server: - python -m unittest discover -s tests -v - GRAVITINO_HOME=<built distribution> bash dev/run_authz_integration_test.sh The rebased server passed 9 metric-discovery H2 tests and 13 REST tests. Distribution build, Black, isort, Pylint, core Spotless, and git diff --check passed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
