yuqi1129 opened a new issue, #11574:
URL: https://github.com/apache/gravitino/issues/11574

   ### Describe the subtask
   
   The MCP server currently exposes read-only tools for catalog, schema, table, 
model, topic, and fileset. Tag write tools are already enabled and protected by 
Gravitino authorization. This subtask extends the same pattern to the remaining 
resource types, adding create/alter/delete tools for each.
   
   **Gravitino REST write endpoints available (verified against server REST 
handlers):**
   
   | Resource | Operations |
   |----------|-----------|
   | Catalog  | create, alter, drop |
   | Schema   | create, alter, drop |
   | Table    | create, alter, drop |
   | Model    | register model, delete model, link model version, delete model 
version, update model version aliases |
   | Topic    | create, alter, delete |
   | Fileset  | create, alter, drop |
   
   **Work per resource (same pattern as tag write tools):**
   
   For each resource:
   1. Add write method(s) to the abstract `client/<resource>_operation.py` 
interface
   2. Implement in `client/plain/plain_rest_client_<resource>_operation.py` 
using the existing httpx client (token already injected by Task 1/2)
   3. Add corresponding mock implementations to 
`tests/unit/tools/mock_operation.py`
   4. Register tools in `tools/<resource>.py` — write tools are exposed by 
default, authorization enforced by Gravitino core
   5. Unit tests in `tests/unit/tools/test_<resource>.py`
   
   **Acceptance:**
   - Each write tool is callable through MCP
   - A principal without write permission receives an authorization denial from 
Gravitino (not a hidden tool)
   - Unit tests pass with mocked Gravitino responses
   
   ### Parent issue
   
   https://github.com/apache/gravitino/issues/11573


-- 
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]

Reply via email to