Metadata-Version: 2.4
Name: databricks-mcp-tools
Version: 0.1.0
Summary: MCP server for Databricks integration
Project-URL: Homepage, https://github.com/PippleNL/databricks_mcp
Project-URL: Repository, https://github.com/PippleNL/databricks_mcp.git
Author: PippleNL
License: MIT
Keywords: ai,databricks,llm,mcp
Requires-Python: >=3.10
Requires-Dist: databricks-sdk>=0.18.0
Requires-Dist: databricks-sql-connector>=3.0.0
Requires-Dist: fastapi>=0.104.0
Requires-Dist: matplotlib>=3.7.0
Requires-Dist: mcp>=0.9.0
Requires-Dist: openpyxl>=3.0.0
Requires-Dist: pandas>=1.5.0
Requires-Dist: pyarrow>=10.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyqt6>=6.5.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: requests>=2.28.0
Requires-Dist: uvicorn[standard]>=0.24.0
Description-Content-Type: text/markdown

# Databricks Unity Catalog View Access

Script om Databricks Unity Catalog via MCP te benaderen.

## Setup Stappen

### 0. Zorg dat je een Python environment hebt

Python 3.12.11 werkt.

### 1. Installeer Dependencies
```bash
pip install -r requirements.txt
```

### 2. Databricks Configuratie (Vereist voor externe toegang)

#### A. Genereer Personal Access Token
1. Log in op Databricks workspace: https://adb-4268269233410651.11.azuredatabricks.net
2. Klik rechtsboven op je gebruikersnaam → **Settings**
3. Ga naar **Developer** → **Access tokens**
4. Klik **Generate new token**
5. Geef een naam (bijv. "Python Script Access") en optioneel een expiration
6. **Kopieer de token** (wordt maar 1x getoond!)

#### B. Verkrijg SQL Warehouse HTTP Path
1. Ga in Databricks naar **SQL Warehouses** (via zijmenu)
2. Selecteer een actieve SQL Warehouse (of maak een nieuwe aan)
3. Klik op de warehouse en ga naar **Connection Details**
4. Kopieer de **HTTP Path** (format: `/sql/1.0/warehouses/xxxxx`)

#### C. Verkrijg Cluster ID (Voor Python Code Execution)

Als je de `execute_python_code` tool wilt gebruiken:
1. Ga in Databricks naar **Compute** (via zijmenu)
2. Selecteer een actieve cluster (of maak een nieuwe aan)
3. Kopieer de **Cluster ID** uit de URL of cluster details

**Let op:** De Command Execution API werkt alleen met classic all-purpose clusters, niet met serverless compute.

#### D. Configureer Environment Variables

Maak een .env file aan conform:

```
DATABRICKS_ACCESS_TOKEN=<je access token>
DATABRICKS_HTTP_PATH=/sql/1.0/warehouses/15c864e4e063e48c
DATABRICKS_SERVER_HOSTNAME=adb-4268269233410651.11.azuredatabricks.net
DATABRICKS_CLUSTER_ID=<je cluster id voor python execution>
```

**Let op:** `DATABRICKS_CLUSTER_ID` is alleen vereist als je de `execute_python_code` tool wilt gebruiken.


### 5. Permissies Check
Zorg dat je Databricks account heeft:
- `USE CATALOG` rechten op `main` catalog
- `USE SCHEMA` rechten op `ralf` schema
- `SELECT` rechten op `full_view_with_location` view

Test met:
```sql
SHOW GRANTS ON VIEW main.ralf.full_view_with_location;
```


## Troubleshooting

### Fout: "Invalid access token"
- Check of DATABRICKS_TOKEN environment variable correct is gezet
- Genereer een nieuwe token als deze verlopen is

### Fout: "Warehouse not found"
- Controleer of HTTP Path correct is ingevuld
- Zorg dat SQL Warehouse actief is (Status: Running)

### Fout: "Table or view not found"
- Verifieer permissies via Databricks UI
- Check of catalog/schema/view namen exact kloppen (case-sensitive!)

### Fout: "Connection timeout"
- Check internet connectie
- Verifieer IP whitelisting in Databricks
- Test VPN verbinding indien van toepassing
