Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Databricks Permissions Server

FreeNot checked

Enables LLM-powered tools to manage Databricks permissions, credentials, and Git credentials via the MCP protocol.

GitHubEmbed

About

Enables LLM-powered tools to manage Databricks permissions, credentials, and Git credentials via the MCP protocol.

README

A Model Completion Protocol (MCP) server that provides access to Databricks permissions, credentials, and Git credentials via the MCP protocol. This allows LLM-powered tools like Claude to interact with Databricks permissions management systems.

Features

  • MCP Protocol Support: Implements the MCP protocol to allow LLMs to manage Databricks permissions
  • Databricks API Integration: Provides secure access to Databricks permissions REST APIs
  • Permission Management: Comprehensive tools for managing permissions on various Databricks resources
  • Git Credentials Management: Tools for creating, listing, updating, and deleting Git credentials
  • Async Support: Built with asyncio for efficient operation

Available Tools

The Databricks Permissions MCP Server exposes the following tools:

Permissions Management

  • get_permissions: Get permissions for a Databricks object
  • set_permissions: Set permissions for a Databricks object
  • update_permissions: Update permissions for a Databricks object
  • get_permission_levels: Get available permission levels for a Databricks object type

Resource-Specific Permissions

  • get_cluster_permissions: Get permissions for a cluster
  • set_cluster_permissions: Set permissions for a cluster
  • update_cluster_permissions: Update permissions for a cluster
  • get_job_permissions: Get permissions for a job
  • set_job_permissions: Set permissions for a job
  • get_warehouse_permissions: Get permissions for a SQL warehouse
  • get_workspace_object_permissions: Get permissions for a workspace object (notebooks, directories)

Service Principals

  • list_service_principals: List all service principals in the workspace
  • get_service_principal: Get details of a specific service principal
  • create_service_principal: Create a new service principal
  • update_service_principal: Update an existing service principal
  • delete_service_principal: Delete a service principal

Unity Catalog Permissions

  • get_catalog_permissions: Get permissions for a Unity Catalog catalog
  • get_schema_permissions: Get permissions for a Unity Catalog schema
  • get_table_permissions: Get permissions for a Unity Catalog table

Git Credentials Management

  • list_git_credentials: List all Git credentials
  • create_git_credential: Create a new Git credential
  • update_git_credential: Update an existing Git credential
  • delete_git_credential: Delete a Git credential

Installation

Prerequisites

  • Python 3.10 or higher
  • MCP-compatible client (e.g., Claude Desktop)

Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/databricks-permissions-mcp-server.git
    cd databricks-permissions-mcp-server
    
  2. Set up the project:

    # Create and activate virtual environment
    python -m venv .venv
    
    # On Windows
    .\.venv\Scripts\activate
    
    # On Linux/Mac
    source .venv/bin/activate
    
    # Install dependencies in development mode
    pip install -e .
    
  3. Set up environment variables:

    # Windows
    set DATABRICKS_HOST=https://your-databricks-instance.azuredatabricks.net
    set DATABRICKS_TOKEN=your-personal-access-token
    
    # Linux/Mac
    export DATABRICKS_HOST=https://your-databricks-instance.azuredatabricks.net
    export DATABRICKS_TOKEN=your-personal-access-token
    

    You can also create an .env file based on the .env.example template.

Running the MCP Server

To start the MCP server, run:

# Windows
.\start_mcp_server.ps1

# Linux/Mac
./start_mcp_server.sh

Using with Claude Desktop

  1. In Claude Desktop, click the "+" button to add a new tool
  2. Select "Custom command"
  3. Enter a name like "Databricks Permissions"
  4. For the command, enter: python -m src.server.databricks_permissions_mcp_server
  5. Click "Save"
  6. You can now ask Claude to perform tasks like:
    • "List all Git credentials in Databricks"
    • "Show permissions for cluster X"
    • "Update permissions for job Y to give user Z 'CAN_MANAGE' access"

Project Structure

databricks-permissions-mcp-server/
├── src/                             # Source code
│   ├── api/                         # Databricks API clients
│   │   ├── permissions.py           # Permissions API client
│   │   ├── service_principals.py    # Service principals API client
│   │   ├── unity_catalog.py         # Unity Catalog API client
│   │   ├── shares.py                # Delta Sharing API client
│   │   └── git_credentials.py       # Git credentials API client
│   ├── core/                        # Core functionality
│   ├── server/                      # Server implementation
│   │   ├── databricks_permissions_mcp_server.py # Main MCP server
│   │   └── app.py                   # FastAPI app for tests
│   └── cli/                         # Command-line interface
├── tests/                           # Test directory
├── scripts/                         # Helper scripts
└── pyproject.toml                   # Project configuration

Development

Code Standards

  • Python code follows PEP 8 style guide with a maximum line length of 100 characters
  • All classes, methods, and functions should have Google-style docstrings
  • Type hints are required for all code except tests

Testing

The project uses pytest for testing. To run the tests:

# Run all tests
pytest tests/

# Run with coverage report
pytest --cov=src tests/ --cov-report=term-missing

License

This project is licensed under the MIT License - see the LICENSE file for details.

from github.com/JustTryAI/databricks-permissions-mcp-server

Install Databricks Permissions Server in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install databricks-permissions-mcp-server

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add databricks-permissions-mcp-server -- uvx --from git+https://github.com/JustTryAI/databricks-permissions-mcp-server databricks-permissions-mcp-server

FAQ

Is Databricks Permissions Server MCP free?

Yes, Databricks Permissions Server MCP is free — one-click install via Unyly at no cost.

Does Databricks Permissions Server need an API key?

No, Databricks Permissions Server runs without API keys or environment variables.

Is Databricks Permissions Server hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Databricks Permissions Server in Claude Desktop, Claude Code or Cursor?

Open Databricks Permissions Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Databricks Permissions Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs