Clickhouse
Arcade Optimized
Tools to query and explore a ClickHouse database
Author:Arcade
Version:
1.0.2Auth:No authentication required
5tools
5require secrets
ClickHouse Toolkit
Arcade toolkit for connecting to and exploring a ClickHouse database, enabling schema discovery and read-only SQL querying.
Capabilities
- Database & schema discovery: List all databases and retrieve default schema information from a connected ClickHouse instance.
- Table discovery & schema inspection: Enumerate available tables and fetch column-level structure for any given table before executing queries.
- Read-only querying: Execute
SELECTstatements with full support for joins, filtering, ordering, pagination, and aggregation — no write operations permitted.
Secrets
CLICKHOUSE_DATABASE_CONNECTION_STRING — A connection string used to authenticate and connect to your ClickHouse instance. This should include the protocol, host, port, username, password, and target database in a single URI, for example: clickhouse://user:password@host:port/database. You can construct this from your ClickHouse deployment credentials:
- ClickHouse Cloud: Find host, port, and credentials in the ClickHouse Cloud console under your service's Connection Details tab. Ensure the user has at least
SELECTprivileges on the relevant databases and tables. - Self-hosted ClickHouse: Use the host and port from your server configuration (
config.xml), along with a user defined inusers.xmlor via SQL (CREATE USER). Grant the userSELECTon the required databases/tables. - Password: The password component of the connection string is the credential for the ClickHouse user — treat it as a secret and never hardcode it in application code.
For guidance on registering secrets with Arcade, see the Arcade secrets documentation. You can also manage secrets directly 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