minilake (dmux/minilake) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 67 tools. No publisher has claimed this listing.

C
Emerging
74/100

minilake

Minilake is a free, local Databricks API emulator — a single-developer tool for testing databricks-sdk/Terraform code against real SQL, real Delta Lake, and real Job execution, without paying for cloud compute.

Emerging. No concerning findings. Grades remain capped until the project builds reputation through adoption. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

dmux

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
// tools this server exposes67 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

health

Check that minilake is up.

list_services

List the emulated services enabled in this minilake instance.

reset_state

Wipe all in-memory state: catalogs, schemas, warehouses, jobs, runs, secrets.

create_cluster

Create a cluster. Transitions PENDING -> RUNNING after a short real delay.

list_clusters

List all clusters and their states.

get_cluster

Get one cluster's details and current state.

start_cluster

Start a terminated cluster (PENDING -> RUNNING).

terminate_cluster

Terminate a cluster (TERMINATING -> TERMINATED). The record is kept.

describe_catalog_tree

Get a catalog's whole structure — schemas, tables and column types — in one call.

seed_table

Create a MANAGED table and fill it with exactly `rows`, creating catalog and schema if needed.

setup_fixture

Prepare a clean working environment: catalog, schema and a warehouse.

dbfs_put

Write a file to DBFS in one shot (base64 encoding handled for you).

dbfs_read

Read a DBFS file's contents as text.

dbfs_list

List a DBFS directory.

dbfs_delete

Delete a DBFS file or directory.

dbfs_mkdirs

Create a DBFS directory, including parents.

upload_file

Upload a text file to minilake's file storage.

download_file

Download a file's contents as text.

delete_file

Delete a file.

list_directory

List a directory's contents.

create_directory

Create a directory.

create_job

Create a job definition.

list_jobs

List all job definitions.

get_job

Get one job definition by id.

delete_job

Delete a job definition.

run_job

Trigger a job run and return its run_id immediately.

get_run

Get a run's current state and per-task results.

get_run_output

Get a run's real captured stdout, stderr and exit code.

list_runs

List runs, optionally filtered to one job.

cancel_run

Request cancellation of a run.

run_python_script

Run Python (typically PySpark) for real and return its output.

create_secret_scope

Create a secret scope.

list_secret_scopes

List all secret scopes.

delete_secret_scope

Delete a secret scope and its secrets.

put_secret

Store a secret.

list_secrets

List the secret keys in a scope (keys and timestamps only, never values).

delete_secret

Delete one secret.

run_sql

Execute a SQL statement against minilake and return the rows.

get_statement

Fetch a previously executed statement's status and results by id.

cancel_statement

Cancel a statement.

create_catalog

Create a catalog. Each one becomes its own DuckDB database file, so `catalog.schema.table` addressing works natively in run_sql.

list_catalogs

List all catalogs. None exist by default — minilake creates no default catalog.

get_catalog

Get one catalog by name.

delete_catalog

Delete a catalog and detach its DuckDB database.

create_schema

Create a schema inside a catalog. A `default` schema already exists in each.

list_schemas

List the schemas in a catalog.

delete_schema

Delete a schema. `full_name` is `catalog.schema`.

create_table

Create a table.

list_tables

List the tables in a schema.

describe_table

Get a table's columns and types. `full_name` is `catalog.schema.table`.

table_exists

Check whether `catalog.schema.table` exists, without raising if it does not.

delete_table

Delete a table. `full_name` is `catalog.schema.table`.

create_volume

Create a volume — a real directory under the data volume for unstructured files.

list_volumes

List the volumes in a schema.

delete_volume

Delete a volume. `full_name` is `catalog.schema.volume`.

create_warehouse

Create a SQL warehouse.

list_warehouses

List all SQL warehouses.

get_warehouse

Get one warehouse's details by id.

start_warehouse

Mark a warehouse RUNNING.

stop_warehouse

Mark a warehouse STOPPED. State flag only; queries still run afterwards.

delete_warehouse

Delete a warehouse and close its DuckDB connection.

put_workspace_file

Write a notebook or script to the workspace as real bytes on disk.

get_workspace_file

Read a workspace file back as plain text.

list_workspace

List the objects in a workspace directory.

get_workspace_status

Get metadata (object type, language) for one workspace path.

make_workspace_dirs

Create a workspace directory, including parents.

delete_workspace_object

Delete a workspace file or directory.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configMINILAKE_JOB_EXECUTOR
configMINILAKE_DATA_DIR
configMINILAKE_PORT
configMINILAKE_BIND_HOST
configMINILAKE_PERSISTJSON snapshot on shutdown, restored on startup
configMINILAKE_SNAPSHOT_PATH
configMINILAKE_SERVICES
configMINILAKE_VERBOSE
configMINILAKE_CLUSTER_START_DELAY
configMINILAKE_CLUSTER_TERMINATE_DELAY
configMINILAKE_STATEMENT_CACHE_SIZE
configMINILAKE_DEV_CORS
configMINILAKE_DUCKDB_MEMORY_LIMIT
configMINILAKE_DUCKDB_EXTENSION_DIR
configMINILAKE_TLS
configMINILAKE_HTTPS_PORT
configMINILAKE_SSL_CERTFILE
configMINILAKE_SSL_KEYFILE
configMINILAKE_TLS_SAN
configMINILAKE_MCP67 tools + resources + prompts at /mcp — see [MCP Server](https://github.com/dmux/minilake/blob/main/docs/mcp/index.md)
configMINILAKE_MCP_PATH
configMINILAKE_MCP_ALLOWED_HOSTS
configMINILAKE_MCP_MAX_ROWS
configMINILAKE_MCP_MAX_LOG_CHARS
configMINILAKE_NOTEBOOK
configMINILAKE_NOTEBOOK_PATH
configMINILAKE_NOTEBOOK_PORT
configMINILAKE_NOTEBOOK_DIR
configMINILAKE_DELTA_PACKAGE
configMINILAKE_DOCKER_VOLUME
configHOSTNAME
configMINILAKE_DOCKER_NETWORK
configMINILAKE_SPARK_IMAGE
configMINILAKE_IVY_SEED
configMINILAKE_SPARK_PREWARM
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployNEXT_PUBLIC_MINILAKE_API_BASE
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

67/67 tools missing one or more hints — health (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_services (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); reset_state (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +64 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool test coverage

46/67 tools referenced in tests (69%)

Write tests that reference each tool by name so every tool has at least one test.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/dmux/minilake)](https://m8ven.ai/mcp/dmux/minilake)
Shows your grade and updates automatically. Prefer no grade? Append ?variant=verified to the badge URL.
commit: 91c1683e918b5dd023afa4e1e3cbda15203f7dbc
code hash: 96d8a81956c7955b01b7e7cdf69a4c9a5ad6f132d458c0faca644c4874a1e8a2
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client