openmetadata-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OM_TOOLS | No | Comma-sep allowlist of categories | |
| OM_DISABLE | No | Comma-sep denylist, ignored when OM_TOOLS set | |
| MCP_HTTP_HOST | No | HTTP bind host | 127.0.0.1 |
| MCP_HTTP_PORT | No | HTTP listen port | 3000 |
| MCP_TRANSPORT | No | http to enable Streamable HTTP transport | stdio |
| MCP_HTTP_TOKEN | No | Bearer token. Required when MCP_TRANSPORT=http | |
| OPENMETADATA_HOST | Yes | OpenMetadata server URL (e.g. http://localhost:8585) | |
| MCP_HTTP_SKIP_AUTH | No | Skip Bearer auth — e.g. behind a reverse proxy that handles it | false |
| OPENMETADATA_TOKEN | Yes | JWT or Bot token | |
| OPENMETADATA_ALLOW_WRITE | No | Set true to enable mutations | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search-metadata | Search OpenMetadata entities (tables, topics, dashboards, pipelines, glossary terms, etc.) by keyword |
| suggest-metadata | Get autocomplete suggestions for OpenMetadata entity names |
| semantic-search | Natural-language semantic search over OpenMetadata entities using vector embeddings (requires OM 1.12+ with semantic search enabled) |
| list-tables | List tables with pagination and optional field expansion |
| get-table | Get table details by UUID |
| get-table-by-name | Get table details by fully qualified name |
| create-table | Create a new table in OpenMetadata |
| update-table | Update a table using JSON Patch operations |
| delete-table | Delete a table by UUID |
| list-databases | List databases with pagination and service filtering |
| get-database | Get database details by UUID |
| get-database-by-name | Get database details by fully qualified name |
| create-database | Create a new database in OpenMetadata |
| update-database | Update a database using JSON Patch operations |
| delete-database | Delete a database by UUID |
| list-schemas | List database schemas with pagination |
| get-schema | Get database schema details by UUID |
| get-schema-by-name | Get database schema details by fully qualified name |
| create-schema | Create a new database schema |
| update-schema | Update a database schema using JSON Patch operations |
| delete-schema | Delete a database schema by UUID |
| get-lineage | Get upstream and downstream lineage for an entity by UUID |
| get-lineage-by-name | Get upstream and downstream lineage for an entity by FQN |
| add-lineage | Add or update lineage edge between two entities |
| delete-lineage | Delete a lineage edge between two entities |
| list-database-services | List database services (connectors) |
| get-database-service | Get database service details by UUID |
| get-database-service-by-name | Get database service by name |
| create-database-service | Create a new database service connector |
| update-database-service | Update a database service using JSON Patch |
| delete-database-service | Delete a database service |
| list-dashboard-services | List dashboard services |
| get-dashboard-service | Get dashboard service by name |
| list-messaging-services | List messaging services (Kafka, etc.) |
| get-messaging-service | Get messaging service by name |
| list-pipeline-services | List pipeline services (Airflow, etc.) |
| get-pipeline-service | Get pipeline service by name |
| list-ml-model-services | List ML model services |
| get-ml-model-service | Get ML model service by name |
| list-storage-services | List storage services (S3, GCS, etc.) |
| get-storage-service | Get storage service by name |
| list-glossaries | List glossaries with pagination |
| get-glossary | Get glossary details by UUID |
| get-glossary-by-name | Get glossary details by name |
| create-glossary | Create a new glossary for business terms |
| update-glossary | Update a glossary using JSON Patch operations |
| delete-glossary | Delete a glossary by UUID |
| list-glossary-terms | List glossary terms with pagination and glossary filtering |
| get-glossary-term | Get glossary term details by UUID |
| get-glossary-term-by-name | Get glossary term by fully qualified name |
| create-glossary-term | Create a new glossary term |
| update-glossary-term | Update a glossary term using JSON Patch operations |
| delete-glossary-term | Delete a glossary term by UUID |
| list-dashboards | List dashboards with pagination and service filtering |
| get-dashboard | Get dashboard details by UUID |
| get-dashboard-by-name | Get dashboard by fully qualified name |
| create-dashboard | Create a new dashboard |
| update-dashboard | Update a dashboard using JSON Patch operations |
| delete-dashboard | Delete a dashboard by UUID |
| list-pipelines | List pipelines with pagination and service filtering |
| get-pipeline | Get pipeline details by UUID |
| get-pipeline-by-name | Get pipeline by fully qualified name |
| create-pipeline | Create a new pipeline |
| update-pipeline | Update a pipeline using JSON Patch operations |
| delete-pipeline | Delete a pipeline by UUID |
| list-topics | List topics (Kafka, etc.) with pagination |
| get-topic | Get topic details by UUID |
| get-topic-by-name | Get topic by fully qualified name |
| create-topic | Create a new topic |
| update-topic | Update a topic using JSON Patch operations |
| delete-topic | Delete a topic by UUID |
| list-charts | List charts with pagination and service filtering |
| get-chart | Get chart details by UUID |
| get-chart-by-name | Get chart by fully qualified name |
| create-chart | Create a new chart |
| update-chart | Update a chart using JSON Patch operations |
| delete-chart | Delete a chart by UUID |
| list-containers | List storage containers with pagination |
| get-container | Get container details by UUID |
| get-container-by-name | Get container by fully qualified name |
| create-container | Create a new storage container |
| update-container | Update a container using JSON Patch operations |
| delete-container | Delete a container by UUID |
| list-ml-models | List ML models with pagination and service filtering |
| get-ml-model | Get ML model details by UUID |
| get-ml-model-by-name | Get ML model by fully qualified name |
| create-ml-model | Create a new ML model |
| update-ml-model | Update an ML model using JSON Patch operations |
| delete-ml-model | Delete an ML model by UUID |
| list-classifications | List tag classifications |
| get-classification | Get classification details by name |
| create-classification | Create a new tag classification |
| delete-classification | Delete a tag classification |
| list-tags | List tags with pagination and classification filtering |
| get-tag | Get tag details by UUID |
| get-tag-by-name | Get tag by fully qualified name |
| create-tag | Create a new tag under a classification |
| update-tag | Update a tag using JSON Patch operations |
| delete-tag | Delete a tag by UUID |
| list-domains | List domains with pagination |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| lineage-impact-analysis | Walk lineage from an entity to identify downstream/upstream entities at risk and the owners to notify before a breaking change. |
| data-quality-investigation | Inspect a table's data quality test cases, group recent failures by severity, and propose remediation steps per failing test. |
| glossary-term-bootstrap | Scan a table's columns for ambiguous names/descriptions, propose glossary terms (de-duplicated against an existing glossary), and emit ready-to-run create-glossary-term calls. |
| data-contract-bootstrap | Read-only audit that compiles a draft Data Contract for a table — schema rules from columns, quality rules from existing test cases, owners from entity owners, freshness from ingestion stats. Outputs a ready-to-apply JSON spec; the user creates the contract manually since write tools for Data Contracts are not yet exposed. |
| owner-change-propagation | Audit ownership across all assets in a domain and produce a checklist of updates needed to assign a new owner. Read-only audit; the user runs the actual updates. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| lineage-impact-card | Apps SDK UI template rendered with lineage-impact tool output |
Latest Blog Posts
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/us-all/openmetadata-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server