Lists, gets, creates and deletes Unity Catalog functions and exposes them as MCP tools the agent can run.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add unity-catalog --env UC_CATALOG='<UC_CATALOG>' --env UC_SCHEMA='<UC_SCHEMA>' --env UC_SERVER='<UC_SERVER>' -- docker build -t mcp/unitycatalog .~/.codex/config.toml
[mcp_servers.unity-catalog]
command = "docker"
args = ["build", "-t", "mcp/unitycatalog", "."]
env = { UC_CATALOG = "<UC_CATALOG>", UC_SCHEMA = "<UC_SCHEMA>", UC_SERVER = "<UC_SERVER>" }
# codex mcp add unity-catalog --env UC_CATALOG='<UC_CATALOG>' --env UC_SCHEMA='<UC_SCHEMA>' --env UC_SERVER='<UC_SERVER>' -- docker build -t mcp/unitycatalog .~/.cursor/mcp.json
{
"mcpServers": {
"unity-catalog": {
"command": "docker",
"args": [
"build",
"-t",
"mcp/unitycatalog",
"."
],
"env": {
"UC_CATALOG": "<UC_CATALOG>",
"UC_SCHEMA": "<UC_SCHEMA>",
"UC_SERVER": "<UC_SERVER>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"unity-catalog": {
"type": "stdio",
"command": "docker",
"args": [
"build",
"-t",
"mcp/unitycatalog",
"."
],
"env": {
"UC_CATALOG": "<UC_CATALOG>",
"UC_SCHEMA": "<UC_SCHEMA>",
"UC_SERVER": "<UC_SERVER>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"unity-catalog": {
"command": "docker",
"args": [
"build",
"-t",
"mcp/unitycatalog",
"."
],
"env": {
"UC_CATALOG": "<UC_CATALOG>",
"UC_SCHEMA": "<UC_SCHEMA>",
"UC_SERVER": "<UC_SERVER>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"unity-catalog": {
"command": "docker",
"args": [
"build",
"-t",
"mcp/unitycatalog",
"."
],
"env": {
"UC_CATALOG": "<UC_CATALOG>",
"UC_SCHEMA": "<UC_SCHEMA>",
"UC_SERVER": "<UC_SERVER>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"unity-catalog": {
"command": "docker",
"args": [
"build",
"-t",
"mcp/unitycatalog",
"."
],
"env": {
"UC_CATALOG": "<UC_CATALOG>",
"UC_SCHEMA": "<UC_SCHEMA>",
"UC_SERVER": "<UC_SERVER>"
}
}
}
}Environment variables
UC_CATALOGUC_SCHEMAUC_SERVER
Replace the placeholders with your own credentials and keep them out of version control.