MCP server
The MCP server lets AI agents browse and manage Gravitino metadata through the Model Context
Protocol. Agents call tools such as get_list_of_catalogs or get_table_metadata_details, and the
server turns each call into a request to the Gravitino server on behalf of the agent's user, so
Gravitino authorizes every call exactly as it would the same request from the UI or the API.
The Helm chart installs the MCP server alongside the Gravitino server by default, and the ingress
from Install publishes it at /mcp on the UI hostname.
Quick start
The commands use the shell variables set in step 1 of Install.
-
Check that the server is running. The MCP pod starts after the Gravitino server answers, so it can sit in its init container for a minute after an install.
Check the MCP podkubectl -n "$NAMESPACE" get pods | grep mcpThe pod should show
Runningwith all containers ready. -
Point the agent at the endpoint. The address is
https://{ui_hostname}/mcp. Each request carries the agent user's own credentials, which with the chart's defaultbasicauthenticator are a user name and password in aBasicheader. Taking Cursor as an example:~/.cursor/mcp.json{
"mcpServers": {
"gravitino": {
"url": "https://{ui_hostname}/mcp",
"headers": {
"Authorization": "Basic {base64_user_password}"
}
}
}
}Produce the header value with
printf '%s' '{username}:{password}' | base64. Other agents take the same URL and header in their own configuration format. -
Ask for something the user can see. A request such as "list the catalogs in metalake
{metalake}" should return the catalogs that user is entitled to. A user with no access to the metalake gets an authorization error back from Gravitino.
What an agent can do
Agents mostly read: catalogs, schemas, tables, topics, filesets, models, tags, policies, statistics, and jobs. The tools that change anything are limited to attaching and removing tags and policies, and running and cancelling jobs. MCP tools lists every tool, how a call chooses its metalake, and how to offer an agent only some of the tools.
Identity
The server forwards each request's Authorization header to Gravitino unchanged, so every agent acts
as its own user and concurrent sessions from different users stay apart. Send Basic credentials
under the basic authenticator, or a Bearer token from your identity provider under oauth.
Gravitino makes every access decision; the MCP server makes none of its own.
A request without an Authorization header is rejected unless a service identity is configured, in
which case it acts as that one identity. MCP server in the Helm
configuration covers the service identity and the other server settings.
Audit log
The server records every tool call, with the user and the outcome, in a log of its own. See MCP server tool calls.