- Home
- MCP servers
- Unity Catalog
Unity Catalog
- python
15
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"ognis1205-mcp-server-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>"
],
"env": {
"UC_TOKEN": "YOUR_TOKEN",
"UC_SCHEMA": "public",
"UC_SERVER": "https://unity.catalog.company",
"UC_CATALOG": "analytics",
"UC_VERBOSITY": "warn",
"UC_LOG_DIRECTORY": ".mcp_server_unitycatalog"
}
}
}
}You run the Unity Catalog MCP server to expose Unity Catalog Functions as MCP tools. This server lets you list, retrieve, create, and delete Unity Catalog functions through a Model Context Protocol interface, enabling seamless integration with your MCP client workflows.
How to use
You can run the Unity Catalog MCP server either via the uv runtime or inside a Docker container. Choose the method that best fits your environment, then provide the required Unity Catalog connection details. You will supply the base Unity Catalog server URL, the catalog name, and the schema name. The access token is optional, and you can increase or decrease logging verbosity as needed.
How to install
Prerequisites: Install the runtime you will use to run MCP servers. You can use uv to run MCP servers directly or Docker to run a prebuilt image.
Install and run with uv (recommended for local development): create or edit your configuration as shown in the snippet, then run the MCP server using uv.
Install and run with Docker: pull and run the prebuilt image, supplying your Unity Catalog details as arguments.
Configuration and server setup
You configure the MCP server by providing the Unity Catalog connection details. You must set uc_server, uc_catalog, and uc_schema. The access token (uc_token) is optional, and you can set uc_verbosity and uc_log_directory to control logging.
{
"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>"
]
}
}
}
Security and access
Provide the Unity Catalog server URL, catalog, and schema to ensure the MCP server can authenticate and access the right Unity Catalog resources. If you want to secure requests, supply an access token via uc_token.
Examples of tools available
The MCP server exposes the following Unity Catalog functions as tools. You can use all functions registered in Unity Catalog alongside these predefined MCP tools.
Notes on usage with Claude Desktop or VSCode Cline
Place the MCP server configuration in your Claude Desktop or VSCode Cline settings as shown in the samples. The configuration supports both uv and docker runtimes.
Building and image notes
If you choose Docker, you can build or pull the image and run it with your Unity Catalog parameters. A Docker image is provided for quick setup.
End-of-section
This section covers practical steps to get your Unity Catalog MCP server up and running with either uv or Docker, along with how to supply the required Unity Catalog details.
Available tools
uc_list_functions
Lists functions within the specified parent catalog and schema. Returns a list of functions from Unity Catalog.
uc_get_function
Gets a function within a parent catalog and schema. Input the function name (not fully-qualified). Returns function details from Unity Catalog.
uc_create_function
Creates a function within a parent catalog and schema. INPUT: name (string), script (string). WARNING: experimental API. Returns details of the created function.
uc_delete_function
Deletes a function within a parent catalog and schema. INPUT: name (string). Returns none.