Skip to Content
ResourcesIntegrationsDatabasesClickhouse

Clickhouse

Clickhouse icon
Arcade Optimized

Tools to query and explore a ClickHouse database

Author:Arcade
Version:2.0.1
Auth:No authentication required
5tools
5require secrets

The Clickhouse toolkit connects Arcade to a ClickHouse database, enabling AI agents to explore structure and execute read-only queries against it.

Capabilities

  • Schema discovery: List all databases, schemas (returned as a default schema placeholder since ClickHouse lacks PostgreSQL-style schemas), tables, and column definitions before querying.
  • Read-only querying: Execute SELECT statements with structured clauses (select, from, join, where, having, order by, limit, offset); write operations (INSERT, UPDATE, DELETE) are blocked.
  • Query safety guardrails: Built-in rules enforce column-specific selects (no SELECT *), ordered results, case-insensitive and trimmed string matching, LIKE over regex, and index/primary-key-only joins.

Secrets

CLICKHOUSE_DATABASE_CONNECTION_STRING

A connection string used to authenticate and connect to your ClickHouse instance. The format typically follows the ClickHouse native or HTTP DSN pattern, for example:

clickhouse://user:password@host:port/database

To obtain it:

  1. Identify your ClickHouse host, port (default native: 9000, HTTP: 8123), database name, username, and password from your ClickHouse deployment (self-hosted config, ClickHouse Cloud console, or your managed provider's dashboard).
  2. For ClickHouse Cloud, find connection details under Connect in the ClickHouse Cloud console.
  3. Assemble the DSN with the credentials of a user that has at least SELECT and schema-inspection privileges on the target database.

Store this value as an Arcade secret. See the Arcade secrets guide and manage secrets at https://api.arcade.dev/dashboard/auth/secrets.

Available tools(5)

5 of 5 tools
Operations
Behavior
Tool nameDescriptionSecrets
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
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
Last updated on