by ognis1205
mcp-server-unitycatalog is a Model Context Protocol (MCP) server that enables Large Language Models (LLMs) to interact with Unity Catalog AI. It supports CRUD operations on Unity Catalog Functions and allows LLMs to execute them as MCP tools.
mcp-server-unitycatalog is an MCP server designed to bridge the gap between Large Language Models (LLMs) and Unity Catalog AI. It allows LLMs to seamlessly interact with Unity Catalog Functions, treating them as callable tools within an MCP environment.
To use mcp-server-unitycatalog, you can either install it using uv
or run it via Docker. Configuration involves setting required arguments such as the Unity Catalog server URL, catalog name, and schema name, which can be done via CLI options or environment variables. The project also provides examples for integration with Claude Desktop or VSCode Cline by modifying their respective configuration files to include the mcp-server-unitycatalog as an MCP server.
uc_list_functions
: Lists functions within a specified catalog and schema.uc_get_function
: Retrieves details of a specific function.uc_create_function
: Creates a new function (experimental API).uc_delete_function
: Deletes an existing function.uc_create_function
stable?
No, the uc_create_function
API is experimental and may change in future versions.-u
, -c
, -s
, etc.) or environment variables (UC_SERVER
, UC_CATALOG
, UC_SCHEMA
, etc.).use_xxx
methods for dynamic catalog and schema updates.A Model Context Protocol server for Unity Catalog. This server provides Unity Catalog Functions as MCP tools.
You can use all Unity Catalog Functions registered in Unity Catalog alongside the following predefined Unity Catalog AI tools:
uc_list_functions
uc_get_function
name
(string): The name of the function (not fully-qualified).uc_create_function
name
(string): The name of the function (not fully-qualified).script
(string): The Python script including the function to be registered.uc_delete_function
name
(string): The name of the function (not fully-qualified).When using uv
no specific installation is needed. We will use
uvx
to directly run mcp-server-git.
These values can also be set via CLI options or .env
environment variables. Required arguments are the Unity Catalog server, catalog, and schema, while the access token and verbosity level are optional. Run uv run mcp-server-unitycatalog --help
for more detailed configuration options.
Argument | Environment Variable | Description | Required/Optional |
---|---|---|---|
-u , --uc_server |
UC_SERVER |
The base URL of the Unity Catalog server. | Required |
-c , --uc_catalog |
UC_CATALOG |
The name of the Unity Catalog catalog. | Required |
-s , --uc_schema |
UC_SCHEMA |
The name of the schema within a Unity Catalog catalog. | Required |
-t , --uc_token |
UC_TOKEN |
The access token used to authorize API requests to the Unity Catalog server. | Optional |
-v , --uc_verbosity |
UC_VERBOSITY |
The verbosity level for logging. Default: warn . |
Optional |
-l , --uc_log_directory |
UC_LOG_DIRECTORY |
The directory where log files will be stored. Default: .mcp_server_unitycatalog . |
Optional |
Add this to your claude_desktop_config.json
(or cline_mcp_settings.json
):
{
"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>"
]
}
}
}
{
"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
.use_xxx
methods. In the current implementation, catalog
and schema
need to be defined when starting the server. However, they will be implemented as use_catalog
and use_schema
functions, dynamically updating the list of available functions when the use_xxx
is executed.This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Please log in to share your review and rating for this MCP.