Openmetadata

io.github.us-all由 GitHub 账号 us-all 发布v1.16.10更新于 Oct 24, 2026

OpenMetadata MCP — metadata, lineage, search, data quality, OM 1.12+ Data Contracts

概览

AI 生成的概览

面向 OpenMetadata 的 MCP 服务器,让助手搜索、读取、创建和更新元数据、血缘、术语表、数据质量与数据契约。

可以做什么
按关键词或语义向量检索元数据,并用 search-tools 元工具在运行时发现其他工具。读取和管理表、数据库、模式、血缘、存储过程与已保存查询。管理服务、仪表板、管道、主题、图表、容器和机器学习模型。管理术语表与术语、域与数据产品、分类与标签、用户、团队、角色和策略。查看数据质量测试套件、用例与结果,并读取表、主题和容器的样本数据。处理 OpenMetadata 1.12+ 实体,如数据契约、指标、搜索索引、API 集合和 API 端点,并调用 lineage-impact、quality-rollup 等聚合工具。
适用场景
适合助手需要操作 OpenMetadata 目录的场景:追踪血缘与下游影响、排查数据质量失败、批量建立术语表、批量转移负责人,或跨多种实体类型管理元数据,包括 1.12 之前的集群。
运行要求
以 npm 包形式在本地运行(需 Node.js 22+)。需要 OPENMETADATA_HOST(OpenMetadata 服务器地址)和 OPENMETADATA_TOKEN(机器人或 JWT 令牌)。需要能访问 OpenMetadata REST API 的网络。可选设置可控制启用的工具类别、写权限和 HTTP 传输模式。
安装前请注意
该令牌可访问你的元数据目录,请勿放入共享配置。存在写入和删除工具,由 OPENMETADATA_ALLOW_WRITE 控制,默认只读;启用后即可创建、更新和删除实体。样本数据工具会返回表、主题和容器的真实数据。运行测试套件会触发摄取管道。HTTP 传输需要 MCP_HTTP_TOKEN,除非有意跳过鉴权。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Openmetadata,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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-impact answers "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-summary returns domain + 6 child entity types via /search/query with track_total_hits in one call instead of 7 sequential. get-table-summary folds table + lineage + sample-data + DQ similarly.
  • Semantic search — semantic-search over 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 — extractFields projection on 28 read tools (drops changeDescription/version/updatedBy/href noise — ~80% size reduction), OM_TOOLS/OM_DISABLE category toggles, search-tools meta-tool.
  • Apps SDK card — lineage-impact renders 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=http for ChatGPT Apps SDK or remote clients (Bearer auth via MCP_HTTP_TOKEN).

Try this — 5 prompts

Connect the server to Claude Desktop or Claude Code, then paste any of these:

  1. Lineage impact — "The payments.transactions table is being deprecated. List every dashboard, pipeline, and ML model that depends on it (upstream + downstream, depth 3)."
  2. Data quality investigation — "Show all failing test cases from the last 7 days. Group by table, then by test type, with pass/fail counts."
  3. Glossary bootstrap — "Create a payments glossary with these 8 terms: chargeback, refund, settlement, KYC, AML, transaction, customer-id, payment-method. Link related terms."
  4. Owner reassign — "User taehee is leaving. List every entity (table/dashboard/pipeline/ML model) where they are owner. Then reassign all of them to team data-platform."
  5. Domain summary — "Summarize the analytics domain: 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:

OM 1.12 embedded MCP@us-all/openmetadata-mcp (this)
Tool count~10 (search, glossary basics, lineage, DQ, RCA, semantic search)172 (full CRUD across all entity types)
OM 1.12+ entity types (Data Contracts/Metrics/Search Index/API)partial✅ 12 tools
Aggregation tools❌✅ lineage-impact, get-domain-summary, get-table-summary
MCP Prompts❌✅ 4
MCP Resources❌✅ 7
AuthOAuth2 / PAT, OM Authorization Engine (RBAC)JWT bot token + write gate
DeploymentEmbedded in OM server (marketplace install)Standalone npm / Docker / npx
OM version1.12+ only1.x compatible
Best forRBAC-aware AI agents, SSO orgsBulk CRUD, automation, sample-data, older OM clusters

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

json
{  "mcpServers": {    "openmetadata": {      "command": "npx",      "args": ["-y", "@us-all/openmetadata-mcp"],      "env": {        "OPENMETADATA_HOST": "http://your-host:8585",        "OPENMETADATA_TOKEN": "<jwt-bot-token>"      }    }  }}

Claude Code

bash
claude mcp add openmetadata -s user \  -e OPENMETADATA_HOST=http://your-host:8585 \  -e OPENMETADATA_TOKEN=<jwt-bot-token> \  -- npx -y @us-all/openmetadata-mcp

Docker

bash
docker run --rm -i \  -e OPENMETADATA_HOST=http://your-host:8585 \  -e OPENMETADATA_TOKEN=<jwt-bot-token> \  ghcr.io/us-all/openmetadata-mcp-server

Build from source

bash
git clone https://github.com/us-all/openmetadata-mcp-server.gitcd openmetadata-mcp-server && pnpm install && pnpm buildnode dist/index.js

Get a token

  1. Open OpenMetadata UI → Settings → Bots
  2. Create a new bot or use an existing one (ingestion-bot works)
  3. Copy the JWT token

Configuration

VariableRequiredDefaultDescription
OPENMETADATA_HOST✅—OpenMetadata server URL (e.g. http://localhost:8585)
OPENMETADATA_TOKEN✅—JWT or Bot token
OPENMETADATA_ALLOW_WRITE❌falseSet true to enable mutations (create/update/delete)
OM_TOOLS❌—Comma-sep allowlist of categories. Biggest token saver.
OM_DISABLE❌—Comma-sep denylist. Ignored when OM_TOOLS is set.
MCP_TRANSPORT❌stdiohttp to enable Streamable HTTP transport
MCP_HTTP_TOKENconditional—Bearer token. Required when MCP_TRANSPORT=http
MCP_HTTP_PORT❌3000HTTP listen port
MCP_HTTP_HOST❌127.0.0.1HTTP bind host (DNS rebinding protection auto-enabled for localhost)
MCP_HTTP_SKIP_AUTH❌falseSkip Bearer auth — e.g. behind a reverse proxy that handles it

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

ScenarioToolsSchema tokensvs default
default (all categories)17224,000—
typical (OM_TOOLS=search,core,governance,quality,discovery)12019,500−19%
narrow (OM_TOOLS=search,core)264,600−81%

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.

jsonc
// withoutget-table { "id": "..." }
// withget-table { "id": "...", "extractFields": "name,description,columns.*.name,columns.*.dataType" }

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.

CategoryTools
Tables / Databases / Schemas / Lineage22
Services (database/dashboard/messaging/pipeline/ml/storage)16
Glossaries / Terms12
Domains / Data Products12
Classifications / Tags10
Discovery (dashboards / pipelines / charts / topics / containers / ml-models)36
Governance (roles / policies / users / teams / bots)13
Quality (test suites / cases / sample data)13
Stored Procedures / Queries11
OM 1.12+ entities (Data Contract / Metric / Search Index / API Collection / API Endpoint)12
Search (search-metadata, suggest-metadata, semantic-search)3
Aggregations (lineage-impact, quality-rollup, get-domain-summary, get-table-summary)4
Quality (run-test-suite write-gated)1
Meta (search-tools)1
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

Claude → MCP stdio → src/index.ts → src/tools/*.ts → OpenMetadataClient (fetch) → OpenMetadata REST

Built on @us-all/mcp-toolkit:

  • extractFields — token-efficient response projections
  • aggregate(fetchers, caveats) — fan-out helper used by lineage-impact / get-domain-summary / get-table-summary
  • createWrapToolHandler — OPENMETADATA_TOKEN redaction + OpenMetadataError extraction
  • search-tools meta-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

MIT

来源:README.md,提交 81d7309

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.16.10最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分