Gravitino

MCP server for Apache Gravitino
  • python

20

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "datastrato-mcp-server-gravitino": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-gravitino",
        "run",
        "--with",
        "fastmcp",
        "--with",
        "httpx",
        "--with",
        "mcp-server-gravitino",
        "python",
        "-m",
        "mcp_server_gravitino.server"
      ],
      "env": {
        "GRAVITINO_URI": "http://localhost:8090",
        "GRAVITINO_METALAKE": "metalake_demo",
        "GRAVITINO_PASSWORD": "admin",
        "GRAVITINO_USERNAME": "admin",
        "GRAVITINO_JWT_TOKEN": "YOUR_JWT_TOKEN",
        "GRAVITINO_ACTIVE_TOOLS": "*"
      }
    }
  }
}

You run an MCP server that provides Gravitino APIs and a streamlined interface for interacting with metadata. This server lets you manage catalogs, schemas, tables, models, users, tags, and user-role data through FastMCP-enabled tooling, with flexible authentication and tool activation options.

How to use

Start by configuring the MCP server with the environment variables that point to your Gravitino instance and MetalaKe. Run the server in a local development environment, then connect your MCP client to execute metadata operations like listing catalogs, schemas, or managing user roles. You can enable selective tools to limit the available actions and keep token usage efficient.

How to install

Prerequisites: you need Python installed on your system and the uv tool for virtual environments and execution. You will also use git to obtain the MCP server code.

How to install

# Clone the MCP server project
git clone git@github.com:datastrato/mcp-server-gravitino.git

# Move into the project directory
cd mcp-server-gravitino

# Create a virtual environment using uv
uv venv

# Activate the virtual environment
source .venv/bin/activate

# Install dependencies
uv install

Additional sections

Configuration is done through environment variables. The common settings establish your Gravitino target and the metakube to use. You can enable authentication via token or basic username/password, and you can control which tools are active with a single variable.

Additional sections

Key environment variables to set before starting the server: GRAVITINO_URI for the base Gravitino URL and GRAVITINO_METALAKE for the metakube name. Optionally provide GRAVITINO_JWT_TOKEN for token authentication or GRAVITINO_USERNAME and GRAVITINO_PASSWORD for basic authentication. You can also limit active tools by setting GRAVITINO_ACTIVE_TOOLS (default * activates all tools).

Start the MCP server

uv \
  --directory /path/to/mcp-gravitino \
  run \
  --with fastmcp \
  --with httpx \
  --with mcp-server-gravitino \
  python -m mcp_server_gravitino.server

This composite command launches the UV CLI, sets the working directory, runs the managed environment, adds required runtime tools, and starts the Gravitino MCP server via its entry module.

Goose client configuration example

{
  "mcpServers": {
    "Gravitino": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/user/workspace/mcp-server-gravitino",
        "run",
        "--with",
        "fastmcp",
        "--with",
        "httpx",
        "--with",
        "mcp-server-gravitino",
        "python",
        "-m",
        "mcp_server_gravitino.server"
      ],
      "env": {
        "GRAVITINO_URI": "http://localhost:8090",
        "GRAVITINO_USERNAME": "admin",
        "GRAVITINO_PASSWORD": "admin",
        "GRAVITINO_METALAKE": "metalake_demo"
      }
    }
  }
}

Available tools

get_list_of_catalogs

Retrieve a list of catalogs available in the Gravitino metadata store

get_list_of_schemas

Retrieve a list of schemas within a selected catalog

get_list_of_tables

Retrieve a paginated list of tables for a given schema

get_table_by_fqn

Fetch detailed information for a specific table by fully qualified name

get_table_columns_by_fqn

Retrieve column metadata for a specific table

get_list_of_tags

Retrieve all tags defined in the system

associate_tag_to_entity

Attach a tag to a table or column entity

list_objects_by_tag

List objects associated with a particular tag

get_list_of_roles

Retrieve all user roles available in the system

get_list_of_users

Retrieve all users and their metadata

grant_role_to_user

Assign a role to a user

revoke_role_from_user

Revoke a user’s role

get_list_of_models

Retrieve a list of registered models

get_list_of_model_versions_by_fqn

Get versions of a model by its fully qualified name

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational