mcp-server-openmetadata

mcp-server-openmetadata

Enables integration with OpenMetadata by wrapping its REST API for standardized interaction through the Model Context Protocol.

yangkyeongmo

Developer Tools
Visit Server

Tools

list_tables

List tables from OpenMetadata

get_table

Get details of a specific table by ID

get_table_by_name

Get details of a specific table by fully qualified name

create_table

Create a new table

update_table

Update an existing table

delete_table

Delete a table

README

mcp-server-openmetadata

A Model Context Protocol (MCP) server implementation for OpenMetadata, enabling seamless integration with MCP clients. This project provides a standardized way to interact with OpenMetadata through the Model Context Protocol.

<a href="https://glama.ai/mcp/servers/lvgl5cmxa6"> <img width="380" height="200" src="https://glama.ai/mcp/servers/lvgl5cmxa6/badge" alt="Server for OpenMetadata MCP server" /> </a>

About

This project implements a Model Context Protocol server that wraps OpenMetadata's REST API, allowing MCP clients to interact with OpenMetadata in a standardized way.

Feature Implementation Status

Feature API Path Status
Data Assets
List Databases /api/v1/databases ❌
Get Database /api/v1/databases/{id} ❌
Get Database by Name /api/v1/databases/name/{fqn} ❌
Export Database /api/v1/databases/name/{name}/export ❌
Import Database /api/v1/databases/name/{name}/import ❌
List Tables /api/v1/tables ✅
Get Table /api/v1/tables/{id} ✅
Get Table by Name /api/v1/tables/name/{fqn} ✅
Create Table /api/v1/tables ✅
Update Table /api/v1/tables/{id} ✅
Delete Table /api/v1/tables/{id} ✅
Export Table /api/v1/tables/name/{name}/export ❌
Import Table /api/v1/tables/name/{name}/import ❌
List Metrics /api/v1/metrics ❌
Get Metric /api/v1/metrics/{id} ❌
List Dashboards /api/v1/dashboards ❌
Get Dashboard /api/v1/dashboards/{id} ❌
Get Dashboard by Name /api/v1/dashboards/name/{fqn} ❌
List Reports /api/v1/reports ❌
Get Report /api/v1/reports/{id} ❌
List Pipelines /api/v1/pipelines ❌
Get Pipeline /api/v1/pipelines/{id} ❌
Get Pipeline by Name /api/v1/pipelines/name/{fqn} ❌
List Topics /api/v1/topics ❌
Get Topic /api/v1/topics/{id} ❌
Services
List Database Services /api/v1/services/databaseServices ❌
Get Database Service /api/v1/services/databaseServices/{id} ❌
Get Database Service by Name /api/v1/services/databaseServices/name/{fqn} ❌
Export Database Service /api/v1/services/databaseServices/name/{name}/export ❌
Import Database Service /api/v1/services/databaseServices/name/{name}/import ❌
List Dashboard Services /api/v1/services/dashboardServices ❌
Get Dashboard Service /api/v1/services/dashboardServices/{id} ❌
Get Dashboard Service by Name /api/v1/services/dashboardServices/name/{fqn} ❌
Teams & Users
List Teams /api/v1/teams ❌
Get Team /api/v1/teams/{id} ❌
Get Team by Name /api/v1/teams/name/{fqn} ❌
Export Team /api/v1/teams/name/{name}/export ❌
Import Team /api/v1/teams/name/{name}/import ❌
List Users /api/v1/users ❌
Get User /api/v1/users/{id} ❌
Get User by Name /api/v1/users/name/{name} ❌
User Login /api/v1/users/login ❌
User Logout /api/v1/users/logout ❌
User Signup /api/v1/users/signup ❌
Change Password /api/v1/users/changePassword ❌
Search
Search Query /api/v1/search/query ❌
Search Suggest /api/v1/search/suggest ❌
Search Aggregate /api/v1/search/aggregate ❌
Field Query /api/v1/search/fieldQuery ❌
Get Document /api/v1/search/get/{index}/doc/{id} ❌
Tags & Classifications
List Tags /api/v1/tags ❌
Get Tag /api/v1/tags/{id} ❌
Get Tag by Name /api/v1/tags/name/{fqn} ❌
Lineage
Get Lineage /api/v1/lineage/getLineage ❌
Export Lineage /api/v1/lineage/export ❌
Get Entity Lineage by Name /api/v1/lineage/{entity}/name/{fqn} ❌
Get Entity Lineage by ID /api/v1/lineage/{entity}/{id} ❌
Get Lineage Edge /api/v1/lineage/getLineageEdge/{fromId}/{toId} ❌
Add/Update Lineage /api/v1/lineage ❌
Add/Update Lineage by FQN /api/v1/lineage/{fromEntity}/name/{fromFQN}/{toEntity}/name/{toFQN} ❌
Add/Update Lineage by ID /api/v1/lineage/{fromEntity}/{fromId}/{toEntity}/{toId} ❌
Glossaries
List Glossaries /api/v1/glossaries ❌
Get Glossary /api/v1/glossaries/{id} ❌
Get Glossary by Name /api/v1/glossaries/name/{fqn} ❌
Export Glossary /api/v1/glossaries/name/{name}/export ❌
Import Glossary /api/v1/glossaries/name/{name}/import ❌
List Glossary Terms /api/v1/glossaryTerms ❌
Get Glossary Term /api/v1/glossaryTerms/{id} ❌
Get Glossary Term by Name /api/v1/glossaryTerms/name/{fqn} ❌
Add Assets to Term /api/v1/glossaryTerms/{id}/assets/add ❌
Remove Assets from Term /api/v1/glossaryTerms/{id}/assets/remove ❌
Validate Term Tags /api/v1/glossaryTerms/{id}/tags/validate ❌
Usage
Get Entity Usage by Name /api/v1/usage/{entity}/name/{fqn} ❌
Get Entity Usage by ID /api/v1/usage/{entity}/{id} ❌

Setup

Environment Variables

Set one of the following authentication methods:

Token Authentication (Recommended)

OPENMETADATA_HOST=<your-openmetadata-host>
OPENMETADATA_JWT_TOKEN=<your-jwt-token>

Basic Authentication

OPENMETADATA_HOST=<your-openmetadata-host>
OPENMETADATA_USERNAME=<your-username>
OPENMETADATA_PASSWORD=<your-password>

Usage with Claude Desktop

Add to your claude_desktop_config.json using one of the following authentication methods:

Token Authentication (Recommended)

{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uvx",
      "args": ["mcp-server-openmetadata"],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

Basic Authentication

{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uvx",
      "args": ["mcp-server-openmetadata"],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_USERNAME": "your-username",
        "OPENMETADATA_PASSWORD": "your-password"
      }
    }
  }
}

Alternative configuration using uv:

Token Authentication (Recommended)

{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-openmetadata",
        "run",
        "mcp-server-openmetadata"
      ],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}

Basic Authentication

{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-openmetadata",
        "run",
        "mcp-server-openmetadata"
      ],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_USERNAME": "your-username",
        "OPENMETADATA_PASSWORD": "your-password"
      }
    }
  }
}

Replace /path/to/mcp-server-openmetadata with the actual path where you've cloned the repository.

Manual Execution

You can also run the server manually:

python src/server.py

Options:

  • --port: Port to listen on for SSE (default: 8000)
  • --transport: Transport type (stdio/sse, default: stdio)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript