Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Connect ClickHouse to your AI assistants.
| Date | Stars |
|---|---|
| 2026-07-31 | 837 |
| 2026-08-05 | 843 |
| 2026-08-06 | 843 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
35.0
growth rate 0.00%/day
# ClickHouse MCP Server
<!-- mcp-name: io.github.ClickHouse/mcp-clickhouse -->
[](https://pypi.org/project/mcp-clickhouse)
An MCP server for ClickHouse.
<a href="https://glama.ai/mcp/servers/yvjy4csvo1"><img width="380" height="200" src="https://glama.ai/mcp/servers/yvjy4csvo1/badge" alt="mcp-clickhouse MCP server" /></a>
## Features
### ClickHouse Tools
* `run_query`
* Execute SQL queries on your ClickHouse cluster.
* Input: `query` (string): The SQL query to execute.
* Queries run in read-only mode by default (`CLICKHOUSE_ALLOW_WRITE_ACCESS=false`), but writes can be enabled explicitly if needed.
* `list_databases`
* List all databases on your ClickHouse cluster.
* `list_tables`
* List tables in a database with pagination.
* Required input: `database` (string).
* Optional inputs:
* `like` / `not_like` (string): Apply `LIKE` or `NOT LIKE` filters to table names.
* `page_token` (string): Token returned by a previous call for fetching the next page.
* `page_size` (int, default `50`): Number of tables returned per page.
* `include_detailed_columns` (bool, default `true`): When `false`, omits column metadata for lighter responses while keeping the full `create_table_query`.
* Response shape:
* `tables`: Array of table objects for the current page.
* `next_page_token`: Pass this value back to fetch the next page, or `null` when there are no more tables.
* `total_tables`: Total count of tables that match the supplied filters.
### chDB Tools
* `run_chdb_select_query`
* Execute SQL queries using [chDB](https://github.com/chdb-io/chdb)'s embedded ClickHouse engine.
* Input: `query` (string): The SQL query to execute.
* Query data directly from various sources (files, URLs, databases) without ETL processes.
* Requires the optional `chdb` extra: `pip install 'mcp-clickhouse[chdb]'`
### Health Check Endpoint
When running with HTTP or SSE transport, a health check endpoint is available at `/health`. This endpoint:
- Returns `200 OK` (body: `OK`) if the server is healthy and can connect to ClickHouse
- Returns `503 Service Unavailable` with a generic error message if the server cannot connect to ClickHouse
The endpoint is intentionally unauthenticated so orchestrator probes (e.g. Kubernetes liveness/readiness, load balancers) can reach it without credentials. The response body is deliberately minimal to avoid leaking backend version strings or error details; debug failures via the server logs.
Example:
```bash
curl http://localhost:8000/health
# Response: OK
```
## Security
### Authentication for HTTP/SSE Transports
When using HTTP or SSE transport, authentication is **required by default**. The `stdio` transport (default) does not require authentication as it only communicates via standard input/output.
Three authentication modes are supported. Pick one:
| Mode | When to use | Env var |
|----------------------------|-------------------------------------------|------------------------------------------------------------------------------------------------|
| Static bearer token | Simple deployments, internal services | `CLICKHOUSE_MCP_AUTH_TOKEN` |
| OAuth / OIDC (via FastMCP) | Azure Entra, Google, GitHub, WorkOS, etc. | `FASTMCP_SERVER_AUTH=<provider-class-path>` (+ provider-specific `FASTMCP_SERVER_AUTH_*` vars) |
| Disabled | Local development only | `CLICKHOUSE_MCP_AUTH_DISABLED=true` |
Startup fails if none of these are configured for HTTP/SSE transports.
#### Setting Up Authentication
1. Generate a secure token (can be any random string):
```bash
# Using uuidgen (macOS/Linux)
uuidgExcerpt of 30,843 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b701e6679bca17fb, llm:repository description: 'Connect ClickHouse to your AI assistants.'
matched fp:b701e6679bca17fb, llm:repository description: 'Connect ClickHouse to your AI assistants.'
matched fp:b701e6679bca17fb, llm:repository description: 'Connect ClickHouse to your AI assistants.'