MCP OpenMetadata

by pfldy2850

2 stars
386 downloads
Not rated
GitHub

About

MCP OpenMetadata is a FastMCP-based server that provides a subset of OpenMetadata APIs for querying and managing metadata. It offers tools for searching entities, retrieving table metadata, columns, ownership information, and sample data—designed for AI assistants to interact…

Details

Author
pfldy2850
GitHub stars
2
Downloads
386
Categories
Other

- Search entities using query text with pagination and sorting
- Retrieve paginated list of tables with basic information
- Get detailed table information by fully qualified name
- Fetch table columns and ownership details
- Access sample data from specified tables
- Supports token and basic authentication methods

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP OpenMetadata
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the package via uv pip install mcp-openmetadata or pip install mcp-openmetadata. Configure it in your MCP client with the command python -m mcp_openmetadata.server and environment variables for authentication (OPENMETADATA_URI plus either OPENMETADATA_JWT_TOKEN for token auth or OPENMETADATA_USERNAME/OPENMETADATA_PASSWORD for basic auth). Then invoke any of the provided tools from your LLM.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp openmetadata": {
            "mcp-openmetadata": {
                "command": "uv",
                "args": [
                    "pip",
                    "install",
                    "mcp-openmetadata"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-openmetadata": {
        "command": "uv",
        "args": [
            "pip",
            "install",
            "mcp-openmetadata"
        ]
    }
}

MCP OpenMetadata

PyPI version
License: MIT
Python Version

MCP server providing OpenMetadata APIs - A FastMCP integration for OpenMetadata services.

Features

- OpenMetadata API integration with FastMCP
- Easy-to-use interface for metadata management
- Support for table metadata, sample data, and ownership information

Installation

from PyPi (Cursor)

Install it to Cursor with (uv):

uv pip install mcp-openmetadata

uv run python -m mcp-openmetadata.hosts.cursor \
-e OPENMETADATA_URI=<YOUR OPENMETADATA URI> \
-e OPENMETADATA_JWT_TOKEN=<YOUR OPENMETADATA JWT TOKEN>

Install it to Cursor with (pip):

pip install mcp-openmetadata

python -m mcp-openmetadata.hosts.cursor \
-e OPENMETADATA_URI=<YOUR OPENMETADATA URI> \
-e OPENMETADATA_JWT_TOKEN=<YOUR OPENMETADATA JWT TOKEN>

from configuration

{
    "mcpServers": {
        "OpenMetadata": {
            "command": "uv",
            "args": [
                "run",
                "--with",
                "fastmcp",
                "--with",
                "httpx",
                "--with",
                "mcp-openmetadata",
                "python",
                "-m",
                "mcp_openmetadata.server"
            ],
            "env": {
                "OPENMETADATA_URI": "http://localhost:8585",
                "OPENMETADATA_JWT_TOKEN": "awesome_jwt_token"
            }
        }
    }
}

Environment Variables

Authorization

mcp-openmetadata provides token auth and basic auth:

Token Auth

OPENMETADATA_URI=http://localhost:8585
OPENMETADATA_JWT_TOKEN=<YOUR OPENMETADATA JWT TOKEN>

Basic Auth

OPENMETADATA_URI=http://localhost:8585
OPENMETADATA_USERNAME=<YOUR OPENMETADATA USERNAME>
OPENMETADATA_PASSWORD=<YOUR OPENMETADATA PASSWORD>

Tool list

mcp-openmetadata does not provide all APIs available in OpenMetadata. Please refer to Supported APIs for the list of available APIs.

Since using the original API directly contains too much unnecessary data that is difficult to fit into the model context, we are working on returning somewhat organized results.

Search Tools

- search_entities_with_query: Search entities using query text. Supports pagination and sorting. Useful for: - Listing all tables/topics (q=*) - Searching by field names (e.g., q=columnNames:address) - Searching by tags (e.g., q=tags.tagFQN:user.email) - Complex queries with AND/OR operators - Filtering by service type, constraints, owners, etc.

Table Tools

- get_list_of_tables: Get a paginated list of tables with basic information - get_table_by_fqn: Get detailed table information by fully qualified name - get_table_columns_by_fqn: Get table columns information by fully qualified name - get_table_owners_by_fqn: Get table ownership information by fully qualified name - get_sample_data: Get sample data from a specified table

Each tool returns optimized responses with relevant fields to ensure compatibility with model context limits while providing essential metadata information.

License

This project is open source software licensed as MIT.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.