Skip to main content

MseeP.ai Security Assessment Badge

mcp-server-openmetadata

smithery badge

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.

Server for OpenMetadata MCP server

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)

Feature API Path Status
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)

Feature API Path Status
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)

Feature API Path Status
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)

Feature API Path Status
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)

Feature API Path Status
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 ✅

Analytics & Monitoring (lineage, usage, search)

Feature API Path Status
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)

Feature API Path Status
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)

Feature API Path Status
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)

Feature API Path Status
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

Feature API Path Status
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:

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

Metadata

Release files for mcp-server-openmetadata 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-server-openmetadata 0.2.4
File Size Uploaded Provenance
mcp_server_openmetadata-0.2.4.tar.gz 27.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-server-openmetadata 0.2.4
File Interpreter ABI Platform
mcp_server_openmetadata-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 83.6 kB

Release files / mcp_server_openmetadata-0.2.4.tar.gz

Download URL mcp_server_openmetadata-0.2.4.tar.gz
Size 27.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b939c8a5f102963cf0ceb231d947ea73c5dcad1fecdfe4528ef2cf3e6140ab92
BLAKE2b-256 checksum
How to use checksums
beb9f367ef6deef4f256c2f571d9aff41fd08cd86ac375c9a5650495226b6afc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / mcp_server_openmetadata-0.2.4-py3-none-any.whl

Download URL mcp_server_openmetadata-0.2.4-py3-none-any.whl
Size 56.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22d0cbbbba08c3f76c00c97a8cf641f180128c3406cf5efe137f4e5c7aa20c6d
BLAKE2b-256 checksum
How to use checksums
b629a06562b9049440239692d04906ab802e5ea2b6c90b0321e76d04d6d0b4be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Security for mcp-server-openmetadata 0.2.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page