- Explore MCP Servers
- mcp-server-openmetadata
Mcp Server Openmetadata
What is Mcp Server Openmetadata
mcp-server-openmetadata is an implementation of a Model Context Protocol (MCP) server designed for OpenMetadata. It facilitates standardized interactions between MCP clients and OpenMetadata’s REST API, enabling seamless integration.
Use cases
Use cases include integrating data asset management systems with OpenMetadata, enabling seamless data governance processes, and providing a standardized interface for data-related applications to interact with OpenMetadata.
How to use
To use mcp-server-openmetadata, you need to set up authentication by configuring environment variables for either Token Authentication or Basic Authentication. Then, integrate it into your application by adding it to your configuration file, specifying the necessary authentication details.
Key features
Key features include the ability to interact with various data assets such as databases and tables, support for CRUD operations on tables, and a structured way to access OpenMetadata’s REST API. However, many features are still under development and not yet available.
Where to use
mcp-server-openmetadata can be used in data management, analytics, and business intelligence environments where OpenMetadata is utilized for metadata management and data governance.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Mcp Server Openmetadata
mcp-server-openmetadata is an implementation of a Model Context Protocol (MCP) server designed for OpenMetadata. It facilitates standardized interactions between MCP clients and OpenMetadata’s REST API, enabling seamless integration.
Use cases
Use cases include integrating data asset management systems with OpenMetadata, enabling seamless data governance processes, and providing a standardized interface for data-related applications to interact with OpenMetadata.
How to use
To use mcp-server-openmetadata, you need to set up authentication by configuring environment variables for either Token Authentication or Basic Authentication. Then, integrate it into your application by adding it to your configuration file, specifying the necessary authentication details.
Key features
Key features include the ability to interact with various data assets such as databases and tables, support for CRUD operations on tables, and a structured way to access OpenMetadata’s REST API. However, many features are still under development and not yet available.
Where to use
mcp-server-openmetadata can be used in data management, analytics, and business intelligence environments where OpenMetadata is utilized for metadata management and data governance.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
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
| 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
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










