Le serveur ClickHouse MCP est une implémentation du Model Context Protocol (MCP) développée par l'équipe officielle de ClickHouse, spécialement conçue pour fournir aux assistants IA (comme Claude) une connexion sécurisée et des capacités d'interaction avec les bases de données ClickHouse. Ce projet, grâce au protocole MCP standardisé, permet aux assistants IA d'exécuter des requêtes SQL, de gérer la structure des bases de données et d'effectuer des analyses de données en temps réel.
MCP (Model Context Protocol) est une norme ouverte visant à fournir aux applications d'IA une méthode d'intégration de services externes sécurisée et standardisée. Grâce à ce serveur, les utilisateurs peuvent permettre à leurs assistants IA d'accéder directement à leurs bases de données ClickHouse, réalisant ainsi des requêtes et des analyses de données intelligentes.
run_select_query
)readonly = 1
, garantissant la sécurité des données.sql
(chaîne de caractères): La requête SQL à exécuter.list_databases
)list_tables
)database
(chaîne de caractères): Nom de la base de données.~/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": "<nom-d'hôte-clickhouse>",
"CLICKHOUSE_PORT": "<port-clickhouse>",
"CLICKHOUSE_USER": "<nom-d'utilisateur-clickhouse>",
"CLICKHOUSE_PASSWORD": "<mot-de-passe-clickhouse>",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_VERIFY": "true",
"CLICKHOUSE_CONNECT_TIMEOUT": "30",
"CLICKHOUSE_SEND_RECEIVE_TIMEOUT": "30"
}
}
}
}
CLICKHOUSE_HOST
: Nom d'hôte du serveur ClickHouse.CLICKHOUSE_USER
: Nom d'utilisateur pour l'authentification.CLICKHOUSE_PASSWORD
: Mot de passe pour l'authentification.CLICKHOUSE_PORT
: Numéro de port.CLICKHOUSE_SECURE
: Active/désactive la connexion HTTPS.CLICKHOUSE_VERIFY
: Active/désactive la validation du certificat SSL.CLICKHOUSE_CONNECT_TIMEOUT
: Délai d'attente de connexion (en secondes).CLICKHOUSE_SEND_RECEIVE_TIMEOUT
: Délai d'attente d'envoi/réception (en secondes).CLICKHOUSE_DATABASE
: Base de données par défaut à laquelle se connecter.{
"env": {
"CLICKHOUSE_HOST": "sql-clickhouse.clickhouse.com",
"CLICKHOUSE_PORT": "8443",
"CLICKHOUSE_USER": "demo",
"CLICKHOUSE_PASSWORD": "",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_VERIFY": "true"
}
}
# Configuration du fichier .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
# Utiliser les paramètres de sécurité par défaut
# Installation des dépendances
uv sync
# Activation de l'environnement virtuel
source .venv/bin/activate
# Démarrage du serveur de développement
mcp dev mcp_clickhouse/mcp_server.py
# Installation des dépendances de développement
uv sync --all-extras --dev
# Vérification du code
uv run ruff check .
# Démarrage des services de test
docker compose up -d test_services
# Exécution des tests
uv run pytest tests
Le projet de serveur ClickHouse MCP constitue un pont sécurisé et efficace entre les assistants IA et les bases de données ClickHouse. Grâce au protocole MCP standardisé, il permet aux assistants IA de comprendre et de manipuler des structures de base de données complexes, d'exécuter des requêtes SQL sophistiquées et de fournir des informations en temps réel sur les données.
Ce projet représente une nouvelle direction dans l'intégration de l'IA et des bases de données, offrant aux développeurs un outil puissant et sécurisé permettant aux assistants IA de réellement comprendre et manipuler les ressources de données d'entreprise.