mchades commented on code in PR #13804:
URL: https://github.com/apache/gravitino/pull/13804#discussion_r4257392935


##########
docs/gravitino-mcp-server.md:
##########
@@ -138,7 +138,56 @@ Gravitino MCP server supports the following tools, and you 
could export tool by
 | `get_partition`                     | Retrieve a partition's metadata. Only 
for catalogs with a partition API.       | `partition`     |
 | `list_of_views`                     | Retrieve a list of views for a schema. 
Only for catalogs supporting views.     | `view`          |
 | `load_view`                         | Retrieve a view's metadata. Only for 
catalogs supporting views.                | `view`          |
+| `list_of_semantic_models`           | List the Semantic Models the caller 
can access in a schema.                    | `semantic_model` |
+| `load_semantic_model`               | Load a Semantic Model's metadata and 
definition.                               | `semantic_model` |
+| `create_semantic_model`             | Create a Semantic Model from a native 
REST definition.                         | `semantic_model` |
+| `alter_semantic_model`              | Apply Semantic Model updates 
atomically.                                      | `semantic_model` |
+| `drop_semantic_model`               | Drop a Semantic Model's metadata.      
                                       | `semantic_model` |
 
+### Semantic Models
+
+Semantic Model tools manage schema-scoped semantic metadata through the 
Gravitino REST API.
+Use the `semantic_model` tag with `--include-tool-tags` to expose these five 
tools.
+They use the same per-call `metalake` selection and authentication as other 
tools;
+Gravitino filters listings and enforces authorization, including access to 
referenced source tables.
+Names used in REST paths must be non-empty and cannot be `.` or `..`, which 
HTTP clients
+normalize as path navigation. Names must also satisfy the server's naming 
rules.
+
+For example, call `create_semantic_model` with the following arguments after 
the
+`sales.mart.orders` source table exists in the selected metalake:
+
+```json
+{
+  "metalake": "prod",
+  "catalog_name": "sales",
+  "schema_name": "mart",
+  "name": "sales_model",
+  "definition": {
+    "datasets": [
+      {
+        "name": "orders",
+        "source": {"namespace": ["sales", "mart"], "name": "orders"},
+        "fields": []
+      }
+    ]
+  },
+  "comment": "Governed sales definitions",
+  "properties": {"domain": "sales"}
+}
+```
+
+`definition` uses the native camelCase [Semantic Model REST 
schema](./open-api/semantic-models.yaml).

Review Comment:
   Replaced the fragment link with an inline description of the native 
definition fields alongside the existing JSON example.



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