[Subtask] feat(mcp-server): write tools for remaining metadata types (policy, statistics, ...)
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 935
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 298
Description
### Describe the subtask
#11574 / #11567 added write tools for catalog, schema, table, topic, fileset, model and tag. A few metadata types still lack full write support. Add the remaining write tools following the same pattern (interface method → plain REST client impl → FastMCP tool → mock → unit tests), with authorization enforced by Gravitino.
**Missing write tools:**
- **policy**: create / alter / delete a policy (today only `associate_policy_with_metadata` / `disassociate_policy_from_metadata` exist).
- **statistics**: update / drop statistics for metadata and partitions (currently read-only).
- **model version alias**: `update_model_version_aliases` (model has register/delete and version link/delete only — noted in review of #11621).
- **job templates**: register / delete a job template (job has `run_job` / `cancel_job` only).
### Parent issue
#11573
Contributor guide
Research direction
Start by examining the existing write tools added in #11574 and #11567, following the interface method, plain REST client implementation, FastMCP tool, mock, and unit-test layers. Implement the listed policy, statistics, model version alias, and job-template operations using the same pattern. Done means each missing operation has corresponding support and unit coverage, with authorization left to Gravitino.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100