Clickhouse
Community
Tools to query and explore a ClickHouse database
Author:Arcade
Version:
1.0.2Auth:No authentication required
5tools
5require secrets
ClickHouse Toolkit
Arcade's ClickHouse toolkit connects agents to a ClickHouse database, enabling schema discovery and read-only SQL querying.
Capabilities
- Schema & structure discovery: List all databases, enumerate tables, and retrieve per-table column definitions before constructing queries.
- Read-only querying: Execute
SELECTstatements with full support for joins, filtering, aggregation, ordering, pagination, andHAVINGclauses; write operations (INSERT,UPDATE,DELETE) are blocked. - Safe query conventions enforced: Tools guide agents to always select explicit columns, use case-insensitive/trimmed string matching, prefer
LIKEover regex, join only on indexed/primary-key columns, and order results.
Secrets
CLICKHOUSE_DATABASE_CONNECTION_STRING — The full connection string used to authenticate and connect to your ClickHouse instance. It typically follows the format clickhouse+native://<user>:<password>@<host>:<port>/<database> (or an HTTP-based equivalent). To obtain it:
- Identify your ClickHouse host, port (default native:
9000, HTTP:8123), database name, and the credentials of the user account the agent should use. - If using ClickHouse Cloud, open your service in the Cloud console, navigate to Connect, select your driver/protocol, and copy the generated connection string.
- If self-hosting, construct the string manually from your server configuration (
/etc/clickhouse-server/config.xmlor environment variables). - Ensure the user has at minimum
SELECTprivileges on the target database; granting broader write permissions is unnecessary and not recommended.
Store the value as an Arcade secret; see Arcade secret configuration docs and manage secrets at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(5)
5 of 5 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
Discover all the databases in the ClickHouse database. | 1 | ||
Discover all the schemas in the ClickHouse database.
Note: ClickHouse doesn't have schemas like PostgreSQL, so this returns a default schema name. | 1 | ||
Discover all the tables in the ClickHouse database when the list of tables is not known.
ALWAYS use this tool before any other tool that requires a table name. | 1 | ||
You have a connection to a ClickHouse database.
Execute a SELECT query and return the results against the ClickHouse database.
No other queries (INSERT, UPDATE, DELETE, etc.) are allowed.
ONLY use this tool if you have already loaded the schema of the tables you need to query.
The final query will be constructed as follows:
SELECT {select_query_part} FROM {from_clause} JOIN {join_clause}
WHERE {where_clause} HAVING {having_clause}
ORDER BY {order_by_clause} LIMIT {limit} OFFSET {offset}
When running queries, follow these rules which will help avoid errors:
* Never "select *" from a table. Always select the columns you need.
* Always order your results. Use the most important columns or the primary key if you're unsure.
* Always use case-insensitive queries to match strings in the query.
* Always trim strings in the query.
* Prefer LIKE queries over direct string matches or regex queries.
* Only join on columns that are indexed or the primary key. Do not join on arbitrary columns.
* ClickHouse is case-sensitive, so be careful with table and column names. | 1 | ||
Get the schema/structure of a ClickHouse table in the ClickHouse database
when the schema is not known, and the name of the table is provided.
This tool should ALWAYS be used before executing any query.
All tables in the query must be discovered first,
so that their exact names are known. | 1 |
Last updated on