mcp-server-unitycatalog: An Unity Catalog MCP server について
mcp-server-unitycatalogは、Unity Catalogの関数をMCPクライアントから利用できるようにします。関数の一覧表示、詳細取得、作成、削除も提供し、MCP経由でカタログ関数を扱う用途に向いています。
主な機能
- 01登録済みUnity Catalog関数の実行
- 02カタログとスキーマ内の関数一覧
- 03関数詳細の取得
- 04関数の作成と削除
活用シーン
- 01MCP経由でカタログ関数を呼び出す
- 02スキーマ内の関数を確認する
- 03Python関数を登録または削除する
MCP 対応
MCPサーバーとしてUnity Catalog関数をツールとして公開し、一覧表示、詳細取得、作成、削除の操作も提供します。起動時にサーバーURL、カタログ、スキーマの設定が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-unitycatalog:Unity Catalog 用 MCP サーバー
概要
Unity Catalog 用の Model Context Protocol サーバーです。このサーバーは、Unity Catalog Functions を MCP ツールとして提供します。
ツール
以下の事前定義済み Unity Catalog AI ツールとともに、Unity Catalog に登録されているすべての Unity Catalog Functions を使用できます。
-
uc_list_functions- 指定した親カタログとスキーマ内の関数を一覧表示します。
- 戻り値:Unity Catalog から取得した関数の一覧。
-
uc_get_function- 親カタログとスキーマ内の関数を取得します。
- 入力:
name(文字列):関数名(完全修飾名ではありません)。
- 戻り値:Unity Catalog から取得した関数の詳細。
-
uc_create_function- 親カタログとスキーマ内に関数を作成します。警告:この API は試験的なものであり、今後のバージョンで変更されます。
- 入力:
name(文字列):関数名(完全修飾名ではありません)。script(文字列):登録する関数を含む Python スクリプト。
- 戻り値:Unity Catalog 内に作成された関数の詳細。
-
uc_delete_function- 親カタログとスキーマ内の関数を削除します。
- 入力:
name(文字列):関数名(完全修飾名ではありません)。
- 戻り値:なし。
インストール
uv を使用する
uv を使用する場合、特別なインストールは必要ありません。
uvx を使用して mcp-server-git を直接実行します。
設定
これらの値は CLI オプションまたは .env 環境変数でも設定できます。必須の引数は Unity Catalog サーバー、カタログ、スキーマです。アクセストークンと詳細度レベルは任意です。より詳しい設定オプションについては、uv run mcp-server-unitycatalog --help を実行してください。
| 引数 | 環境変数 | 説明 | 必須/任意 |
|---|---|---|---|
-u, --uc_server | UC_SERVER | Unity Catalog サーバーのベース URL。 | 必須 |
-c, --uc_catalog | UC_CATALOG | Unity Catalog カタログの名前。 | 必須 |
-s, --uc_schema | UC_SCHEMA | Unity Catalog カタログ内のスキーマ名。 | 必須 |
-t, --uc_token | UC_TOKEN | Unity Catalog サーバーへの API リクエストの認証に使用するアクセストークン。 | 任意 |
-v, --uc_verbosity | UC_VERBOSITY | ログの詳細度レベル。デフォルト:warn。 | 任意 |
-l, --uc_log_directory | UC_LOG_DIRECTORY | ログファイルの保存先ディレクトリ。デフォルト:.mcp_server_unitycatalog。 | 任意 |
Claude Desktop または VSCode Cline での使用
claude_desktop_config.json(または cline_mcp_settings.json)に以下を追加してください。
uv を使用する
{
"mcpServers": {
"unitycatalog": {
"command": "uv",
"args": [
"--directory",
"/<path to your local git repository>/mcp-server-unitycatalog",
"run",
"mcp-server-unitycatalog",
"--uc_server",
"<your unity catalog url>",
"--uc_catalog",
"<your catalog name>",
"--uc_schema",
"<your schema name>"
]
}
}
}
docker を使用する
- 注:
/Users/usernameを、このツールからアクセス可能にしたいパスに置き換えてください。
{
"mcpServers": {
"unitycatalog": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"mcp/unitycatalog",
"--uc_server",
"<your unity catalog url>",
"--uc_catalog",
"<your catalog name>",
"--uc_schema",
"<your schema name>"
]
}
}
}
ビルド
Docker:
docker build -t mcp/unitycatalog .
今後の予定
-
list_functionsのサポートを実装します。 -
get_functionのサポートを実装します。 -
create_python_functionのサポートを実装します。 -
execute_functionのサポートを実装します。 -
delete_functionのサポートを実装します。 - セマンティックカタログエクスプローラーのツールを実装します。
- Docker イメージを追加します。
-
use_xxxメソッドを実装します。現在の実装では、サーバーの起動時にcatalogとschemaを定義する必要があります。ただし、これらはuse_catalogとuse_schema関数として実装され、use_xxxを実行すると、利用可能な関数のリストが動的に更新されるようになります。
ライセンス
この MCP サーバーは MIT ライセンスのもとでライセンスされています。これは、MIT ライセンスの条項および条件に従う限り、ソフトウェアを自由に使用、変更、配布できることを意味します。詳細については、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。