ClickHouse MCP Server
Migrated to https://github.com/ClickHouse/mcp-clickhouseβ
An MCP server for ClickHouse.
Features
Tools
-
run_select_query- Execute SQL queries on your ClickHouse cluster.
- Input:
sql(string): The SQL query to execute. - All ClickHouse queries are run with
readonly = 1to ensure they are safe.
-
list_databases- List all databases on your ClickHouse cluster.
-
list_tables- List all tables in a database.
- Input:
database(string): The name of the database.
Configuration
Note: This is a temporary configuration process that will be significantly improved once the package is published.
-
Run
uv syncto install the dependencies. To installuvfollow the instructions hereβ. Then dosource .venv/bin/activate. -
Setup the
.env.productionfile with the ClickHouse credentials.
CLICKHOUSE_HOST=<CLICKHOUSE_HOST>
CLICKHOUSE_PORT=<CLICKHOUSE_PORT>
CLICKHOUSE_USER=<CLICKHOUSE_USER>
CLICKHOUSE_PASSWORD=<CLICKHOUSE_PASSWORD>-
Run
fastmcp install mcp_clickhouse/mcp_server.py -f .env.productionto install the server. -
Restart Claude Desktop.
Development
-
In
test-servicesdirectory rundocker compose up -dto start the ClickHouse cluster. -
Add the following variables to a
.envfile in the root of the repository.
CLICKHOUSE_HOST=localhost
CLICKHOUSE_PORT=8123
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=clickhouse-
Run
uv syncto install the dependencies. To installuvfollow the instructions hereβ. Then dosource .venv/bin/activate. -
For easy testing, you can run
fastmcp dev mcp_clickhouse/mcp_server.pyto start the MCP server.