This is an automated email from the ASF dual-hosted git repository. cgivre pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/drill-mcp.git
commit 7ccda928503dc8ca34601e118126e02778d20127 Merge: 1c59dfd dcae48e Author: cgivre <[email protected]> AuthorDate: Wed Aug 12 17:14:38 2026 -0400 Add Apache Drill MCP server MCP server exposing nine read-and-manage tools over Apache Drill, with a deny-by-default SQL policy layer between the model and the cluster. - REST backend by default, optional JDBC backend for Kerberos - Writes denied unless a plugin is explicitly allowlisted; ALTER SYSTEM and storage-plugin editing are not implemented at all - Configurable hidden schemas, enforced in the guard, the metadata tools, and by filtering the rows of every SHOW command - Secrets redacted from storage-plugin and profile output, not disableable - Column discovery branches on storage plugin type, following the sqlalchemy-drill dialect - 343 tests, no Drill cluster or JVM required - CI on Python 3.11-3.13 with ruff linting .github/workflows/ci.yml | 73 + .gitignore | 16 + LICENSE | 201 ++ NOTICE | 5 + README.md | 153 ++ docs/configuration.md | 86 + .../plans/2026-08-11-drill-mcp-server.md | 2633 -------------------- .../specs/2026-08-11-drill-mcp-design.md | 236 -- docs/tools.md | 484 ++++ drill.example.yaml | 43 + drill_mcp/__init__.py | 20 + drill_mcp/client_jdbc.py | 187 ++ drill_mcp/client_rest.py | 647 +++++ drill_mcp/config.py | 124 + drill_mcp/guard.py | 262 ++ drill_mcp/redact.py | 82 + drill_mcp/server.py | 343 +++ pyproject.toml | 67 + tests/conftest.py | 42 + tests/test_client_jdbc.py | 236 ++ tests/test_client_rest.py | 1002 ++++++++ tests/test_config.py | 122 + tests/test_guard.py | 447 ++++ tests/test_redact.py | 190 ++ tests/test_server.py | 655 +++++ 25 files changed, 5487 insertions(+), 2869 deletions(-)
