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.
Files changed (28) hide show
  1. databricks_mcp_toolkit-0.2.0/.gitignore +104 -0
  2. databricks_mcp_toolkit-0.2.0/CHANGELOG.md +42 -0
  3. databricks_mcp_toolkit-0.2.0/LICENSE +661 -0
  4. databricks_mcp_toolkit-0.2.0/PKG-INFO +282 -0
  5. databricks_mcp_toolkit-0.2.0/README.md +244 -0
  6. databricks_mcp_toolkit-0.2.0/pyproject.toml +74 -0
  7. databricks_mcp_toolkit-0.2.0/scripts/gen_tools_table.py +51 -0
  8. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/__init__.py +10 -0
  9. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/__main__.py +10 -0
  10. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/__init__.py +30 -0
  11. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/clusters.py +73 -0
  12. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/command_execution.py +92 -0
  13. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/dbfs.py +37 -0
  14. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/files.py +94 -0
  15. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/jobs.py +144 -0
  16. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/sql.py +99 -0
  17. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/unity_catalog.py +76 -0
  18. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/warehouses.py +32 -0
  19. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/api/workspace.py +67 -0
  20. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/cli.py +100 -0
  21. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/client.py +208 -0
  22. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/config.py +56 -0
  23. databricks_mcp_toolkit-0.2.0/src/databricks_mcp/server.py +642 -0
  24. databricks_mcp_toolkit-0.2.0/tests/__init__.py +0 -0
  25. databricks_mcp_toolkit-0.2.0/tests/conftest.py +23 -0
  26. databricks_mcp_toolkit-0.2.0/tests/test_api.py +303 -0
  27. databricks_mcp_toolkit-0.2.0/tests/test_client.py +108 -0
  28. 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).