mcpField
M
mcp-server-openmetadata

mcp-server-openmetadata

ローカル
github.com/tpavelekデータベース078 週間前に更新

mcp-server-openmetadata について

mcp-server-openmetadataはOpenMetadata REST APIをMCPクライアント向けにラップします。実装済みの操作はテーブルの一覧・取得・作成・更新・削除で、ほかに記載された機能は未実装です。

主な機能

  1. 01テーブル一覧の取得
  2. 02IDまたは名前によるテーブル取得
  3. 03テーブルの作成・更新・削除

活用シーン

  1. 01OpenMetadata内のテーブル確認
  2. 02OpenMetadataのテーブル情報管理

MCP 対応

OpenMetadata REST APIをMCPクライアントに公開するMCPサーバーです。現時点で実装されているのはテーブルの一覧・取得・作成・更新・削除です。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-server-openmetadata

OpenMetadata 向けの Model Context Protocol(MCP)サーバー実装です。MCP クライアントとのシームレスな連携を可能にします。このプロジェクトでは、Model Context Protocol を通じて OpenMetadata とやり取りするための標準化された方法を提供します。

OpenMetadata 用 MCP サーバー

概要

このプロジェクトは、OpenMetadata の REST API をラップする Model Context Protocol サーバーを実装し、MCP クライアントが標準化された方法で OpenMetadata とやり取りできるようにします。

機能の実装状況

機能API パスステータス
データアセット
データベース一覧を取得/api/v1/databases❌
データベースを取得/api/v1/databases/{id}❌
名前でデータベースを取得/api/v1/databases/name/{fqn}❌
データベースをエクスポート/api/v1/databases/name/{name}/export❌
データベースをインポート/api/v1/databases/name/{name}/import❌
テーブル一覧を取得/api/v1/tables✅
テーブルを取得/api/v1/tables/{id}✅
名前でテーブルを取得/api/v1/tables/name/{fqn}✅
テーブルを作成/api/v1/tables✅
テーブルを更新/api/v1/tables/{id}✅
テーブルを削除/api/v1/tables/{id}✅
テーブルをエクスポート/api/v1/tables/name/{name}/export❌
テーブルをインポート/api/v1/tables/name/{name}/import❌
メトリクス一覧を取得/api/v1/metrics❌
メトリクスを取得/api/v1/metrics/{id}❌
ダッシュボード一覧を取得/api/v1/dashboards❌
ダッシュボードを取得/api/v1/dashboards/{id}❌
名前でダッシュボードを取得/api/v1/dashboards/name/{fqn}❌
レポート一覧を取得/api/v1/reports❌
レポートを取得/api/v1/reports/{id}❌
パイプライン一覧を取得/api/v1/pipelines❌
パイプラインを取得/api/v1/pipelines/{id}❌
名前でパイプラインを取得/api/v1/pipelines/name/{fqn}❌
トピック一覧を取得/api/v1/topics❌
トピックを取得/api/v1/topics/{id}❌
サービス
データベースサービス一覧を取得/api/v1/services/databaseServices❌
データベースサービスを取得/api/v1/services/databaseServices/{id}❌
名前でデータベースサービスを取得/api/v1/services/databaseServices/name/{fqn}❌
データベースサービスをエクスポート/api/v1/services/databaseServices/name/{name}/export❌
データベースサービスをインポート/api/v1/services/databaseServices/name/{name}/import❌
ダッシュボードサービス一覧を取得/api/v1/services/dashboardServices❌
ダッシュボードサービスを取得/api/v1/services/dashboardServices/{id}❌
名前でダッシュボードサービスを取得/api/v1/services/dashboardServices/name/{fqn}❌
チームとユーザー
チーム一覧を取得/api/v1/teams❌
チームを取得/api/v1/teams/{id}❌
名前でチームを取得/api/v1/teams/name/{fqn}❌
チームをエクスポート/api/v1/teams/name/{name}/export❌
チームをインポート/api/v1/teams/name/{name}/import❌
ユーザー一覧を取得/api/v1/users❌
ユーザーを取得/api/v1/users/{id}❌
名前でユーザーを取得/api/v1/users/name/{name}❌
ユーザーログイン/api/v1/users/login❌
ユーザーログアウト/api/v1/users/logout❌
ユーザー登録/api/v1/users/signup❌
パスワードを変更/api/v1/users/changePassword❌
検索
検索クエリ/api/v1/search/query❌
検索候補/api/v1/search/suggest❌
検索集計/api/v1/search/aggregate❌
フィールドクエリ/api/v1/search/fieldQuery❌
ドキュメントを取得/api/v1/search/get/{index}/doc/{id}❌
タグと分類
タグ一覧を取得/api/v1/tags❌
タグを取得/api/v1/tags/{id}❌
名前でタグを取得/api/v1/tags/name/{fqn}❌
リネージ
リネージを取得/api/v1/lineage/getLineage❌
リネージをエクスポート/api/v1/lineage/export❌
名前でエンティティのリネージを取得/api/v1/lineage/{entity}/name/{fqn}❌
ID でエンティティのリネージを取得/api/v1/lineage/{entity}/{id}❌
リネージエッジを取得/api/v1/lineage/getLineageEdge/{fromId}/{toId}❌
リネージを追加/更新/api/v1/lineage❌
FQN でリネージを追加/更新/api/v1/lineage/{fromEntity}/name/{fromFQN}/{toEntity}/name/{toFQN}❌
ID でリネージを追加/更新/api/v1/lineage/{fromEntity}/{fromId}/{toEntity}/{toId}❌
用語集
用語集一覧を取得/api/v1/glossaries❌
用語集を取得/api/v1/glossaries/{id}❌
名前で用語集を取得/api/v1/glossaries/name/{fqn}❌
用語集をエクスポート/api/v1/glossaries/name/{name}/export❌
用語集をインポート/api/v1/glossaries/name/{name}/import❌
用語集用語一覧を取得/api/v1/glossaryTerms❌
用語集用語を取得/api/v1/glossaryTerms/{id}❌
名前で用語集用語を取得/api/v1/glossaryTerms/name/{fqn}❌
用語にアセットを追加/api/v1/glossaryTerms/{id}/assets/add❌
用語からアセットを削除/api/v1/glossaryTerms/{id}/assets/remove❌
用語のタグを検証/api/v1/glossaryTerms/{id}/tags/validate❌
使用状況
名前でエンティティの使用状況を取得/api/v1/usage/{entity}/name/{fqn}❌
ID でエンティティの使用状況を取得/api/v1/usage/{entity}/{id}❌

セットアップ

環境変数

以下のいずれかの認証方法を設定してください。

トークン認証(推奨)
OPENMETADATA_HOST=<your-openmetadata-host>
OPENMETADATA_JWT_TOKEN=<your-jwt-token>
ベーシック認証
OPENMETADATA_HOST=<your-openmetadata-host>
OPENMETADATA_USERNAME=<your-username>
OPENMETADATA_PASSWORD=<your-password>
Claude Desktop での使用方法

以下のいずれかの認証方法を使用して、claude_desktop_config.json に追加してください。

トークン認証(推奨)
{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uvx",
      "args": ["mcp-server-openmetadata"],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}
ベーシック認証
{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uvx",
      "args": ["mcp-server-openmetadata"],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_USERNAME": "your-username",
        "OPENMETADATA_PASSWORD": "your-password"
      }
    }
  }
}

uv を使用した代替の設定方法:

トークン認証(推奨)
{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-openmetadata",
        "run",
        "mcp-server-openmetadata"
      ],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_JWT_TOKEN": "your-jwt-token"
      }
    }
  }
}
ベーシック認証
{
  "mcpServers": {
    "mcp-server-openmetadata": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-server-openmetadata",
        "run",
        "mcp-server-openmetadata"
      ],
      "env": {
        "OPENMETADATA_HOST": "https://your-openmetadata-host",
        "OPENMETADATA_USERNAME": "your-username",
        "OPENMETADATA_PASSWORD": "your-password"
      }
    }
  }
}

/path/to/mcp-server-openmetadata を、リポジトリをクローンした実際のパスに置き換えてください。

手動実行

サーバーを手動で実行することもできます。

python src/server.py

オプション:

  • --port:SSE の待ち受けポート(デフォルト:8000)
  • --transport:トランスポートの種類(stdio/sse、デフォルト:stdio)

コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。

ライセンス

MIT License

コメント

MCP は初めてですか?

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

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