mcpField
O
openmetadata

openmetadata

ローカル
github.com/us-allデータベース016 週間前に更新

openmetadata について

OpenMetadata MCPは、メタデータ、リネージ、データ品質、1.12以降のData Contractsを含むOpenMetadataエンティティの検索・CRUDツールを提供します。メタデータの一括操作、品質調査、影響分析を行うチーム向けで、集約ツール、プロンプト、リソースも備えています。

主な機能

  1. 01多様なメタデータエンティティの検索・管理
  2. 02Data Contractsの検証と結果取得
  3. 03キーワード検索とセマンティック検索
  4. 04リネージ影響とデータ品質の集約
  5. 05MCPプロンプトとURIリソースの提供

活用シーン

  1. 01テーブル変更の影響評価と担当者の特定
  2. 02最近のデータ品質失敗の調査
  3. 03用語集の一括作成と用語の関連付け
  4. 04ユーザー所有エンティティの検索と再割り当て

MCP 対応

stdioまたは任意のStreamable HTTP経由で、MCPクライアントにツール、プロンプト、読み取り専用URIリソースを提供します。書き込み操作はデフォルトで無効で、設定により有効化できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"us-all-openmetadata": {
"command": "npx",
"args": [
"-y",
"@us-all/openmetadata-mcp"
],
"env": {
"OPENMETADATA_HOST": "<OPENMETADATA_HOST>",
"OPENMETADATA_TOKEN": "<OPENMETADATA_TOKEN>",
"OPENMETADATA_ALLOW_WRITE": "<OPENMETADATA_ALLOW_WRITE>",
"OM_TOOLS": "<OM_TOOLS>",
"OM_DISABLE": "<OM_DISABLE>"
}
}
}
}
起動コマンドnpx -y @us-all/openmetadata-mcp
設定が必要な環境変数
OPENMETADATA_HOSTOpenMetadata server URL (e.g. https://om.example.com).
OPENMETADATA_TOKENシークレットOpenMetadata bot/JWT token.
OPENMETADATA_ALLOW_WRITESet to 'true' to enable write/destructive tools. Default read-only.
OM_TOOLSComma-separated category allowlist. Default: all categories enabled.
OM_DISABLEComma-separated category disablelist.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@us-all/openmetadata-mcp1.16.10

ツール

173

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
qstringはい検索クエリ
fromnumberいいえページネーションのオフセット
sizenumberいいえ返す結果の数(最大 100 件)
indexenumいいえ検索対象を特定のエンティティインデックスに限定しますtable_search_index | topic_search_index | dashboard_search_index | pipeline_search_index | mlmodel_search_index | container_search_index | query_search_index | user_search_index | team_search_index | glossary_term_search_index | tag_search_index | data_product_search_index | stored_procedure_search_index | dashboard_data_model_search_index | search_entity_search_index | domain_search_index | api_collection_search_index | api_endpoint_search_index
deletedbooleanいいえ論理削除されたエンティティを含めます
sortFieldstringいいえソートフィールド(例:'updatedAt')
sortOrderenumいいえ並べ替え順asc | desc
queryFilterstringいいえElasticSearch クエリフィルター(JSON)
extractFieldsstringいいえレスポンスから抽出して投影するフィールドのカンマ区切りドットパス(例:'id,name,owner.name,columns.*.name')。配列/オブジェクトのワイルドカードとして `*` を使用します。ドットを含むフィールド名はバッククォートで囲みます。大きなエンティティでレスポンスのトークン数を大幅に削減します。
trackTotalHitsbooleanいいえ正確なヒット総数を追跡します
includeSourceFieldsstringいいえ含めるソースフィールド

詳細

OpenMetadata MCP サーバー

OpenMetadata MCP は、すべてのエンティティタイプに対する完全な CRUD を提供します。埋め込み MCP がまだ対応していない OM 1.12 以降のデータコントラクト、メトリクス、検索インデックス、API コレクション、API エンドポイントも対象です。

172 個のツール、4 つのワークフロープロンプト(リネージ影響/DQ 調査/用語集の初期設定/オーナーの再割り当て)、7 つの MCP リソースに加え、lineage-impact(下流への影響範囲とオーナーへの通知リスト)、quality-rollup(指定範囲の DQ ステータス)、公式のデータコントラクト検証などの集約機能を備えています。

npm downloads tools @us-all standard Glama MCP server

他のツールにはない機能

  • OM 1.12 以降のエンティティに対応 — データコントラクト、メトリクス、検索インデックス、API コレクション、API エンドポイントに加え、ネイティブのコントラクト検証と結果取得にも対応しています。埋め込み MCP はまだ対応していません。
  • 集約ツール — lineage-impact は、リネージをたどり、利用者数を数え、エンティティタイプ別に内訳を示し、変更管理の通知用にオーナーの一覧を解決することで、「X を変更/削除したら何が壊れるか」に 1 回の呼び出しで回答します。get-domain-summary は、/search/query を使ってドメインと 6 種類の子エンティティを、7 回連続で呼び出す代わりに1 回の呼び出しで返します。get-table-summary も同様に、テーブル、リネージ、サンプルデータ、DQ をまとめます。
  • セマンティック検索 — OM 1.12 以降のベクトルインデックスに対する semantic-search(POST /search/vector/query)に対応しています。キーワード検索で同義語が見つからない場合に便利です。
  • MCP プロンプト(4 件)— lineage-impact-analysis、data-quality-investigation、glossary-term-bootstrap、owner-change-propagation。モデルが直接呼び出すワークフローテンプレートです。
  • MCP リソース(7 件)— om://table/{fqn}、om://glossary-term/{fqn}、om://lineage/{type}/{fqn}、om://search/{query}、om://dashboard/{fqn}、om://pipeline/{fqn}、om://schema/{fqn}。
  • トークン効率を考慮した設計 — 28 個の読み取りツールで extractFields による射影を使用し、changeDescription/version/updatedBy/href の不要な情報を取り除きます(サイズを約 80% 削減)。OM_TOOLS/OM_DISABLE によるカテゴリ切り替えと、メタツール search-tools にも対応しています。
  • Apps SDK カード — ChatGPT クライアントでは、lineage-impact が影響範囲カードとして表示されます(下流/上流の件数、タイプ別の内訳、主要な利用者、通知対象のオーナー)。これは _meta["openai/outputTemplate"] を介して表示されます。Claude クライアントには同じ JSON コンテンツが返されます。
  • stdio と Streamable HTTP — デフォルトは stdio です。ChatGPT Apps SDK またはリモートクライアントで使う場合は、MCP_TRANSPORT=http を設定します(MCP_HTTP_TOKEN による Bearer 認証)。

試してみましょう — 5 つのプロンプト

サーバーを Claude Desktop または Claude Code に接続して、次のいずれかを貼り付けてください。

  1. リネージの影響 — "payments.transactions テーブルは非推奨になります。このテーブルに依存するすべてのダッシュボード、パイプライン、ML モデルを一覧表示してください(上流と下流、深さ 3)。"
  2. データ品質の調査 — "過去 7 日間に失敗したテストケースをすべて表示してください。テーブル別、次にテストタイプ別にグループ化し、成功/失敗の件数を示してください。"
  3. 用語集の初期設定 — "次の 8 つの用語を含む payments 用語集を作成してください:chargeback、refund、settlement、KYC、AML、transaction、customer-id、payment-method。関連する用語をリンクしてください。"
  4. オーナーの再割り当て — "ユーザー taehee が退職します。このユーザーがオーナーになっているすべてのエンティティ(テーブル/ダッシュボード/パイプライン/ML モデル)を一覧表示してください。その後、すべてチーム data-platform に再割り当てしてください。"
  5. ドメインの概要 — "analytics ドメインの概要をまとめてください。テーブル/ダッシュボード/パイプライン/ML モデルの合計数、最近更新された上位 5 件、所有するデータプロダクトを示してください。"

これと OpenMetadata の組み込み MCP の使い分け

OpenMetadata 1.12 以降には組み込み MCP が付属しています。この 2 つは相互補完的です。

OM 1.12 の組み込み MCP@us-all/openmetadata-mcp(本プロジェクト)
ツール数約 10(検索、用語集の基本機能、リネージ、DQ、RCA、セマンティック検索)172(すべてのエンティティタイプの完全な CRUD)
OM 1.12 以降のエンティティタイプ(Data Contracts/Metrics/Search Index/API)一部対応✅ 12 ツール
集約ツール❌✅ lineage-impact、get-domain-summary、get-table-summary
MCP プロンプト❌✅ 4
MCP リソース❌✅ 7
認証OAuth2 / PAT、OM Authorization Engine(RBAC)JWT ボットトークン + 書き込みゲート
デプロイOM サーバーに組み込み(マーケットプレイスからインストール)単独で実行する npm / Docker / npx
OM バージョン1.12 以降のみ1.x と互換
最適な用途RBAC 対応の AI エージェント、SSO を利用する組織一括 CRUD、自動化、サンプルデータ、古い OM クラスター

SSO を利用した RBAC 対応のガバナンスには、組み込み MCP を使用してください。一括メタデータ操作、すべてのエンティティに対応した完全な CRUD、自動化、および 1.12 より前の OM クラスターには、本サーバーを使用してください。

インストール

Claude Desktop
{
  "mcpServers": {
    "openmetadata": {
      "command": "npx",
      "args": ["-y", "@us-all/openmetadata-mcp"],
      "env": {
        "OPENMETADATA_HOST": "http://your-host:8585",
        "OPENMETADATA_TOKEN": "<jwt-bot-token>"
      }
    }
  }
}
Claude Code
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
docker run --rm -i \
  -e OPENMETADATA_HOST=http://your-host:8585 \
  -e OPENMETADATA_TOKEN=<jwt-bot-token> \
  ghcr.io/us-all/openmetadata-mcp-server
ソースからビルド
git clone https://github.com/us-all/openmetadata-mcp-server.git
cd openmetadata-mcp-server && pnpm install && pnpm build
node dist/index.js
トークンの取得
  1. OpenMetadata UI を開きます → Settings → Bots
  2. 新しいボットを作成するか、既存のボットを使用します(ingestion-bot を使用できます)
  3. JWT トークンをコピーします

設定

変数必須デフォルト説明
OPENMETADATA_HOST✅—OpenMetadata サーバーの URL(例:http://localhost:8585)
OPENMETADATA_TOKEN✅—JWT またはボットトークン
OPENMETADATA_ALLOW_WRITE❌falsetrue に設定すると、変更操作(作成/更新/削除)が有効になります
OM_TOOLS❌—カテゴリのカンマ区切りの許可リスト。最もトークンを節約できます。
OM_DISABLE❌—カテゴリのカンマ区切りの拒否リスト。OM_TOOLS が設定されている場合は無視されます。
MCP_TRANSPORT❌stdioStreamable HTTP トランスポートを有効にするには http を指定します
MCP_HTTP_TOKEN条件付き—ベアラートークン。MCP_TRANSPORT=http の場合に必須です
MCP_HTTP_PORT❌3000HTTP リッスンポート
MCP_HTTP_HOST❌127.0.0.1HTTP バインドホスト(ローカルホストでは DNS リバインディング保護が自動的に有効になります)
MCP_HTTP_SKIP_AUTH❌falseベアラー認証をスキップします(例:リバースプロキシで認証を処理する場合)

カテゴリ(10):search、core、discovery、governance、quality、services、admin、events、entities、meta(常に有効)。

MCP_TRANSPORT=http の場合:POST /mcp(ベアラー認証付き JSON-RPC)+ GET /health(公開ヘルスチェック)。

トークン効率
シナリオツールスキーマトークン数デフォルトとの比較
デフォルト(すべてのカテゴリ)17224,000—
一般的な設定(OM_TOOLS=search,core,governance,quality,discovery)12019,500−19%
最小限の設定(OM_TOOLS=search,core)264,600−81%

個々のレスポンスでは、extractFields によりさらに約 80~90% 削減できます(例:get-table は extractFields: "name,columns.*.name,columns.*.dataType" を指定すると 8KB から 200B になります)。読み取りツール 28 個で自動適用されます。

// without
get-table { "id": "..." }

// with
get-table { "id": "...", "extractFields": "name,description,columns.*.name,columns.*.dataType" }

MCP プロンプト(4)

MCP の prompts/list から利用できるワークフローテンプレート:

  • lineage-impact-analysis — エンティティを指定すると、上流と下流のリネージをたどり、影響度順に並べます。
  • data-quality-investigation — 2 つの期間における DQ テスト結果の差分を取り、失敗パターンを分類します。
  • glossary-term-bootstrap — 関連する用語を N 個含む用語集を一括作成し、自動的にリンクします。
  • owner-change-propagation — ユーザー X が所有するすべてのエンティティを探し、一括再割り当てを提案します。

MCP リソース

URI ベースの読み取り専用アクセス:

om://table/{fqn}(テーブル + カラム + オーナー + タグ + 結合)、om://glossary-term/{fqn}、om://lineage/{type}/{fqn}(深さ 3)、om://search/{query}(キーワード検索の上位 10 件)、om://dashboard/{fqn}、om://pipeline/{fqn}(タスクを含む)、om://schema/{fqn}。

ツール(172)

10 カテゴリーあります。実行時に search-tools を使って見つけられます。全リストは以下に折りたたまれています。

カテゴリーツール数
テーブル/データベース/スキーマ/リネージ22
サービス(データベース/ダッシュボード/メッセージング/パイプライン/ML/ストレージ)16
用語集/用語12
ドメイン/データプロダクト12
分類/タグ10
検索(ダッシュボード/パイプライン/チャート/トピック/コンテナー/ML モデル)36
ガバナンス(ロール/ポリシー/ユーザー/チーム/ボット)13
品質(テストスイート/ケース/サンプルデータ)13
ストアドプロシージャ/クエリ11
OM 1.12 以降のエンティティ(Data Contract/Metric/Search Index/API Collection/API Endpoint)12
検索(search-metadata、suggest-metadata、semantic-search)3
集計(lineage-impact、quality-rollup、get-domain-summary、get-table-summary)4
品質(書き込み制限付きの run-test-suite)1
メタ(search-tools)1
ツールの全リスト
検索(3)

search-metadata、suggest-metadata、semantic-search

テーブル(6)

list-tables、get-table、get-table-by-name、create-table、update-table、delete-table

データベース(6)

list-databases、get-database、get-database-by-name、create-database、update-database、delete-database

データベーススキーマ(6)

list-schemas、get-schema、get-schema-by-name、create-schema、update-schema、delete-schema

リネージ(4)

get-lineage、get-lineage-by-name、add-lineage、delete-lineage

サービス(16)

データベースサービス用ツールが 6 個、ダッシュボード/メッセージング/パイプライン/ML モデル/ストレージサービス用ツールがそれぞれ 2 個です。

用語集(12)

用語集 CRUD が 6 個、用語集用語 CRUD が 6 個です。

ダッシュボード/パイプライン/トピック/チャート/コンテナー/ML モデル(36)

それぞれ CRUD が 6 個あり、list / get / get-by-name / create / update / delete の形式です。

分類とタグ(10)

分類用ツールが 4 個、タグ CRUD が 6 個です。

ドメインとデータプロダクト(12)

ドメイン CRUD が 6 個、データプロダクト CRUD が 6 個です。

ユーザーとチーム(9)

ユーザーの読み取り用ツールが 3 個、チーム CRUD が 6 個です。

アクセス制御(4)

list-roles、get-role、list-policies、get-policy

データ品質(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

ストアドプロシージャ(6)

CRUD が 6 個です。

クエリ(5)

list-queries、get-query、create-query、update-query、delete-query

イベント(3)

list-events、get-event-subscription、get-event-subscription-by-name

ボット(3)

list-bots、get-bot、get-bot-by-name

サンプルデータ(6、読み取り専用)

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 以降のエンティティ(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

集計

lineage-impact、quality-rollup、get-domain-summary、get-table-summary

品質(書き込み制限付き)

run-test-suite — テストスイートに関連付けられた取り込みパイプラインを起動します。非同期で実行され、結果は通常のパイプラインフローを通じて反映されます。

メタ

search-tools — キーワードでほかのツールを検索します。常に有効です。

アーキテクチャ

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

@us-all/mcp-toolkit 上に構築されています。

  • extractFields — トークン効率の高いレスポンス投影
  • aggregate(fetchers, caveats) — lineage-impact/get-domain-summary/get-table-summary で使用されるファンアウトヘルパー
  • createWrapToolHandler — OPENMETADATA_TOKEN の秘匿化と OpenMetadataError の抽出
  • search-tools メタツール

OM 1.x を対象としています。OM 1.12 以降のエンティティを含む実際の OM バックエンドで検証済みです。

技術スタック

Node.js 22+ • TypeScript strict ESM • pnpm • @modelcontextprotocol/sdk • zod • dotenv • vitest。

JSON-Patch の更新は自動的に処理されます(PATCH application/json-patch+json content-type)。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。