Skip to main content
Glama

MCP Server for OpenMetadata

by yangkyeongmo

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.

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

Core Data Entities (table, database, databaseschema)

FeatureAPI PathStatus
Tables
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}
Databases
List Databases/api/v1/databases
Get Database/api/v1/databases/{id}
Get Database by Name/api/v1/databases/name/{fqn}
Create Database/api/v1/databases
Update Database/api/v1/databases/{id}
Delete Database/api/v1/databases/{id}
Database Schemas
List Database Schemas/api/v1/databaseSchemas
Get Database Schema/api/v1/databaseSchemas/{id}
Get Database Schema by Name/api/v1/databaseSchemas/name/{fqn}
Create Database Schema/api/v1/databaseSchemas
Update Database Schema/api/v1/databaseSchemas/{id}
Delete Database Schema/api/v1/databaseSchemas/{id}

Data Assets (dashboard, chart, pipeline, topic, metric, container, report, mlmodel)

FeatureAPI PathStatus
Dashboards
List Dashboards/api/v1/dashboards
Get Dashboard/api/v1/dashboards/{id}
Get Dashboard by Name/api/v1/dashboards/name/{fqn}
Create Dashboard/api/v1/dashboards
Update Dashboard/api/v1/dashboards/{id}
Delete Dashboard/api/v1/dashboards/{id}
Charts
List Charts/api/v1/charts
Get Chart/api/v1/charts/{id}
Get Chart by Name/api/v1/charts/name/{fqn}
Create Chart/api/v1/charts
Update Chart/api/v1/charts/{id}
Delete Chart/api/v1/charts/{id}
Pipelines
List Pipelines/api/v1/pipelines
Get Pipeline/api/v1/pipelines/{id}
Get Pipeline by Name/api/v1/pipelines/name/{fqn}
Create Pipeline/api/v1/pipelines
Update Pipeline/api/v1/pipelines/{id}
Delete Pipeline/api/v1/pipelines/{id}
Topics
List Topics/api/v1/topics
Get Topic/api/v1/topics/{id}
Get Topic by Name/api/v1/topics/name/{fqn}
Create Topic/api/v1/topics
Update Topic/api/v1/topics/{id}
Delete Topic/api/v1/topics/{id}
Metrics
List Metrics/api/v1/metrics
Get Metric/api/v1/metrics/{id}
Get Metric by Name/api/v1/metrics/name/{fqn}
Create Metric/api/v1/metrics
Update Metric/api/v1/metrics/{id}
Delete Metric/api/v1/metrics/{id}
Containers
List Containers/api/v1/containers
Get Container/api/v1/containers/{id}
Get Container by Name/api/v1/containers/name/{fqn}
Create Container/api/v1/containers
Update Container/api/v1/containers/{id}
Delete Container/api/v1/containers/{id}
Reports
List Reports/api/v1/reports
Get Report/api/v1/reports/{id}
Get Report by Name/api/v1/reports/name/{fqn}
Create Report/api/v1/reports
Update Report/api/v1/reports/{id}
Delete Report/api/v1/reports/{id}
ML Models
List ML Models/api/v1/mlmodels
Get ML Model/api/v1/mlmodels/{id}
Get ML Model by Name/api/v1/mlmodels/name/{fqn}
Create ML Model/api/v1/mlmodels
Update ML Model/api/v1/mlmodels/{id}
Delete ML Model/api/v1/mlmodels/{id}

Users & Teams (user, team)

FeatureAPI PathStatus
Teams
List Teams/api/v1/teams
Get Team/api/v1/teams/{id}
Get Team by Name/api/v1/teams/name/{name}
Create Team/api/v1/teams
Update Team/api/v1/teams/{id}
Delete Team/api/v1/teams/{id}
Users
List Users/api/v1/users
Get User/api/v1/users/{id}
Get User by Name/api/v1/users/name/{name}
Create User/api/v1/users
Update User/api/v1/users/{id}
Delete User/api/v1/users/{id}

Governance & Classification (classification, glossary, tag)

FeatureAPI PathStatus
Classifications
List Classifications/api/v1/classifications
Get Classification/api/v1/classifications/{id}
Get Classification by Name/api/v1/classifications/name/{name}
Create Classification/api/v1/classifications
Update Classification/api/v1/classifications/{id}
Delete Classification/api/v1/classifications/{id}
Glossaries
List Glossaries/api/v1/glossaries
Get Glossary/api/v1/glossaries/{id}
Get Glossary by Name/api/v1/glossaries/name/{name}
Create Glossary/api/v1/glossaries
Update Glossary/api/v1/glossaries/{id}
Delete Glossary/api/v1/glossaries/{id}
List Glossary Terms/api/v1/glossaryTerms
Get Glossary Term/api/v1/glossaryTerms/{id}
Tags
List Tags/api/v1/tags
Get Tag/api/v1/tags/{id}
Get Tag by Name/api/v1/tags/name/{name}
Create Tag/api/v1/tags
Update Tag/api/v1/tags/{id}
Delete Tag/api/v1/tags/{id}

System & Operations (bot, services, event)

FeatureAPI PathStatus
Bots
List Bots/api/v1/bots
Get Bot/api/v1/bots/{id}
Get Bot by Name/api/v1/bots/name/{name}
Create Bot/api/v1/bots
Update Bot/api/v1/bots/{id}
Delete Bot/api/v1/bots/{id}
Services
List Services/api/v1/services
Database Services/api/v1/services/databaseServices
Dashboard Services/api/v1/services/dashboardServices
Messaging Services/api/v1/services/messagingServices
Test Connection/api/v1/services/testConnection
Events
List Events/api/v1/events
List Event Subscriptions/api/v1/events/subscriptions
Get Event Subscription/api/v1/events/subscriptions/{id}
Create Event Subscription/api/v1/events/subscriptions
Update Event Subscription/api/v1/events/subscriptions/{id}
Delete Event Subscription/api/v1/events/subscriptions/{id}
Test Destination/api/v1/events/subscriptions/testDestination
FeatureAPI PathStatus
Lineage
Get Lineage by Entity ID/api/v1/lineage/{entity}/{id}
Get Lineage by Entity Name/api/v1/lineage/{entity}/name/{fqn}
Add/Update Lineage/api/v1/lineage
Delete Lineage/api/v1/lineage
Usage
Get Entity Usage/api/v1/usage/{entity}/{id}
Add Usage Data/api/v1/usage
Get Usage Summary/api/v1/usage/summary
Search & Discovery
Search Query/api/v1/search/query
Search Suggest/api/v1/search/suggest
Search Aggregate/api/v1/search/aggregate
Search Field Query/api/v1/search/fieldQuery

Data Quality (test_case, test_suite)

FeatureAPI PathStatus
Test Cases
List Test Cases/api/v1/dataQuality/testCases
Get Test Case/api/v1/dataQuality/testCases/{id}
Get Test Case by Name/api/v1/dataQuality/testCases/name/{fqn}
Create Test Case/api/v1/dataQuality/testCases
Update Test Case/api/v1/dataQuality/testCases/{id}
Delete Test Case/api/v1/dataQuality/testCases/{id}
List Test Case Results/api/v1/dataQuality/testCases/{fqn}/testCaseResult
Get Test Case Results/api/v1/dataQuality/testCases/testCaseResults/{fqn}
Test Suites
List Test Suites/api/v1/dataQuality/testSuites
Get Test Suite/api/v1/dataQuality/testSuites/{id}
Get Test Suite by Name/api/v1/dataQuality/testSuites/name/{name}
Create Basic Test Suite/api/v1/dataQuality/testSuites/basic
Create Executable Test Suite/api/v1/dataQuality/testSuites/executable
Update Test Suite/api/v1/dataQuality/testSuites/{id}
Delete Test Suite/api/v1/dataQuality/testSuites/{id}
Get Execution Summary/api/v1/dataQuality/testSuites/executionSummary
Get Data Quality Report/api/v1/dataQuality/testSuites/dataQualityReport

Access Control & Security (policy, role)

FeatureAPI PathStatus
Policies
List Policies/api/v1/policies
Get Policy/api/v1/policies/{id}
Get Policy by Name/api/v1/policies/name/{name}
Create Policy/api/v1/policies
Update Policy/api/v1/policies/{id}
Delete Policy/api/v1/policies/{id}
Validate Policy/api/v1/policies/validation/condition
List Policy Resources/api/v1/policies/resources
Roles
List Roles/api/v1/roles
Get Role/api/v1/roles/{id}
Get Role by Name/api/v1/roles/name/{name}
Create Role/api/v1/roles
Update Role/api/v1/roles/{id}
Delete Role/api/v1/roles/{id}

Domain Management (domain)

FeatureAPI PathStatus
Domains
List Domains/api/v1/domains
Get Domain/api/v1/domains/{id}
Get Domain by Name/api/v1/domains/name/{name}
Create Domain/api/v1/domains
Update Domain/api/v1/domains/{id}
Delete Domain/api/v1/domains/{id}
Data Products
List Data Products/api/v1/dataProducts
Get Data Product/api/v1/dataProducts/{id}
Get Data Product by Name/api/v1/dataProducts/name/{fqn}
Create Data Product/api/v1/dataProducts
Update Data Product/api/v1/dataProducts/{id}
Delete Data Product/api/v1/dataProducts/{id}

Not Yet Implemented

FeatureAPI PathStatus
API Management
API Collections/api/v1/apiCollections
API Endpoints/api/v1/apiEndpoints
Other Assets
Apps/api/v1/apps
Feeds & Activity
Feeds/api/v1/feed
Advanced Features
Personas/api/v1/personas
Queries/api/v1/queries
Search Indexes/api/v1/searchIndexes
Stored Procedures/api/v1/storedProcedures
Suggestions/api/v1/suggestions
Webhooks/api/v1/webhooks

API Groups

The server supports modular API group selection via command line arguments. Available API groups:

Core Data Entities

  • table - Table entity management
  • database - Database entity management
  • databaseschema - Database schema management

Data Assets

  • dashboard - Dashboard entity management
  • chart - Chart entity management
  • pipeline - Pipeline entity management
  • topic - Topic entity management
  • metrics - Metric entity management
  • container - Container entity management
  • report - Report entity management
  • mlmodel - ML Model entity management

Users & Teams

  • user - User entity management
  • team - Team entity management

Governance & Classification

  • classification - Classification entity management
  • glossary - Glossary and glossary terms management
  • tag - Tag and tag category management

System & Operations

  • bot - Bot entity management
  • services - Service configurations and connection testing
  • event - Event subscriptions and notifications

Analytics & Monitoring

  • lineage - Data lineage management
  • usage - Usage analytics management
  • search - Search and discovery operations

Data Quality

  • test_case - Data quality test case management
  • test_suite - Data quality test suite management

Access Control & Security

  • policy - Access policies and security management
  • role - Role-based access control management

Domain Management

  • domain - Domain and data product management

You can specify which API groups to enable when running the server:

# Enable only core entities python -m src.main --apis table,database,databaseschema # Enable comprehensive data quality and governance python -m src.main --apis test_case,test_suite,policy,role,tag,domain # Enable all available APIs python -m src.main --apis table,database,databaseschema,dashboard,chart,pipeline,topic,metrics,container,report,mlmodel,user,team,classification,glossary,tag,bot,services,event,lineage,usage,search,test_case,test_suite,policy,role,domain # Use default selection (all implemented APIs) python -m src.main

Setup

Installing via Smithery

To install OpenMetadata MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @yangkyeongmo/mcp-server-openmetadata --client claude

Environment Variables

Set one of the following authentication methods:

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:

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

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

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

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

  1. About
    1. Feature Implementation Status
      1. Setup
        1. Environment Variables
        2. Usage with Claude Desktop
        3. Manual Execution
      2. Contributing
        1. License

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            Enables type-safe, bidirectional communication with Model Context Protocol services, allowing centralized management of model contexts over HTTP.
            Last updated -
            196
            TypeScript
            MIT License
          • A
            security
            A
            license
            A
            quality
            Enables interaction with esa.io's API through the Model Context Protocol, supporting article search and retrieval with a compliant MCP interface.
            Last updated -
            3
            618
            35
            TypeScript
            MIT License
          • A
            security
            A
            license
            A
            quality
            Integration Strava API с Model Context Protocol SDK
            Last updated -
            4
            Python
            MIT License
          • -
            security
            A
            license
            -
            quality
            A REST API built with FastAPI that exposes endpoints via Model Context Protocol (MCP), allowing clients to interact with CRUD operations through MCP interfaces.
            Last updated -
            Python
            MIT License
            • Apple
            • Linux

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/yangkyeongmo/mcp-server-openmetadata'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server