El servidor MCP de ClickHouse es una implementación del Model Context Protocol (MCP) desarrollada oficialmente por ClickHouse, específicamente para proporcionar a los asistentes de IA (como Claude) una conexión segura y la capacidad de interactuar con la base de datos ClickHouse. Este proyecto, a través del protocolo MCP estandarizado, permite a los asistentes de IA ejecutar consultas SQL, administrar la estructura de la base de datos y realizar análisis de datos en tiempo real.
MCP (Model Context Protocol) es un estándar abierto diseñado para proporcionar a las aplicaciones de IA una forma segura y estandarizada de integrar servicios externos. A través de este servidor, los usuarios pueden permitir que los asistentes de IA accedan directamente a sus bases de datos ClickHouse, logrando consultas y análisis de datos inteligentes.
run_select_query
)readonly = 1
, garantizando la seguridad de los datos.sql
(cadena de texto): La sentencia SQL a ejecutar.list_databases
)list_tables
)database
(cadena de texto): Nombre de la base de datos.~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-clickhouse": {
"command": "uv",
"args": [
"run",
"--with",
"mcp-clickhouse",
"--python",
"3.13",
"mcp-clickhouse"
],
"env": {
"CLICKHOUSE_HOST": "<clickhouse-host>",
"CLICKHOUSE_PORT": "<clickhouse-port>",
"CLICKHOUSE_USER": "<clickhouse-user>",
"CLICKHOUSE_PASSWORD": "<clickhouse-password>",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_VERIFY": "true",
"CLICKHOUSE_CONNECT_TIMEOUT": "30",
"CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "30"
}
}
}
}
CLICKHOUSE_HOST
: Nombre de host del servidor ClickHouse.CLICKHOUSE_USER
: Nombre de usuario para la autenticación.CLICKHOUSE_PASSWORD
: Contraseña para la autenticación.CLICKHOUSE_PORT
: Número de puerto.CLICKHOUSE_SECURE
: Habilita/deshabilita la conexión HTTPS.CLICKHOUSE_VERIFY
: Habilita/deshabilita la verificación del certificado SSL.CLICKHOUSE_CONNECT_TIMEOUT
: Tiempo de espera de conexión (segundos).CLICKHOUSE_SEND_RECEIVE_TIMEOUT
: Tiempo de espera de envío/recepción (segundos).CLICKHOUSE_DATABASE
: Base de datos predeterminada para la conexión.{
"env": {
"CLICKHOUSE_HOST": "sql-clickhouse.clickhouse.com",
"CLICKHOUSE_PORT": "8443",
"CLICKHOUSE_USER": "demo",
"CLICKHOUSE_PASSWORD": "",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_VERIFY": "true"
}
}
# Configuración del archivo .env
CLICKHOUSE_HOST=localhost
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=clickhouse
CLICKHOUSE_SECURE=false
CLICKHOUSE_VERIFY=false
CLICKHOUSE_HOST=your-instance.clickhouse.cloud
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=your-password
# Usar la configuración de seguridad predeterminada
# Instalar dependencias
uv sync
# Activar el entorno virtual
source .venv/bin/activate
# Iniciar el servidor de desarrollo
mcp dev mcp_clickhouse/mcp_server.py
# Instalar dependencias de desarrollo
uv sync --all-extras --dev
# Revisión de código
uv run ruff check .
# Iniciar servicios de prueba
docker compose up -d test_services
# Ejecutar pruebas
uv run pytest tests
El proyecto del servidor MCP de ClickHouse construye un puente seguro y eficiente entre los asistentes de IA y las bases de datos ClickHouse. A través del protocolo MCP estandarizado, permite a los asistentes de IA comprender y operar estructuras de bases de datos complejas, ejecutar consultas SQL sofisticadas y proporcionar información de datos en tiempo real.
Este proyecto representa una nueva dirección en la integración de la IA y las bases de datos, proporcionando a los desarrolladores una herramienta poderosa y segura, permitiendo que los asistentes de IA comprendan y operen realmente los recursos de datos de nivel empresarial.