Skip to main content
Glama
dockndevai

mcp-clickhouse

by dockndevai

mcp-clickhouse

CI License: MIT

Ein Model Context Protocol-Server für ClickHouse. Er ermöglicht einem MCP-fähigen Client (Claude Desktop, Claude Code usw.), Schemas zu erkunden, analytische Abfragen auszuführen und die Datenbank zu verwalten – wobei das Verhalten vollständig über Flags gesteuert wird.

Das Sicherheitsmodell ist anweisungsbewusst: Jede SQL-Anweisung wird als lesend, schreibend oder destruktiv klassifiziert und anhand des aktuellen Zugriffsmodus freigeschaltet. Im Nur-Lese-Modus werden Abfragen zusätzlich mit der eigenen readonly=1-Einstellung von ClickHouse ausgeführt.

Funktionen

  • Erkundung und Überwachung – Datenbanken, Tabellen, Spalten, SHOW CREATE, Tabellenstatistiken (Teile/Zeilen/Bytes), laufende Abfragen, Servermetriken, Cluster-Topologie.

  • Leseabfragen – ein query-Tool, das nur Leseanweisungen akzeptiert und auf CLICKHOUSE_MAX_ROWS begrenzt ist.

  • Verwaltung – ein execute-Tool für INSERT/CREATE/ALTER (Lesen/Schreiben) und DROP/TRUNCATE/DELETE (Admin), jeweils durch die Klassifizierung freigeschaltet.

  • Zugriffsmodiread-onlyread-writeadmin, abgestuft, sodass ein Modus nie Anweisungen oberhalb seiner Stufe freigibt.

  • Sicherheitsflags – Datenbank-Allowlist, geschützte Datenbanken, Freigabesteuerung für destruktive Anweisungen, Zeilenlimit, Dry-Run und JSON-Audit-Log (siehe unten).

Related MCP server: clickhouse-mcp-server

Sicherheitsmodell

Frage

Flag

Standard

Wirkung

Was kann der Server tun?

CLICKHOUSE_MODE

read-only

read-only macht ausschließlich Lese-Werkzeuge verfügbar (und lehnt Nicht-SELECT in query ab); read-write fügt execute für Schreibzugriffe hinzu; admin erlaubt destruktive Anweisungen.

Welche Datenbanken sind abgedeckt?

CLICKHOUSE_DATABASE_ALLOWLIST

(alle)

Wenn gesetzt, werden Operationen auf anderen Datenbanken verweigert.

Welche Datenbanken sind dauerhaft schreibgeschützt?

CLICKHOUSE_PROTECTED_DATABASES

system,information_schema

Lesbar, aber niemals veränderbar.

Können destruktive SQL-Anweisungen ausgeführt werden?

CLICKHOUSE_ALLOW_DELETE

false

DROP/TRUNCATE/DELETE/… benötigen dies und den Admin-Modus.

Begrenzung der Ergebnisgröße

CLICKHOUSE_MAX_ROWS

1000

Harte Obergrenze für die an das Modell zurückgegebenen Zeilen.

Vorschau ohne Ausführung

CLICKHOUSE_DRY_RUN

false

Schreibende/destruktive Anweisungen werden validiert und ihre Absicht wird protokolliert; anschließend wird ohne Ausführung zurückgegeben.

Audit‑Pfad

CLICKHOUSE_AUDIT_LOG

true

Gibt pro überwachter Operation eine JSON-Zeile an stderr aus.

Die Anweisungsklassifizierung liegt in src/sql.ts und ist ausfallsicher: ALTER … DELETE/UPDATE zählt als destruktiv, und alles, was nicht geparst werden kann, wird als destruktiv behandelt.

Tools

Lesen (read-only+): list_databases, list_tables, describe_table, show_create_table, table_stats, running_queries, server_metrics, cluster_info, query

Schreiben/Admin (read-write+): execute – führt eine einzelne Anweisung nach der Klassifizierung aus; Schreibzugriffe benötigen den Modus read-write, destruktive Anweisungen den Admin-Modus + CLICKHOUSE_ALLOW_DELETE.

Verwendung mit Ihrem MCP-Client

Funktioniert mit Claude Code, Claude Desktop, Cursor, OpenAI Codex CLI, Windsurf, VS Code (Copilot) und jedem anderen MCP-Client – die Einrichtung pro Client finden Sie in docs/CLIENTS.md.

Installation

npm install
npm run build

Ausführen mit Claude Desktop / Claude Code

{
  "mcpServers": {
    "clickhouse": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-clickhouse/dist/index.js"],
      "env": {
        "CLICKHOUSE_URL": "http://clickhouse:8123",
        "CLICKHOUSE_USER": "readonly",
        "CLICKHOUSE_PASSWORD": "…",
        "CLICKHOUSE_MODE": "read-only",
        "CLICKHOUSE_DATABASE_ALLOWLIST": "analytics"
      }
    }
  }
}

Beispiel-Prompts

  • „Welche sind die größten Tabellen in der Datenbank analytics?“

  • „Zeig mir das Schema für events und führe für diese Woche eine Abfrage mit den täglichen Zählwerten aus.“

  • „Welche Abfragen laufen gerade und verbrauchen am meisten Speicher?“

Entwickeln

npm run dev
npm test          # SQL classification + security policy (30 tests)
npm run typecheck

Veröffentlichung

Dieser Server enthält eine server.json für die offizielle MCP-Registry und einen mcpName zur Validierung der npm-Inhaberschaft. Siehe PUBLISHING.md für die Veröffentlichung auf npm und die Auflistung in der MCP-Registry, bei Smithery, Glama, Cursor und PulseMCP.

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    An MCP server implementation that enables Claude AI to interact with Clickhouse databases. Features include secure database connections, query execution, read-only mode support, and multi-query capabilities.
    2
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with ClickHouse databases via MCP, providing tools to list databases and tables and execute safe SELECT, SHOW, and DESCRIBE queries.
    32
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for executing SQL queries on PostgreSQL and ClickHouse with per-connection allow/deny policies by statement group.

View all related MCP servers

Related MCP Connectors

  • Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.

  • MCP server for managing Prisma Postgres.

  • Read-only Yandex Metrika MCP. Query visits, sources, geo, devices and more in plain language.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dockndevai/mcp-clickhouse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server