
OpenMetadata
github.com/open-metadata/openmetadata- Category
- Developer Tools
- Rank
- No. 335Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- open-metadata
- GitHub
- 15.2k stars
- Latest release
- 1.13.6-release
- Date
About
OpenMetadata is a self-hostable metadata platform that pulls technical metadata, lineage, data-quality signals, ownership, and governance policies from across a data stack into one knowledge graph. It ships 130+ ingestion connectors for warehouses, BI tools, and pipelines, plus semantic search, APIs, SDKs, and an MCP server so AI agents can query data context rather than raw tables. Conversations and remediation notes are stored as first-class entities alongside the assets they describe.
What it does
OpenMetadata gathers metadata from warehouses, BI tools, pipelines, applications, and other systems, then normalizes their assets and relationships into a schema-first knowledge graph. People and AI agents can search that graph for meaning, ownership, lineage, quality, policies, contracts, and recorded organizational knowledge.
Why it's ranked here
OpenMetadata is a strong candidate when one shared context layer must serve engineers, business users, applications, and AI agents. Its connector breadth, column-level lineage, semantic search, governed memories, open standards, APIs, SDKs, events, webhooks, and MCP interface form an unusually broad, coherent surface.
What's good
The graph connects technical structure with business meaning and trust signals instead of presenting isolated catalog entries. Quality history, lineage, ownership, policies, glossary terms, contracts, conversations, and decisions can describe the same asset. Schema-driven generation also keeps Java, Python, and TypeScript representations aligned.
Tradeoffs
The breadth brings substantial engineering weight: Java services, Python ingestion, a React interface, generated models, integration tests, and many deployment modules. The core service has extensive internal package cycles, while the interface has a large component and utility dependency cycle. Python typing also carries a large baselined backlog, and security scanning does not currently gate every contribution.
How to use it well
Use it where data platform teams need shared discovery, lineage, quality, semantics, ownership, and policy context across many systems. Ingest metadata through connectors, attach business definitions and decisions, then expose governed context through search, APIs, SDKs, or MCP. It does not replace direct warehouse access or execute raw analytical queries for users.
Technical notes+
The root pom.xml defines a Maven reactor spanning specification, SDK, service, Kubernetes operator, integration tests, MCP, UI, distribution, and client modules. README.md documents the Python packages openmetadata-ingestion and data-ai-sdk, plus APIs, events, webhooks, semantic search, and MCP. Makefile coordinates Python model generation from JSON Schema, ANTLR generation for Python and JavaScript, UI development, end-to-end tests, reference generation, and security scans. docs/quality.md records strong local lint discipline but major package cycles in the service and UI, while docs/tech-debt.md identifies missing secret scanning, manually triggered CodeQL, typing debt, and flaky required tests. docs/streamable-logs.md describes S3 or MinIO persistence, live SSE delivery, periodic flushing, bounded recent-log buffers, retry restoration, and abandoned-run finalization.
Observed
- License
- Apache License 2.0
- Packaging
- Maven multi-module platform plus pip-installable openmetadata-ingestion and data-ai-sdk packages
- Interfaces
- Semantic search, APIs, SDKs, events, webhooks, and an MCP server
- Connector surface
- The README states more than 130 connectors across data and application systems
- Implementation languages
- The repository text describes Java services, Python ingestion, and a React interface
- Testing surface
- The Makefile includes Python end-to-end tests and Playwright interface tests
- Schema architecture
- Open schemas drive generated Java, Python, and TypeScript representations
Read from README.md, pom.xml, Makefile, package.json, docs/index.md, docs/quality.md, docs/tech-debt.md, docs/design-patterns.md, docs/streamable-logs.md, docs/golden-principles.md.
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.