About Databricks Permissions MCP Server
Databricks Permissions MCP Server gives LLM-powered tools access to Databricks permission and credential management. It includes resource-specific permission operations, service principal management, Unity Catalog permissions, and Git credential controls.
Key features
- 01Get and change resource permissions
- 02Manage cluster and job permissions
- 03Manage service principals
- 04Manage Unity Catalog permissions
- 05Create and manage Git credentials
- 06Async Databricks API access
Use cases
- 01Review permissions on a workspace object
- 02Change access to a cluster or job
- 03Manage service principals
- 04Update stored Git credentials
MCP support
Exposes Databricks permission, service principal, Unity Catalog, and Git credential operations as tools for MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDatabricks Permissions MCP Server
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
-
Clone the repository:
git clone https://github.com/yourusername/databricks-permissions-mcp-server.git cd databricks-permissions-mcp-server -
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 . -
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-tokenYou can also create an
.envfile based on the.env.exampletemplate.
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
- In Claude Desktop, click the "+" button to add a new tool
- Select "Custom command"
- Enter a name like "Databricks Permissions"
- For the command, enter:
python -m src.server.databricks_permissions_mcp_server - Click "Save"
- 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.