Reported issues for OpenMetadata
Pod holds 24 of 230 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to OpenMetadata.
Most discussed
[Feature] Fix hardcoded RoleBinding name in k8s-pipeline-rbac.yaml
In [./templates/k8s-pipeline-rbac.yaml], the RoleBinding for the OpenMetadata server uses a hardcoded name:
line 114 — current
name: openmetadata-server-pipeline-manager
This should use the Helm fullname helper to follow the naming convention used throughout the chart:
proposed fix
name: {{ include "OpenMetadata.fullname" . }}-server-pipeline-manager
The same fix should be applied to the Role name on line 69. This ensures the resource names are unique per Helm release and consistent with t
Read the thread · 2026-04-21 · open · external user · 6 comments
Metadata AI SDK Starter Templates / Recipes
The Metadata AI SDK (Java, Python, Node.js) is brand new. Create a collection of ready-to-run recipes and starter templates that showcase what's possible:
- A Python notebook that builds a "metadata health report" using the SDK
- Follow the “langchain” approach on the SDK that was done for Python, to other frameworks and languages.
- A LangChain agent template with OpenMetadata MCP tools pre-configured
Read the thread · 2026-03-20 · closed · outside contributor · 5 comments
Multi-MCP Agent Orchestrator
Combine the OpenMetadata MCP server with other MCP servers (e.g., the new Google Workspace CLI MCP, GitHub MCP, Slack MCP) to build an agent that can perform cross-platform workflows:
- "Find all tables that failed data quality checks last week, create a Google Sheet summary, and post it in the #data-quality Slack channel."
- "For every table tagged PII in the marketing domain, generate a data contract draft and save it as a Google Doc."
Read the thread · 2026-03-20 · closed · outside contributor · 11 comments
Conversational Data Catalog Chat App
Build a chat interface (web or terminal) that connects to the OpenMetadata MCP server and lets users interact with their data catalog in natural language. Think "ChatGPT for your metadata" — ask questions like "What tables feed the revenue dashboard?", "Who owns the customer table?", or "Show me PII-tagged columns in production."
Read the thread · 2026-03-19 · closed · outside contributor · 12 comments
MCP: remove demo "create-greeting" prompt from prompts.json
Affected module
MCP server (openmetadata-mcp)
Describe the bug
The file openmetadata-mcp/src/main/resources/json/data/mcp/prompts.json contains a demo prompt create-greeting that appears to be a leftover example from development. It is exposed to all MCP clients (Claude Code, Claude Desktop, VS Code Copilot, etc.) alongside the real search_metadata prompt.
{
"name": "create-greeting",
"description": "Generate a customized greeting message",
"arguments": [
{ "n
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/26528) · 2026-03-16 · closed · outside contributor · 6 comments
### Wrong information about Databricks tag support on Databricks connector documentation
Documentation on Databricks connector [here](https://docs.open-metadata.org/latest/connectors/database/databricks) claims that tags are supported. However, according to the ticket [here](https://github.com/open-metadata/OpenMetadata/issues/20286), Databricks tags are actually not supported at all yet.
There is also some confusion about tags being supported from Databricks version 13.3. onwards - however, in reality, tags are not supported at all, no matter the version.
Suggestion: remove Tags
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/22447) · 2025-07-18 · closed · external user · 6 comments
### SQLMesh Lineage Support in OpenMetadata
**Is your feature request related to a problem? Please describe.**
Currently, OpenMetadata does not have a native way to integrate lineage information from SQLMesh, a popular SQL workflow management tool similar to DBT. This lack of integration makes it difficult to track the lineage of data throughout the SQLMesh workflow, which can be crucial for data debugging, auditing, and impact analysis.
**Describe the solution you'd like**
I propose implementing a new feature in OpenMetadata that en
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/19176) · 2024-12-24 · closed · external user · 6 comments
### Airflow pipeline ingestion failures with a task from another DAG
**Affected module**
Ingestion Framework
**Describe the bug**
We get failures in ingesting Airflow piplelines like this:
[2024-07-15, 08:00:40 EDT] {topology_runner.py:240} WARNING - Unexpected value error when processing stage: [type_=<class 'metadata.generated.schema.entity.data.pipeline.Pipeline'> processor='yield_pipeline' nullable=False must_return=False overwrite=True consumer=['pipeline_service'] context='pipeline' store_all_in_context=False clear_context=False store_fqn=Fal
Read the thread · 2024-07-18 · closed · external user · 10 comments
Most recent
[AI Context] Knowledge pills have no trust signals: Archived/Draft pills surface in AI bundles, and staleness detection is promised but never implemented
Is your feature request related to a problem? Please describe.
The AI Context Platform serves knowledge to agents through get_asset_context (Mode A) and find_context (Mode B). A bundle tells an agent what the organization knows, but nothing tells the agent how much to trust it — whether an item is still current, confirmed, or retired. Two concrete gaps:
1. Archived and Draft pills flow into AI bundles. AIContextBuilder.toPillKnowledgeItem (`openmetadata-service/src/main/java/
Read the thread · 2026-08-30 · open · external user · 0 comments
MCP: unknown JSON-RPC method returns 500 instead of -32601
MCP stateless transport returns HTTP 500 and logs an error when a client sends an unknown JSON-RPC method (seen in production with server/discover).
DefaultMcpStatelessServerHandlerthrowsMcpError(METHOD_NOT_FOUND), whichHttpServletStatelessServerTransport.doPostcatches in its generic handler and turns into a 500 plus an error log.- Per JSON-RPC, this should be HTTP 200 with error code
-32601, and it should not be logged as a server error. - Same path affects the `notifications/
Read the thread · 2026-08-28 · open · outside contributor · 0 comments
MCP: create Knowledge Center articles through create_entity
Knowledge Center is in OSS now, but the MCP tool that creates articles only exists in Collate.
- Support Knowledge Center pages in the generic
create_entitytool instead of porting a second create tool. - Fix the knowledge page gaps that surface through it (parent resolution, create vs update authorization).
- Collate then removes
create_article.
Read the thread · 2026-08-27 · closed · outside contributor · 0 comments
Merge MCP tools that do the same job
The MCP server ships 24 tools. Every tool definition is re-sent to the model on every single request, so the whole list is a per-call cost — and several of those tools do the same job as another one.
- Nine of the 24 are creates that differ only in the entity type. They run the same steps in the same order and differ only in which request class and mapper they use, but each ships its own full schema. Together they are a third of the tool list.
- Two read the same asset the same way. `ge
Read the thread · 2026-08-26 · closed · outside contributor · 0 comments
Fix data loss, wrong answers, and extra calls in MCP tools
The MCP tools lose data on writes, return answers that are wrong or incomplete, and cost more calls than they need to. Details below, grouped by what goes wrong.
Writes are easy to get wrong
patch_entity is the only way to update an entity, and it takes a JSON Patch document the caller has to author.
- It cannot be written without reading the entity first: JSON Patch needs
addwhen a field is absent andreplacewhen it is present, and picking wrong is an error and a retry. So a one-f
Read the thread · 2026-08-25 · closed · outside contributor · 0 comments
MCP get_entity_lineage fails entity-scoped authorization for tag/domain-based policies
Affected module
Authentication / Security
Describe the bug
The MCP get_entity_lineage tool does not appear to evaluate entity-scoped authorization with the target entity context.
Policies based on entity metadata such as tags cannot correctly distinguish an allowed asset from a denied asset.
This is reproducible on OpenMetadata 1.13.4.
In our setup, access is restricted using the following policy rule:
Rule: DenyOutsideDemoDomain
Resource: All
Effect: Deny
Condition: !
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/31941) · 2026-08-24 · open · external user · 0 comments
### docs: vague MatchEnum description for ColumnValuesToBeInSet Test Case
### Documentation URL
https://docs.open-metadata.org/v1.12.x/how-to-guides/data-quality-observability/quality/tests-ui/column-tests#behavior-5
### Is some content missing, wrong or not clear?
The aforementioned page URL (and more specifically, its OM UI right hand side's counterpart) aren't clear in describing the behavior of MatchEnum=False flag. (Details below).
### Describe the solution you'd like
Excerpt from the slack discussion [here](https://openmetadata.slack.com/archives/C02B6955S4
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/31760) · 2026-08-19 · open · external user · 0 comments
### NLQ search happy path skips RBAC, queryFilter and the deleted filter
- When the NLQ provider successfully transforms a query, `searchWithNLQ` builds the request with only context-memory visibility — no RBAC clause, no caller `queryFilter`, no `deleted` filter.
- The fallback path (`fallbackToBasicSearch`) does apply RBAC, so the same user asking the same question gets different filtering depending on whether the translation succeeded.
- Affects the REST NLQ endpoint and the `nlq_search` MCP tool, on both the OpenSearch and Elasticsearch managers.
- Only reachable
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/31753) · 2026-08-19 · closed · outside contributor · 0 comments
### MCP create_* tools authorize overwrites as CREATE, and tool docs describe behavior the code lacks
- Overwriting an existing entity through a `create_*` MCP tool is authorized as CREATE, so create-only rights can overwrite an entity owned by someone else and discard its description, owners and tags.
- `create_test_case` authorizes after `repository.prepare`, which persists a basic test suite as the ingestion bot, so a denied call leaves catalog state behind.
- Eight tool descriptions claim behavior the implementation does not have (SQL truncation that never happens, an undeclared parameter, ~
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/31752) · 2026-08-19 · closed · outside contributor · 0 comments
### Incident Manager listing ignores domain policies — domain-restricted users see other domains' incidents
Follow-up to #24180, which covered the same class of problem (a domain-restricted user seeing metadata from outside their domain) for domain listings and lineage. The **Incident Manager listing** still has this gap.
### What happens
A user restricted to their own domain via a `hasDomain()` / `!hasDomain()` policy sees failed test case incidents from **every** domain on the Incident Manager page. Opening one is correctly blocked, but the listed row already exposes the test case name, the table
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/31740) · 2026-08-19 · closed · outside contributor · 1 comment
### Add UI support for uploading file-based connector credentials
### Is your feature request related to a problem? Please describe.
Several connectors (e.g., BigQuery's "GCP Credentials Path", Snowflake's private key path) expect a local file path to a credentials file. This works for on-prem/self-hosted deployments where users have filesystem access — there's no way for a user to place a file onto the ingestion container's filesystem.
User was blocked trying to configure BigQuery with "GCP Credentials Path" and had no way to get the JSON file onto the inst
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/31677) · 2026-08-18 · closed · external user · 0 comments
### We need a Synapse connector.
I tried connect to Synapse using the Azure SQL connector , and the ingestion is insanely slow. We need a Synapse connector.
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/31671) · 2026-08-18 · closed · external user · 1 comment
### Backend: testDestination response echoes submitted destination config, including webhook auth secrets
## Problem
`POST /api/v1/events/subscriptions/testDestination` (the **Test Destinations** button on the alert create/edit page) echoes the submitted destinations back in the 200 response verbatim, `config` included.
For an external webhook destination using OAuth2 auth, the response therefore contains the plaintext `config.authType.clientSecret` and `clientId`; with bearer auth it contains `secretKey`. Custom `headers` and `queryParams`, which routinely carry `Authorization` values, are echoed
[Read the thread](https://github.com/open-metadata/OpenMetadata/issues/31633) · 2026-08-17 · closed · outside contributor · 0 comments
### Live log viewer force-follows the tail: scrolling up to read earlier output is undone on the next frame
### Affected module
UI — ingestion / application log viewer (`LogViewerModal`)
### Describe the bug
While a run is live (`mode="stream"`), the log viewer hard-locks auto-follow on:
```ts
// LogViewerModal.component.tsx
const resolvedFollow = isLive ? true : follow;
There is no way for the user to opt out. Scrolling up to read an earlier error
is undone as soon as the next batch of lines arrives, and the view snaps back to
the tail. onScroll is wired only for infinite-scroll paging — it
Read the thread · 2026-08-17 · closed · outside contributor · 0 comments
MCP create tools cannot set custom properties
- The MCP tools that create Data Products, Domains and Glossary Terms have no way to fill in custom properties.
- So if an organisation marks a custom property as required on its intake form, these entities can never be created through MCP — every attempt is rejected for a missing field the tool has no parameter for. The same thing works fine through the UI and the REST API.
- Smaller issue in the same flow: when a required field has no label configured, the rejection message names nothing, so y
Read the thread · 2026-08-14 · closed · outside contributor · 0 comments
Unhandled AxiosError 404 when the Service Insights chart-data stream is torn down on unmount
Affects: UI — Service Insights tab (ServiceInsightsTab)
Describe the bug
Navigating away from a service's Insights/Agents page while a chart-data stream session is open produces an uncaught AxiosError: Request failed with status code 404, reported to Sentry as an unhandled promise rejection (auto.browser.global_handlers.onunhandledrejection).
The failing request is the stream teardown:
DELETE /api/v1/analytics/dataInsights/system/charts/stream/{sessionId} -> 404
Sent
Read the thread · 2026-08-13 · closed · outside contributor · 0 comments
The remaining reports are on the project's issue tracker.