MCP Server for OpenMetadata
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENMETADATA_HOST | No | Your OpenMetadata host URL | |
| OPENMETADATA_PASSWORD | No | Your OpenMetadata password for basic authentication | |
| OPENMETADATA_USERNAME | No | Your OpenMetadata username for basic authentication | |
| OPENMETADATA_JWT_TOKEN | No | Your OpenMetadata JWT token for authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tablesC | List tables from OpenMetadata with pagination and filtering |
| get_tableB | Get details of a specific table by ID |
| get_table_by_nameC | Get details of a specific table by fully qualified name |
| create_tableC | Create a new table in OpenMetadata |
| update_tableC | Update an existing table in OpenMetadata |
| delete_tableC | Delete a table from OpenMetadata |
| list_databasesC | List databases from OpenMetadata with pagination and filtering |
| get_databaseC | Get details of a specific database by ID |
| get_database_by_nameC | Get details of a specific database by fully qualified name |
| create_databaseC | Create a new database in OpenMetadata |
| update_databaseC | Update an existing database in OpenMetadata |
| delete_databaseC | Delete a database from OpenMetadata |
| list_schemasB | List database schemas from OpenMetadata with pagination and filtering |
| get_schemaC | Get details of a specific schema by ID |
| get_schema_by_nameB | Get details of a specific schema by fully qualified name |
| create_schemaC | Create a new database schema in OpenMetadata |
| update_schemaC | Update an existing database schema in OpenMetadata |
| delete_schemaC | Delete a database schema from OpenMetadata |
| list_dashboardsB | List dashboards from OpenMetadata with pagination and filtering |
| get_dashboardC | Get details of a specific dashboard by ID |
| get_dashboard_by_nameB | Get details of a specific dashboard by fully qualified name |
| create_dashboardC | Create a new dashboard in OpenMetadata |
| update_dashboardC | Update an existing dashboard in OpenMetadata |
| delete_dashboardC | Delete a dashboard from OpenMetadata |
| list_chartsC | List charts from OpenMetadata with pagination and filtering |
| get_chartC | Get details of a specific chart by ID |
| get_chart_by_nameB | Get details of a specific chart by fully qualified name |
| create_chartC | Create a new chart in OpenMetadata |
| update_chartC | Update an existing chart in OpenMetadata |
| delete_chartC | Delete a chart from OpenMetadata |
| list_pipelinesC | List pipelines from OpenMetadata with pagination and filtering |
| get_pipelineC | Get details of a specific pipeline by ID |
| get_pipeline_by_nameB | Get details of a specific pipeline by fully qualified name |
| create_pipelineC | Create a new pipeline in OpenMetadata |
| update_pipelineC | Update an existing pipeline in OpenMetadata |
| delete_pipelineC | Delete a pipeline from OpenMetadata |
| list_topicsB | List topics from OpenMetadata with pagination and filtering |
| get_topicC | Get details of a specific topic by ID |
| get_topic_by_nameC | Get details of a specific topic by fully qualified name |
| create_topicC | Create a new topic in OpenMetadata |
| update_topicC | Update an existing topic in OpenMetadata |
| delete_topicC | Delete a topic from OpenMetadata |
| list_metricsC | List metrics from OpenMetadata with pagination and filtering |
| get_metricB | Get details of a specific metric by ID |
| get_metric_by_nameB | Get details of a specific metric by fully qualified name |
| create_metricC | Create a new metric in OpenMetadata |
| update_metricC | Update an existing metric in OpenMetadata |
| delete_metricC | Delete a metric from OpenMetadata |
| list_containersB | List containers from OpenMetadata with pagination and filtering |
| get_containerC | Get details of a specific container by ID |
| get_container_by_nameC | Get details of a specific container by fully qualified name |
| create_containerC | Create a new container in OpenMetadata |
| update_containerC | Update an existing container in OpenMetadata |
| delete_containerC | Delete a container from OpenMetadata |
| list_reportsC | List reports from OpenMetadata with pagination and filtering |
| get_reportC | Get details of a specific report by ID |
| get_report_by_nameC | Get details of a specific report by fully qualified name |
| create_reportC | Create a new report in OpenMetadata |
| update_reportC | Update an existing report in OpenMetadata |
| delete_reportC | Delete a report from OpenMetadata |
| list_ml_modelsC | List ML models from OpenMetadata with pagination and filtering |
| get_ml_modelC | Get details of a specific ML model by ID |
| get_ml_model_by_nameB | Get details of a specific ML model by fully qualified name |
| create_ml_modelC | Create a new ML model in OpenMetadata |
| update_ml_modelC | Update an existing ML model in OpenMetadata |
| delete_ml_modelC | Delete an ML model from OpenMetadata |
| list_usersA | List users from OpenMetadata with pagination and filtering |
| get_userC | Get details of a specific user by ID |
| get_user_by_nameC | Get details of a specific user by name |
| create_userC | Create a new user in OpenMetadata |
| update_userC | Update an existing user in OpenMetadata |
| delete_userC | Delete a user from OpenMetadata |
| list_teamsC | List teams from OpenMetadata with pagination and filtering |
| get_teamC | Get details of a specific team by ID |
| get_team_by_nameC | Get details of a specific team by name |
| create_teamC | Create a new team in OpenMetadata |
| update_teamC | Update an existing team in OpenMetadata |
| delete_teamC | Delete a team from OpenMetadata |
| list_classificationsC | List classifications from OpenMetadata with pagination and filtering |
| get_classificationB | Get details of a specific classification by ID |
| get_classification_by_nameC | Get details of a specific classification by name |
| create_classificationC | Create a new classification in OpenMetadata |
| update_classificationC | Update an existing classification in OpenMetadata |
| delete_classificationC | Delete a classification from OpenMetadata |
| list_glossariesC | List glossaries from OpenMetadata with pagination and filtering |
| get_glossaryA | Get details of a specific glossary by ID |
| get_glossary_by_nameC | Get details of a specific glossary by name |
| create_glossaryC | Create a new glossary in OpenMetadata |
| update_glossaryC | Update an existing glossary in OpenMetadata |
| delete_glossaryC | Delete a glossary from OpenMetadata |
| list_glossary_termsC | List glossary terms with pagination and filtering |
| get_glossary_termA | Get details of a specific glossary term by ID |
| list_tagsC | List tags with pagination and filtering |
| get_tagC | Get details of a specific tag by ID |
| get_tag_by_nameC | Get details of a specific tag by name |
| create_tagC | Create a new tag in OpenMetadata |
| update_tagC | Update an existing tag |
| delete_tagC | Delete a tag from OpenMetadata |
| list_tag_categoriesC | List tag categories |
| get_tag_categoryC | Get tag category by name |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 186 tools
Each tool targets a distinct resource/action, and get_X vs get_X_by_name pairs are explicitly differentiated by ID vs FQN in their descriptions. The main risk is the sheer number of similar entity-specific getters (database, dashboard, database_service), but descriptions resolve most ambiguity.
Tool names follow a strong, predictable snake_case action_resource pattern: list_<entity>, get_<entity>, get_<entity>_by_name, create_<entity>, update_<entity>, delete_<entity>. Domain actions like test_service_connection, add_lineage, and validate_policy still fit the verb-first convention clearly.
186 tools is an extreme surface for a single MCP server, far beyond the 25+ threshold where selection quality collapses. Even with consistent naming, this flat catalog is overwhelming and would be better split into domain-specific servers for metadata, quality, governance, and search.
Core metadata entities such as tables, databases, schemas, dashboards, topics, metrics, users, and teams have full or near-full CRUD coverage. However, significant gaps remain: dashboard services and messaging services lack update/delete operations, and glossary terms only have list/get and no create/update/delete lifecycle.