databricks-mcp-toolkit 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- databricks_mcp_toolkit-0.2.0/.gitignore +104 -0
- databricks_mcp_toolkit-0.2.0/CHANGELOG.md +42 -0
- databricks_mcp_toolkit-0.2.0/LICENSE +661 -0
- databricks_mcp_toolkit-0.2.0/PKG-INFO +282 -0
- databricks_mcp_toolkit-0.2.0/README.md +244 -0
- databricks_mcp_toolkit-0.2.0/pyproject.toml +74 -0
- databricks_mcp_toolkit-0.2.0/scripts/gen_tools_table.py +51 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/__init__.py +10 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/__main__.py +10 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/__init__.py +30 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/clusters.py +73 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/command_execution.py +92 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/dbfs.py +37 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/files.py +94 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/jobs.py +144 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/sql.py +99 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/unity_catalog.py +76 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/warehouses.py +32 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/workspace.py +67 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/cli.py +100 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/client.py +208 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/config.py +56 -0
- databricks_mcp_toolkit-0.2.0/src/databricks_mcp/server.py +642 -0
- databricks_mcp_toolkit-0.2.0/tests/__init__.py +0 -0
- databricks_mcp_toolkit-0.2.0/tests/conftest.py +23 -0
- databricks_mcp_toolkit-0.2.0/tests/test_api.py +303 -0
- databricks_mcp_toolkit-0.2.0/tests/test_client.py +108 -0
- databricks_mcp_toolkit-0.2.0/tests/test_server.py +137 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Python virtual environments
|
|
2
|
+
venv/
|
|
3
|
+
.venv/
|
|
4
|
+
env/
|
|
5
|
+
ENV/
|
|
6
|
+
|
|
7
|
+
# Python bytecode
|
|
8
|
+
__pycache__/
|
|
9
|
+
*.py[cod]
|
|
10
|
+
*$py.class
|
|
11
|
+
|
|
12
|
+
# Distribution / packaging
|
|
13
|
+
dist/
|
|
14
|
+
build/
|
|
15
|
+
*.egg-info/
|
|
16
|
+
|
|
17
|
+
# Local development settings
|
|
18
|
+
.env
|
|
19
|
+
.env.local
|
|
20
|
+
|
|
21
|
+
# IDE settings
|
|
22
|
+
.idea/
|
|
23
|
+
.vscode/
|
|
24
|
+
.cursor/
|
|
25
|
+
*.swp
|
|
26
|
+
*.swo
|
|
27
|
+
|
|
28
|
+
# OS specific files
|
|
29
|
+
.DS_Store
|
|
30
|
+
Thumbs.db
|
|
31
|
+
|
|
32
|
+
# Logs
|
|
33
|
+
*.log
|
|
34
|
+
logs/
|
|
35
|
+
|
|
36
|
+
# Temporary files
|
|
37
|
+
tmp/
|
|
38
|
+
temp/
|
|
39
|
+
|
|
40
|
+
# uv package manager files
|
|
41
|
+
.uv/
|
|
42
|
+
uv.lock
|
|
43
|
+
|
|
44
|
+
# Databricks-specific
|
|
45
|
+
*.dbfs
|
|
46
|
+
|
|
47
|
+
# C extensions
|
|
48
|
+
*.so
|
|
49
|
+
|
|
50
|
+
# Distribution / packaging
|
|
51
|
+
.Python
|
|
52
|
+
develop-eggs/
|
|
53
|
+
downloads/
|
|
54
|
+
eggs/
|
|
55
|
+
.eggs/
|
|
56
|
+
lib/
|
|
57
|
+
lib64/
|
|
58
|
+
parts/
|
|
59
|
+
sdist/
|
|
60
|
+
var/
|
|
61
|
+
wheels/
|
|
62
|
+
.installed.cfg
|
|
63
|
+
*.egg
|
|
64
|
+
MANIFEST
|
|
65
|
+
|
|
66
|
+
# PyInstaller
|
|
67
|
+
*.manifest
|
|
68
|
+
*.spec
|
|
69
|
+
|
|
70
|
+
# Installer logs
|
|
71
|
+
pip-log.txt
|
|
72
|
+
pip-delete-this-directory.txt
|
|
73
|
+
|
|
74
|
+
# Unit test / coverage reports
|
|
75
|
+
htmlcov/
|
|
76
|
+
.tox/
|
|
77
|
+
.coverage
|
|
78
|
+
.coverage.*
|
|
79
|
+
.cache
|
|
80
|
+
nosetests.xml
|
|
81
|
+
coverage.xml
|
|
82
|
+
*.cover
|
|
83
|
+
.hypothesis/
|
|
84
|
+
.pytest_cache/
|
|
85
|
+
|
|
86
|
+
# Environments
|
|
87
|
+
env.bak/
|
|
88
|
+
venv.bak/
|
|
89
|
+
|
|
90
|
+
# IDEs and editors
|
|
91
|
+
*.swp
|
|
92
|
+
*.swo
|
|
93
|
+
*~
|
|
94
|
+
|
|
95
|
+
# OS generated files
|
|
96
|
+
.DS_Store?
|
|
97
|
+
._*
|
|
98
|
+
.Spotlight-V100
|
|
99
|
+
.Trashes
|
|
100
|
+
ehthumbs.db
|
|
101
|
+
Thumbs.db
|
|
102
|
+
|
|
103
|
+
# Log files
|
|
104
|
+
*.log
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.0 (first PyPI release)
|
|
4
|
+
|
|
5
|
+
A rewrite of the 0.1 code.
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Published to PyPI as `databricks-mcp-toolkit`, with a `databricks-mcp` command and `python -m databricks_mcp`.
|
|
9
|
+
- Unity Catalog tools: `list_catalogs`, `list_schemas`, `list_tables`, `get_table`, `list_volumes`.
|
|
10
|
+
- Volume file tools on the Files API: `list_volume_directory`, `read_volume_file`, `write_volume_file`, `delete_volume_file`, `create_volume_directory`.
|
|
11
|
+
- SQL warehouse tools: `list_sql_warehouses`, `get_sql_warehouse`, `start_sql_warehouse`, `stop_sql_warehouse`, plus `get_sql_statement` and `cancel_sql_statement`.
|
|
12
|
+
- Cluster tools: `restart_cluster`, `resize_cluster`, `list_spark_versions`, `list_node_types`.
|
|
13
|
+
- Job tools: `list_job_runs`, `cancel_run`, `run_job` with `job_parameters`. `get_run_output` now handles multi-task runs.
|
|
14
|
+
- Workspace tools: `import_notebook`, `create_workspace_directory`, `get_workspace_object`.
|
|
15
|
+
- Read-only mode (`--read-only` / `DATABRICKS_MCP_READ_ONLY`) and toolset filtering (`--toolsets`).
|
|
16
|
+
- MCP tool annotations (read-only, destructive and idempotent hints) on every tool.
|
|
17
|
+
- All Databricks auth methods, through `databricks-sdk` unified auth (OAuth M2M/U2M, profiles, Azure).
|
|
18
|
+
- Streamable HTTP transport.
|
|
19
|
+
- A unit test suite, plus CI on Python 3.10–3.13 and trusted-publishing release workflow.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- Moved to current endpoints: Jobs `2.0` → `2.2`, Clusters `2.0` → `2.1`. Unity Catalog uses `2.1`.
|
|
23
|
+
- Tools take typed, named arguments instead of a single opaque `params` object.
|
|
24
|
+
- `execute_sql` waits for the result (polling past the API's 50-second limit) and returns flat columns and rows.
|
|
25
|
+
- Large responses are truncated with a hint instead of flooding the model's context.
|
|
26
|
+
- POST requests are no longer retried on 5xx or timeouts, which could have duplicated resources. 429s are retried with `Retry-After`.
|
|
27
|
+
- Renamed tools:
|
|
28
|
+
- `list_notebooks` → `list_workspace`
|
|
29
|
+
- `list_files` → `list_dbfs`
|
|
30
|
+
- `submit_single_run` → `submit_run`
|
|
31
|
+
- `wait_for_run_completion` → `wait_for_run`
|
|
32
|
+
- `execute_command_simple` → `run_command`
|
|
33
|
+
- Requires `mcp>=2.3`.
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
- The server failed to start on a fresh install: it imported `FastMCP`, which was removed in MCP SDK 2.x, and the dependency wasn't pinned.
|
|
37
|
+
- `pyproject.toml` said MIT while `LICENSE` is AGPL-3.0. The metadata now matches the license.
|
|
38
|
+
- The wheel installed a top-level package named `src`.
|
|
39
|
+
|
|
40
|
+
### Removed
|
|
41
|
+
- The unused FastAPI app, the placeholder API-key auth, and the PowerShell/bash launcher scripts.
|
|
42
|
+
- `get_context_status`, and DBFS write helpers (use volumes instead).
|