Skip to main content
Glama
datastrato

MCP Server for Apache Gravitino

Official
by datastrato

MCP Server for Apache Gravitino

Python Version

MCP server providing Gravitino APIs - A FastMCP integration for Apache Gravitino services.

Features

  • Seamless integration with FastMCP for Gravitino APIs

  • Simplified interface for metadata interaction

  • Supports metadata operations for catalogs, schemas, tables, models, users, tags, and user-role management

Related MCP server: MCP Trino Server

Installation

This project uses uv as the dependency and virtual environment management tool. Please ensure uv is installed on your system.

  1. Clone the repository:

    git clone git@github.com:datastrato/mcp-server-gravitino.git
  2. Navigate into the project directory:

    cd mcp-server-gravitino
  3. Create a virtual environment:

    uv venv
  4. Activate the virtual environment:

    source .venv/bin/activate
  5. Install dependencies:

    uv install

Configuration

Common Configuration

Regardless of the Authorization, the following environment variables need to be set:

GRAVITINO_METALAKE=<YOUR_METALAKE> # default: "metalake_demo"
GRAVITINO_URI=<YOUR_GRAVITINO_URI>
  • GRAVITINO_URI: The base URL of your Gravitino server.

  • GRAVITINO_METALAKE: The name of the metakube to use.

Authorization

mcp-server-gravitino supports both token-based and basic authentication methods. These mechanisms allow secure access to MCP tools and prompts and are suitable for integration with external systems.

Token Authentication

Set the following environment variables:

GRAVITINO_JWT_TOKEN=<YOUR_GRAVITINO_JWT_TOKEN>

GRAVITINO_JWT_TOKEN: The JWT token for authentication.

Basic Authentication

Alternatively, you can use basic authentication:

GRAVITINO_USERNAME=<YOUR_GRAVITINO_USERNAME>
GRAVITINO_PASSWORD=<YOUR_GRAVITINO_PASSWORD>
  • GRAVITINO_USERNAME: The username for Gravitino authentication.

  • GRAVITINO_PASSWORD: The corresponding password.

Tool Activation

Tool activation is currently based on method names (e.g., get_list_of_table). You can specify which tools to activate by setting the optional environment variable GRAVITINO_ACTIVE_TOOLS. The default value is *, which activates all tools. If just want to activate get_list_of_roles tool, you can set the environment variable as follows:

GRAVITINO_ACTIVE_TOOLS=get_list_of_roles

Usage

To launch the Gravitino MCP Server, run the following command:

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

The meaning of each argument is as follows:

Argument

Description

uv

Launches the UV CLI tool

--directory /path/to/mcp-gravitino

Specifies the working project directory with pyproject.toml

run

Indicates that a command will be executed in the managed environment

--with fastmcp

Adds fastmcp to the runtime environment without altering project deps

--with httpx

Adds httpx dependency for async HTTP functionality

--with mcp-server-gravitino

Adds the local module as a runtime dependency

python -m mcp_server_gravitino.server

Starts the MCP server using the package's entry module

Goose Client Example

Example configuration to run the server using Goose:

{
  "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"
      }
    }
  }
}

Tool List

mcp-server-gravitino does not expose all Gravitino APIs, but provides a selected set of optimized tools:

Table Tools

  • get_list_of_catalogs: Retrieve a list of catalogs

  • get_list_of_schemas: Retrieve a list of schemas

  • get_list_of_tables: Retrieve a paginated list of tables

  • get_table_by_fqn: Fetch detailed information for a specific table

  • get_table_columns_by_fqn: Retrieve column information for a table

Tag Tools

  • get_list_of_tags: Retrieve all tags

  • associate_tag_to_entity: Attach a tag to a table or column

  • list_objects_by_tag: List objects associated with a specific tag

User Role Tools

  • get_list_of_roles: Retrieve all roles

  • get_list_of_users: Retrieve all users

  • grant_role_to_user: Assign a role to a user

  • revoke_role_from_user: Revoke a user's role

Model Tools

  • get_list_of_models: Retrieve a list of models

  • get_list_of_model_versions_by_fqn: Get versions of a model by fully qualified name

Each tool is designed to return concise and relevant metadata to stay within LLM token limits while maintaining semantic integrity.

License

This project is licensed under the Apache License Version 2.0.

Related MCP Connectors

  • The Grafbase MCP server sits in front of a GraphQL API and exposes an MCP protocol-compliant interface that allows AI agents and LLMs to explore and query GraphQL APIs using natural language. It provides tools to search schemas, introspect types and fields, and execute GraphQL queries while minimizing context bloat by returning only relevant schema subsets, with built-in support for authentication, authorization, and configurable access control.

  • Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.

  • The Instant MCP server is a wrapper around the Instant Platform SDK that enables creating, managing, and updating InstantDB applications directly within an editor. It provides tools for fetching rules files for LLMs, retrieving and pushing app schemas, managing permission rules, and executing database queries. Key capabilities include schema management (get-schema, push-schema), permission management (get-perms, push-perms), query execution, and listing recent query history.

  • Tigris MCP Server seamlessly connects AI agents to Tigris bucket and object management.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A FastMCP-based server that enables executing Microsoft SQL Server data queries and table structure queries through a standardized MCP protocol interface.
    7
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server providing seamless integration with Trino and Iceberg for advanced data exploration, querying, and table maintenance.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP Server for Apache Iceberg, enabling users to read, query, and manipulate data within Iceberg catalogs.
    154 PyPI
    2
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    A FastMCP-based server that provides tools for API discovery and execution, hierarchical category management, and SQL query execution through the Model Context Protocol.
    -