Skip to main content
Glama
dockndevai

mcp-clickhouse

by dockndevai

mcp-clickhouse

CI License: MIT

Un servidor de Model Context Protocol para ClickHouse. Permite que un cliente compatible con MCP (Claude Desktop, Claude Code, etc.) explore esquemas, ejecute consultas analíticas y administre la base de datos, con un comportamiento controlado enteramente por opciones.

El modelo de seguridad es sensible a las sentencias: cada sentencia SQL se clasifica como de lectura, escritura o destructiva, y se restringe según el modo de acceso actual. El modo de solo lectura, además, ejecuta las consultas bajo el propio ajuste readonly=1 de ClickHouse.

Características

  • Exploración y monitorización — bases de datos, tablas, columnas, SHOW CREATE, estadísticas de tablas (partes/filas/bytes), consultas en ejecución, métricas del servidor, topología del clúster.

  • Consultas de lectura — una herramienta query que solo acepta sentencias de lectura, limitada a CLICKHOUSE_MAX_ROWS.

  • Gestión — una herramienta execute para INSERT/CREATE/ALTER (lectura-escritura) y DROP/TRUNCATE/DELETE (admin), cada una restringida por su clasificación.

  • Modos de accesoread-onlyread-writeadmin, en capas, de modo que nunca se exponen escrituras en analyze nos above its level.

  • Opciones de seguridad — lista de bases de datos permitidas, bases de datos protegidas, control de destructivas, límite de filas, prueba previa sin ejecución y registro de auditoría JSON (ver más abajo).

Related MCP server: clickhouse-mcp-server

Modelo de seguridad

Tema

Opción

Por defecto

Efecto

¿Qué puede hacer el servidor?

CLICKHOUSE_MODE

read-only

read-only expone solo herramientas de lectura (y rechaza todo lo que no sea SELECT en query); read-write añade execute para consultas de escritura; admin permite sentencias destructivas.

¿Qué bases de datos entran en el alcance?

CLICKHOUSE_DATABASE_ALLOWLIST

(todas)

Cuando se define, se rechazan operaciones sobre otras bases de datos.

¿Qué bases de datos son de solo lectura para siempre?

CLICKHOUSE_PROTECTED_DATABASES

system,information_schema

Legibles, nunca mutables.

¿Puede ejecutar SQL destructivo?

CLICKHOUSE_ALLOW_DELETE

false

DROP/TRUNCATE/DELETE/… necesitan este indicador y modo adminMode.

Límite de filas del resultado

CLICKHOUSE_MAX_ROWS

1000

Límite estricto de filas devueltas al modelo.

Vista previa sin ejecutar

CLICKHOUSE_DRY_RUN

false

Las sentencias de escritura/destructivas se prueban, se registra la intención y devuelven sin ejecutarse.

Trazabilidad

CLICKHOUSE_AUDIT_LOG

true

Emite una línea JSON a stderr por cada operación protegida.

La clasificación de sentencias se encuentra en src/sql.ts y es de tipo fail-safe: ALTER … DELETE/UPDATE se considera destructiva, y cualquier sentencia no analizable se trata como destructiva.

Herramientas

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

Escritura/Admin (read-write+): execute — ejecuta una sola sentencia tras clasificarla; las escrituras necesitan el modo read-write, y las destructivas el modo admin + CLICKHOUSE_ALLOW_DELETE.

Uso con tu cliente MCP

Funciona con Claude Code, Claude Desktop, Cursor, OpenAI Codex CLI, Windsurf, VS Code (Copilot) y cualquier otro cliente MCP — consulta docs/CLIENTS.md para la configuración de cada cliente.

Instalación

npm install
npm run build

Ejecutar con 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"
      }
    }
  }
}

Ejemplos de prompts

  • "¿Cuáles son las tablas más grandes de la base de datos analytics?"

  • "Muéstrame el esquema de events y ejecuta una consulta para ver los recuentos diarios de esta semana."

  • "¿Qué consultas se están ejecutando ahora y usan más memoria?"

Desarrollo

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

Publicación

Este servidor incluye un server.json para el, el registro oficial de MCP y un mcpName para la validación de propiedad en npm. Consulta PUBLISHING.md para publicar en npm y aparecer en el registro de MCP, así como en Smithery, Glama, Cursor y PulseMCP.

Licencia

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