
Openmetadata
io.github.us-allPublished by GitHub account us-allv1.16.10Updated Oct 24, 2026
OpenMetadata MCP — metadata, lineage, search, data quality, OM 1.12+ Data Contracts
Overview
An MCP server for OpenMetadata that lets an assistant search, read, create and update metadata, lineage, glossaries, data quality and data contracts.
- What you can do
- Search metadata by keyword or semantic vector query, and discover tools at runtime with the meta-tool search-tools. Read and manage tables, databases, schemas, lineage, stored procedures and saved queries. Manage services, dashboards, pipelines, topics, charts, containers and ML models. Manage glossaries and terms, domains and data products, classifications and tags, users, teams, roles and policies. Inspect data quality test suites, cases and results, and read sample data for tables, topics and containers. Work with OpenMetadata 1.12+ entities such as data contracts, metrics, search indexes, API collections and API endpoints, and run aggregation calls like lineage-impact, quality-rollup,get
- When to use it
- Useful when an assistant needs to work with an OpenMetadata catalog: tracing lineage and downstream impact, investigating data quality failures, bootstrapping glossaries, bulk-reassigning owners, or managing metadata across many entity types, including on clusters older than 1.12.
- Requirements
- Runs locally as an npm package (Node.js 22+). Requires OPENMETADATA_HOST (the OpenMetadata server URL) and OPENMETADATA_TOKEN (a bot or JWT token). Network access to the OpenMetadata REST API. Optional settings control enabled tool categories, write access and an HTTP transport mode.
Installation
In SourceWeft
- Open Openmetadata in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
OpenMetadata MCP Server
The OpenMetadata MCP that ships full CRUD across every entity type — including OM 1.12+ Data Contracts, Metrics, Search Index, API Collections, and API Endpoints that the embedded MCP doesn't cover yet.
172 tools, 4 workflow Prompts (lineage impact / DQ investigation / glossary bootstrap / owner reassign), 7 MCP Resources, and aggregations like
lineage-impact(downstream blast-radius w/ owner notification list),quality-rollup(DQ status across a scope), and official Data Contract validation.
[npm] [downloads] [tools] [@us-all standard] [Glama MCP server]
What it does that others don't
- OM 1.12+ entity coverage — Data Contracts, Metrics, Search Index, API Collections, API Endpoints, plus native contract validation/result retrieval. Not in the embedded MCP yet.
- Aggregation tools —
lineage-impactanswers "what breaks if I change/drop X?" by walking lineage + counting consumers + breaking down by entity type + resolving the owner union for change-mgmt notifications, in one call.get-domain-summaryreturns domain + 6 child entity types via/search/querywithtrack_total_hitsin one call instead of 7 sequential.get-table-summaryfolds table + lineage + sample-data + DQ similarly. - Semantic search —
semantic-searchover OM 1.12+ vector index (POST/search/vector/query). Useful when keyword search misses synonyms. - MCP Prompts (4) —
lineage-impact-analysis,data-quality-investigation,glossary-term-bootstrap,owner-change-propagation. Workflow templates the model invokes directly. - MCP Resources (7) —
om://table/{fqn},om://glossary-term/{fqn},om://lineage/{type}/{fqn},om://search/{query},om://dashboard/{fqn},om://pipeline/{fqn},om://schema/{fqn}. - Token-efficient by design —
extractFieldsprojection on 28 read tools (dropschangeDescription/version/updatedBy/hrefnoise — ~80% size reduction),OM_TOOLS/OM_DISABLEcategory toggles,search-toolsmeta-tool. - Apps SDK card —
lineage-impactrenders as a blast-radius card on ChatGPT clients (downstream/upstream counts + type breakdown + top consumers + owners-to-notify) via_meta["openai/outputTemplate"]. Claude clients receive the same JSON content. - stdio + Streamable HTTP — defaults to stdio. Set
MCP_TRANSPORT=httpfor ChatGPT Apps SDK or remote clients (Bearer auth viaMCP_HTTP_TOKEN).
Try this — 5 prompts
Connect the server to Claude Desktop or Claude Code, then paste any of these:
- Lineage impact — "The
payments.transactionstable is being deprecated. List every dashboard, pipeline, and ML model that depends on it (upstream + downstream, depth 3)." - Data quality investigation — "Show all failing test cases from the last 7 days. Group by table, then by test type, with pass/fail counts."
- Glossary bootstrap — "Create a
paymentsglossary with these 8 terms: chargeback, refund, settlement, KYC, AML, transaction, customer-id, payment-method. Link related terms." - Owner reassign — "User
taeheeis leaving. List every entity (table/dashboard/pipeline/ML model) where they are owner. Then reassign all of them to teamdata-platform." - Domain summary — "Summarize the
analyticsdomain: total tables/dashboards/pipelines/ML models, top 5 by recent updates, and the data products it owns."
When to use this vs OpenMetadata's embedded MCP
OpenMetadata 1.12+ ships an embedded MCP. They are complementary:
Use the embedded MCP for RBAC-aware governance with SSO. Use this server for bulk metadata operations, full entity CRUD parity, automation, and OM clusters older than 1.12.
Install
Claude Desktop
Claude Code
Docker
Build from source
Get a token
- Open OpenMetadata UI → Settings → Bots
- Create a new bot or use an existing one (
ingestion-botworks) - Copy the JWT token
Configuration
Categories (10): search, core, discovery, governance, quality, services, admin, events, entities, meta (always-on).
When MCP_TRANSPORT=http: POST /mcp (Bearer-auth JSON-RPC) + GET /health (public liveness).
Token efficiency
extractFields adds another ~80–90% reduction on individual responses (e.g. get-table 8KB → 200B with extractFields: "name,columns.*.name,columns.*.dataType"). Auto-applied across 28 read tools.
MCP Prompts (4)
Workflow templates available via MCP prompts/list:
lineage-impact-analysis— given an entity, walk upstream + downstream lineage and rank by impact.data-quality-investigation— diff DQ test results across two windows; cluster failure modes.glossary-term-bootstrap— bulk-create a glossary with N related terms, link automatically.owner-change-propagation— find all entities owned by user X, propose batch reassignment.
MCP Resources
URI-based read-only access:
om://table/{fqn} (table + columns + owners + tags + joins), om://glossary-term/{fqn}, om://lineage/{type}/{fqn} (depth 3), om://search/{query} (top 10 keyword hits), om://dashboard/{fqn}, om://pipeline/{fqn} (with tasks), om://schema/{fqn}.
Tools (172)
10 categories. Use search-tools to discover at runtime; full list collapsed below.
Full tool list
Search (3)
search-metadata, suggest-metadata, semantic-search
Tables (6)
list-tables, get-table, get-table-by-name, create-table, update-table, delete-table
Databases (6)
list-databases, get-database, get-database-by-name, create-database, update-database, delete-database
Database Schemas (6)
list-schemas, get-schema, get-schema-by-name, create-schema, update-schema, delete-schema
Lineage (4)
get-lineage, get-lineage-by-name, add-lineage, delete-lineage
Services (16)
6 database-service tools + 2 each for dashboard/messaging/pipeline/ml-model/storage services.
Glossaries (12)
6 glossary CRUD + 6 glossary-term CRUD.
Dashboards / Pipelines / Topics / Charts / Containers / ML Models (36)
6 CRUD each, follows list / get / get-by-name / create / update / delete.
Classifications & Tags (10)
4 classification + 6 tag CRUD.
Domains & Data Products (12)
6 domain + 6 data-product CRUD.
Users & Teams (9)
3 user reads + 6 team CRUD.
Access Control (4)
list-roles, get-role, list-policies, get-policy
Data Quality (7)
list-test-suites, get-test-suite, get-test-suite-by-name, list-test-cases, get-test-case, get-test-case-by-name, list-test-case-results
Stored Procedures (6)
6 CRUD.
Queries (5)
list-queries, get-query, create-query, update-query, delete-query
Events (3)
list-events, get-event-subscription, get-event-subscription-by-name
Bots (3)
list-bots, get-bot, get-bot-by-name
Sample Data (6, read-only)
get-table-sample-data, get-table-sample-data-by-name, get-topic-sample-data, get-topic-sample-data-by-name, get-container-sample-data, get-container-sample-data-by-name
OM 1.12+ entities (12)
list-data-contracts, get-data-contract-by-name, run-data-contract-validation, get-data-contract-latest-result, list-metrics, get-metric-by-name, list-search-indexes, get-search-index-by-name, list-api-collections, get-api-collection-by-name, list-api-endpoints, get-api-endpoint-by-name
Aggregations
lineage-impact, quality-rollup, get-domain-summary, get-table-summary
Quality (write-gated)
run-test-suite — triggers the test-suite's associated ingestion pipeline. Async; results land via the normal pipeline flow.
Meta
search-tools — query other tools by keyword; always enabled.
Architecture
Built on @us-all/mcp-toolkit:
extractFields— token-efficient response projectionsaggregate(fetchers, caveats)— fan-out helper used bylineage-impact/get-domain-summary/get-table-summarycreateWrapToolHandler—OPENMETADATA_TOKENredaction +OpenMetadataErrorextractionsearch-toolsmeta-tool
Targets OM 1.x. Validated against real OM backend with the OM 1.12+ entities.
Tech stack
Node.js 22+ • TypeScript strict ESM • pnpm • @modelcontextprotocol/sdk • zod • dotenv • vitest.
JSON-Patch updates handled automatically (PATCH application/json-patch+json content-type).
License
Source: README.md at commit 81d7309
Tools
0Version history
1- v1.16.10LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts