Voir les catégories

Comment connecter DuckDB à Claude / Cursor via MCP (Configuration du serveur DuckDB MCP)

24 min de lecture

SERVEUR MCP DUCKDB

Interroger DuckDB avec Claude ou Cursor via MCP.

Posez des questions en langage clair sur vos données DuckDB (événements, utilisateurs, transactions, agrégats quotidiens, fichiers parquet / CSV / JSON sur disque local ou dans S3) via une connexion cloud sécurisée et sortante uniquement, avec Schema Intelligence intégrée au connecteur DuckDB MCP pour que l'IA écrive du SQL correct et axé sur l'analyse dès la première tentative.

Pas de trous dans le pare-feu Une seule clé, tous les connecteurs Données en temps réel, sans délai de cache Apportez votre propre outil d'IA

Query Streams est une plateforme d'intégration de données sécurisée et en temps réel qui intègre toutes les bases de données et API SaaS de votre compte dans Claude, Cursor, ChatGPT et Grok, grâce à une seule clé MCP et sans modification du pare-feu. Ce guide explique en détail la configuration du connecteur MCP de DuckDB, afin que votre outil d'IA puisse répondre à des questions en langage naturel sur les données analytiques intégrées (événements, utilisateurs, transactions, agrégats quotidiens, fidélisation des cohortes, fichiers Parquet/CSV/JSON dans S3), sans que vous ayez à copier-coller des exportations CSV depuis l'interface de ligne de commande de DuckDB ni à saisir manuellement les données. lire_parquet() requêtes dans un bloc-notes. Pour en savoir plus, rendez-vous sur QueryStreams.com. et Inscrivez-vous gratuitement pour commencer à poser à votre outil d'IA de vraies questions DuckDB.

Que vous offre Query Streams MCP pour DuckDB ?

D'autres serveurs « DuckDB MCP » disponibles en open source connectent directement l'outil d'IA à un serveur local. .duckdb Cette solution fonctionne, mais elle ajoute un chemin d'accès à la base de données à la configuration de votre client d'IA, limite l'outil d'IA à ce seul fichier DuckDB et ne fournit aucun historique des requêtes effectuées par l'IA. Le serveur Query Streams MCP pour DuckDB résout un problème plus global : une seule clé pour tous les connecteurs (vos fichiers DuckDB ainsi que toutes vos autres bases de données et API), un historique complet des requêtes et l'outil d'IA ne conserve jamais les chemins d'accès à vos fichiers DuckDB.

Aucun trou dans le pare-feu entrant

L'agent réseau établit une unique liaison cloud chiffrée sortante vers Query Streams. Votre client d'IA se connecte au cloud, jamais à votre instance DuckDB. Aucun port à ouvrir, aucune adresse IP à autoriser, aucun VPN à utiliser, et aucun chemin d'accès aux fichiers DuckDB ni identifiants ne sont exposés dans la configuration du client d'IA.

Une seule clé, tous les connecteurs

La même clé MCP est accessible à toutes les bases de données et API SaaS connectées à votre compte. Ajoutez un connecteur Stripe ou PostgreSQL demain : l’outil d’IA le détectera au même titre que vos fichiers DuckDB, le tout dans un seul catalogue, sans avoir à le ressaisir.

L'intelligence schématique intégrée

L'IA prend en compte les descriptions sélectionnées par l'IA, les types sémantiques, les listes de valeurs d'énumération, les indications de format JSON/STRUCT et les clés étrangères découvertes pour chaque colonne DuckDB — et pas seulement les données brutes. schéma_information résultat. Il écrit du SQL DuckDB axé sur l'analyse dès la première tentative (lire_parquet, date_tronc, PIVOTER, QUALIFIER) même sur des schémas hétérogènes avec des sources mixtes basées sur des fichiers et des tables.

Accès en lecture seule appliqué à l'agent

Même un LLM halluciné ne peut pas délivrer SUPPRIMER, MISE À JOUR, INSÉRER, ou COPIER ... À via Query Streams MCP. L'agent réseau rejette tout ce qui n'est pas SELECTIONNER, AVEC, ou EXPLIQUER avant même que DuckDB ne voie la requête SQL — et l'agent ouvre le local .duckdb Les fichiers sont par défaut en mode lecture seule.

Limites de débit par clé

Par défaut, 60 requêtes et 10 exécutions sont effectuées par minute ; ce nombre est configurable par clé. En cas de boucle d'appel incontrôlée d'un outil d'IA, la consommation est bloquée dans un compartiment de jetons, et non dans la mémoire du processus DuckDB ni sur le disque local.

Comment cela fonctionne sans ouvrir les ports du pare-feu

L'agent réseau Query Streams s'installe une seule fois sur une machine hébergeant votre environnement local. .duckdb un fichier (un ordinateur portable, un serveur local ou une petite machine virtuelle) et établit une connexion TLS sortante vers le cloud ; aucune donnée entrante n’est exposée et l’outil d’IA ne voit jamais votre .duckdb chemin du fichier. Comment fonctionne une connexion sortante uniquement ?

Client IA

Curseur, Claude,
ChatGPT, Grok

Serveur QS MCP

HTTP en continu
Authentification par clé X-MCP

Agent de réseau

Sur votre réseau
Sortie de liaison cloud

DuckDB

Locale
fichier .duckdb

Aucun port entrant requis — l'agent compose les numéros sortants, jamais l'inverse.

La touche MCP que vous donnez à Cursor ou Claude est limitée (lire / analyser / exécuter), révocable à tout moment et limitée en nombre d'utilisations par clé. L'outil d'IA fait appel à ces outils MCP pour fonctionner :

querystreams-mcp · catalogue d'outils
qs_list_organisationslire
Renvoie l'organisation liée à la clé appelante.
qs_list_agentslire
Liste les agents du réseau et leur état en ligne.
qs_list_connectorslire
Liste les connecteurs de données (une entrée par serveur de base de données ou API).
qs_get_connector_schemalire
Renvoie les bases de données, schémas, tables et colonnes DuckDB que l'IA peut interroger (y compris les indications de type JSON / STRUCT / LIST), avec enrichissement Schema Intelligence lorsque disponible.
table de profils qsanalyser
Valeurs d'échantillon, distributions, détection d'énumérations, types sémantiques — à la demande.
qs_list_saved_querieslire
Des modèles SQL paramétrés préconfigurés, approuvés par l'équipe. L'IA les exécute sans jamais voir le code SQL.
qs_run_saved_queryexécuter
Exécute une requête enregistrée par clé_de_modèle avec des paramètres optionnels de remplacement.
qs_run_queryexécuter
Exécute une requête SELECT sur un connecteur. Un validateur en lecture seule s'exécute au niveau de l'agent, avant que DuckDB ne reçoive la requête SQL.

Pourquoi Schema Intelligence rend Query Streams MCP différent

La plupart des serveurs « MCP pour DuckDB » de l'écosystème open source offrent la même configuration à votre outil d'IA. schéma_information DuckDB remet à un inconnu : noms de colonnes, types de données, et peut-être une clé primaire. Le LLM doit deviner la suite. type_événement = 7 signifie, qu'est-ce que charge utile stocke à l'intérieur de sa STRUCT, ou si événements.utilisateur_id se joint réellement à utilisateurs.id (Les schémas DuckDB n'ont souvent pas de clés étrangères déclarées, en particulier lorsque les tables sont assemblées à partir de lire_parquet / lire_csv_auto (sources). C'est pourquoi la première requête SQL que la plupart des LLM écrivent sur un schéma nu est incorrecte — non pas parce que le LLM est mauvais, mais parce qu'il ne dispose pas des données nécessaires pour être correct.

Query Streams MCP renvoie ce même schéma enrichi avec ce que nous appelons Intelligence schématique (IS) — Métadonnées sélectionnées par l'IA, générées en exécutant des requêtes de profilage sur votre vrai Les données DuckDB sont collectées avant même que le client IA ne les demande. Lorsque l'intégration système est activée sur un connecteur et une base de données, chaque outil de schéma appelé par l'IA (qs_get_connector_schema, qs_get_table_schema, table de profils qs, qs_get_relationships) renvoie le schéma de base ainsi que six couches de connaissances spécialisées, notamment des indications sur la forme JSON/STRUCT et des recommandations sur la projection des colonnes pour les E/S colonnaires de DuckDB. Le LLM met fin aux suppositions.

Pour concrétiser cela, voici ce que le client IA récupère d'une seule requête. qs_get_table_schema appel contre un entrepôt de données analytiques embarqué DuckDB typique (événements, utilisateurs, transactions, agrégats quotidiens, expériences) — d'abord sans intelligence schématique, puis avec.

Sans intelligence schématique source_de_données : schéma_capturé
// ce que voit le LLM == TABLEAU : événements == – id UBIGINT [PK] - ID de l'utilisateur UBIGINT NON NUL – type_événement VARCHAR NOT NULL – horodatage HORODATAGE NON NUL – charge utile STRUCT(…) - source VARCHAR == TABLEAU : utilisateurs == – id UBIGINT [PK] - e-mail VARCHAR – cohort VARCHAR – signup_at HORODATAGE == TABLEAU : transactions == – id UBIGINT [PK] - ID de l'utilisateur UBIGINT NON NUL - montant DOUBLE NON NUL - devise VARCHAR(3) – survenu_à HORODATAGE NON NUL == TABLEAU : agrégats_quotidiens == – jour DATE – nom_de_la_métrique VARCHAR – valeur_métrique DOUBLE == TABLEAU : expériences == – id UBIGINT [PK] - nom VARCHAR – variante VARCHAR Clés étrangères : (aucun déclaré) si_recommandation : État: « not_run » Ce qui manque pour cet appel : – Clés étrangères découvertes par l’IA – Valeurs d’exemple par colonne + détection d’énumération – Descriptions des tables et des colonnes – Classifications des types sémantiques – Indications de forme STRUCT / LIST (DuckDB) Remarque : « uniquement des types, sans contexte sémantique »
Avec l'intelligence schématique source de données : intelligence du schéma
// ce que voit le LLM == TABLEAU : événements [FAIT, domaine:produit] == « Événements d'analyse produit ; une ligne par action utilisateur. Table de faits à volume élevé. » - ID de l'utilisateur UBIGINT identifiant FK -> users.id (100% de chevauchement, conf 0,99) – type_événement VARCHAR code_statut (énumération) pages vues (54 %) | clics (22 %) | achats (14 %) | inscriptions (6 %) | désabonnements (4 %) – horodatage HORODATAGE horodatage Exemple : 2026-04-28 14:02:11.234 – charge utile STRUCT(…) structuré (UNNEST recommandé) Champs : page, référent, ab_variant, appareil == TABLEAU : utilisateurs [DIM, domaine:clients] == « La dimension utilisateur et la cohorte sont les principaux moteurs des analyses de fidélisation et de segmentation. » - e-mail VARCHAR courriel Exemple : [email protected], [email protected] – cohort VARCHAR segment (énumération) 1er trimestre 2026 (28 %) | 2e trimestre 2026 (24 %) | 4e trimestre 2025 (22 %) | plus anciens (26 %) – signup_at HORODATAGE horodatage == TABLEAU : transactions [FAIT, domaine:revenu] == « Événements générateurs de revenus ; SUM(montant) correspond au GMV. Le montant est exprimé en unités monétaires principales. » - ID de l'utilisateur UBIGINT identifiant FK -> users.id (chevauchement de 98 %, confiance de 0,96) - montant DOUBLE devise Plage de valeurs : 0,99 – 1 840,00 ; moyenne : 47,20 – survenu_à HORODATAGE horodatage == TABLEAU : agrégats_quotidiens [FAIT, domaine:produit] == – nom_de_la_métrique VARCHAR code_statut (énumération) Exemple : ['DAU', 'WAU', 'MAU', 'revenue', 'retention_d7′] – valeur_métrique DOUBLE numérique

Les six couches de l'intelligence schématique ajoutent

Chaque couche traite une catégorie de questions auxquelles le LLM tenterait autrement de répondre par estimation. Le profilage SI optionnel s'effectue sur vos données DuckDB sans modifier votre schéma ; pour l'analyse, l'agent ouvre un répertoire local. .duckdb fichiers en mode lecture seule. Ce que Schema Intelligence apporte et comment elle reste à jour →

Descriptions sélectionnées par l'IA

Description claire et concise de chaque base de données, schéma, table et colonne — générée une seule fois et mise à jour lors de toute modification de votre schéma. Évaluation de la fiabilité : les descriptions rédigées par les utilisateurs sont toujours privilégiées.

Événements : « Analyse des produits »
événements; une rangée par action.

Classification des tableaux

Chaque table est étiquetée FACT (événements transactionnels), DIM (référence descriptive) ou LOOKUP (petites tables de correspondance), plus un domaine d'activité — produit, ventes, finance, support et 16 autres.

événements [FAIT, domaine:produit]
utilisateurs [DIM, domaine:clients]

Types sémantiques par colonne

Dix-huit types de données sont pris en charge : devise, email, horodatage, code de statut, pourcentage, position dans le classement, identifiant, URL, nom de personne, etc. L’IA génère des requêtes SQL DuckDB optimisées pour l’analyse et adaptées à chaque type (par exemple : date_trunc('semaine', ts) (pour les horodatages).

montant : devise · courriel : courriel
horodatage : horodatage

Valeurs d'exemple issues de données réelles

Des lignes aléatoires sont apparues au LLM afin qu'il reconnaisse des modèles qu'aucun schéma ne peut montrer : les noms de champs STRUCT, les formes des éléments LIST, les conventions de formatage et l'encodage réel de vos colonnes VARCHAR.

charge utile (STRUCT) : {page, référent,
ab_variant, appareil}

Détection d'énumérations avec distributions

Les colonnes à faible cardinalité (50 valeurs distinctes ou moins, soit au maximum 5 % de lignes uniques) sont associées à leur liste complète de valeurs, avec le nombre de lignes correspondantes. L'IA ne tient jamais compte de la casse ni de l'orthographe des éléments d'énumération. VARCHAR colonnes.

type d'événement : page vue (54 %) | clic (22 %)
| Achat (14 %) | Inscription (6 %) | Désabonnement (4 %)

Découverte implicite de clés étrangères

L'analyse du chevauchement des données entre les tables détecte les jointures non déclarées comme contraintes DDL, fréquentes dans les schémas DuckDB construits à partir d'importations de fichiers Parquet/CSV. Ces données sont stockées avec les clés étrangères formelles et leurs scores de confiance, et renvoyées par qs_get_relationships.

événements.user_id -> utilisateurs.id
(100 % de chevauchement, conf 0,99)

Même invite de commande, requête SQL différente

La preuve se trouve dans le code SQL que l'outil d'IA écrit réellement. Même session Cursor, même modèle Claude, même invite. « Pouvez-vous me montrer les tendances des revenus par cohorte et par type d’événement pour le dernier trimestre, avec des répartitions hebdomadaires ? » Sans l'intelligence schématique, le LLM doit deviner. Avec elle, il écrit du premier coup du SQL DuckDB idiomatique et adapté aux colonnes.

Sans intelligence schématique
— Première tentative de LLM contre un schéma nu : SELECTIONNER *, EXTRAIT(SEMAINE ISO DE horodatage) AS semaine, SOMME(montant) AS tour DE événements JOINDRE transactions EN UTILISANT(ID de l'utilisateur) horodatage >= '2025-01-01' GROUPE PAR 1, 2 SELECT * annule la projection en colonnes EXTRAIT (ISOWEEK…) — non natif de DuckDB Le montant concerne les transactions, pas les événements. pas de cohorte — users.cohort est le segment Date codée en dur — « dernier trimestre » est dynamique omettre read_parquet() — si events est un fichier
Avec l'intelligence schématique
— Première tentative de LLM avec SI activé : SELECTIONNER u.cohorte, e.type_événement, date_tronc('semaine', e.horodatage) AS semaine, SOMME(montant t) AS recettes DE événements e JOINDRE utilisateurs u ON u.id = e.user_id JOINDRE transactions t ON t.user_id = e.user_id e.timestamp >= DATE_ACTUELLEINTERVALLE 90 JOUR GROUPE PAR u.cohorte, e.type_événement, wk QUALIFIER RANG() SUR(PARTITION PAR cohorte u ORDER BY recettes DESC) <= 5 ORDER BY cohorte universitaire, semaine Du premier coup, c'est parfait. Projection colonnaire. Les étiquettes FACT/DIM ont guidé la structure de jointure La découverte de la clé étrangère a fait apparaître events.user_id -> users.id date_trunc('week', ts) — DuckDB-native QUALIFY filtre les résultats de la fenêtre, sans sous-requête DATE_COURANTE – INTERVALLE n JOURS — Expression idiomatique DuckDB
Vous ne souhaitez pas exécuter Schema Intelligence ? MCP fonctionne toujours — les outils de schéma renvoient des métadonnées brutes (types, clés primaires, clés étrangères formelles, index) et chaque réponse dégradée contient un si_recommandation bloquer l'information à l'IA sur ce qui lui manque, y compris une option d'appel unique pour activer l'intégration de systèmes en cours de conversation via qs_request_si_analyse. Comment fonctionne Schema Intelligence et combien de temps cela prend-il ?

Exécution d'un fichier DuckDB local via Query Streams MCP

Query Streams MCP se connecte aux fichiers de base de données DuckDB locaux. L'agent réseau ouvre votre .duckdb Le fichier est en mode lecture seule sur DuckDB et sert les requêtes à votre client d'IA via la même liaison cloud sortante et la même clé MCP que tous les autres connecteurs ; aucun serveur de base de données séparé n'est nécessaire.

Locale .duckdb déposer

Lecture seule

L'agent ouvre votre .duckdb Fichier en mode lecture seule DuckDB et traite les requêtes via la bibliothèque intégrée. Prend en charge toute taille compatible avec le disque local ; aucune écriture simultanée n'est requise. Idéal pour les ordinateurs portables de développement, les tests d'intégration continue, les rapports intégrés et l'analyse personnelle des importations Parquet/CSV créées via lire_parquet() + CRÉER UNE TABLE COMMEEnregistrez plusieurs comptes. .duckdb Créez un fichier sur le même agent et laissez le LLM lever l'ambiguïté par nom de connecteur.

connecteur/data/analytics.duckdb

Schema Intelligence s'exécute sur votre fichier DuckDB local. Le scan SI lit le .duckdb Le fichier transite par votre agent réseau sur votre propre machine, jamais dans le cloud. La liaison cloud entre l'agent et Query Streams est… un par agent, quel que soit le nombre de fichiers DuckDB Vous vous êtes inscrit(e).

Nova AI

MCP ne vous convient pas ? Essayez plutôt Nova AI.

Ignorez complètement la configuration JSON : Nova AI est intégré au portail web Query Streams et pose les mêmes questions DuckDB en langage clair à votre serveur local .duckdb fichier — même agent, même application en lecture seule, même intelligence de schéma, pas de plomberie MCP.

Découvrez Nova AI

Conditions préalables

Avant de commencer, assurez-vous d'avoir :

  1. Un compte Query Streams gratuit sur mon.querystreams.com.
  2. L'agent réseau Query Streams installé sur une machine hébergeant votre environnement local .duckdb fichier (un ordinateur portable, un serveur ou une petite machine virtuelle) — voir Téléchargez l'agent Query Streams.
  3. Un connecteur DuckDB configuré avec l'agent — voir la configuration existante configuration du connecteur guides pour les .duckdb Chemin d'accès au fichier. L'agent détient ce chemin ; l'outil d'IA n'y touche jamais.
  4. Tout client d'IA compatible MCP. Ce guide présente Cursor, Claude Desktop, ChatGPT et Grok ; si vous utilisez Windsurf, Zed, Continue, Cline, VS Code Copilot, Codex ou Goose, la configuration reste globalement la même.
  5. Cinq minutes.
Vous ne configurez l'agent qu'une seule fois. Le même agent qui alimente les modules complémentaires Excel et Google Sheets de Query Streams, le générateur de requêtes Web et Nova AI est également utilisé par MCP. L'ajout de MCP à un compte Query Streams existant se résume à la génération d'une clé ; l'agent et le connecteur DuckDB sont déjà opérationnels.
1

Générer une clé MCP

De la part de /mcp Dans la page Flux de requêtes, créez une clé avec les étendues souhaitées.

2

Déposez-le dans votre client IA

Un seul extrait JSON pour Cursor, Claude, ChatGPT ou Grok. La même clé partout.

3

Poser une question

« Quelle est la courbe de rétention de notre cohorte au cours des 12 dernières semaines ? » — L'IA utilise les outils appropriés et vous obtenez la réponse.

Étape 1 : Générer une clé MCP dans les flux de requêtes

Connectez-vous à Query Streams et ouvrez le page MCP (ou connectez-vous d'abord à mon.querystreams.com et cliquez MCP (dans le menu de navigation de gauche). Cliquez Générer une clé, donnez à la clé un nom reconnaissable (quelque chose comme curseur-ordinateur portable ou bureau de Claude), et choisissez les portées que vous souhaitez associer à cette clé :

  • lire — L'IA peut parcourir les connecteurs et lire les schémas. Indispensable pour tout le reste.
  • analyser L'IA peut profiler les tables et découvrir les relations (exemples de valeurs, distributions, types sémantiques, indications sur la structure des listes). Cette fonctionnalité est optionnelle, mais fortement recommandée pour l'utilisation de DuckDB : la compréhension de la structure des données imbriquées et de la cardinalité des colonnes de type énumération permet au développeur de rédiger du premier coup des requêtes SQL analytiques optimisées pour les données colonnaires.
  • exécuter — L'IA peut effectivement exécuter des requêtes SQL. Sans cela, elle ne peut lire que les métadonnées du schéma.

Pour un flux de travail classique du type « laisser Claude analyser mes données DuckDB », les trois étendues sont appropriées. Pour une clé que vous transmettez à un collègue ou à un client moins digne de confiance, supprimez-la. exécuter et autorisez-les uniquement à consulter. Vous pouvez révoquer n'importe quelle clé à tout moment depuis cette même page ; le client IA le verra. CLÉ_MCP_RÉVOQUÉE Lors de son prochain appel, le fonctionnement s'arrête immédiatement. Il n'y a pas de délai de propagation.

Copiez la clé maintenant : Query Streams l’affiche une seule fois, puis ne conserve qu’un hachage. Si vous la perdez, générez-en une nouvelle. La clé ressemble à ceci : qsmcp_ suivi de 48 caractères aléatoires, ce que votre client IA envoie dans le Clé X-MCP En-tête de requête.

Étape 2 : Ajoutez Query Streams MCP à votre client d’IA

La configuration est identique pour tous les clients compatibles MCP : une entrée de serveur MCP pointant vers https://mcp.querystreams.com avec votre clé dans le Clé X-MCP En-tête. Choisissez votre client ci-dessous.

Curseur
Curseur ~/.cursor/mcp.json
// Modifier ~/.cursor/mcp.json
{
  "mcpServers": {
    "flux de requêtes": {
      "url": "https://mcp.querystreams.com",
      "en-têtes": {
        "Clé X-MCP": "qsmcp_CLÉ_PASSER_ICI"
      }
    }
  }
}
Claude Desktop
Claude Desktop claude_desktop_config.json
// Paramètres → Développeur → Modifier la configuration
{
  "mcpServers": {
    "flux de requêtes": {
      "url": "https://mcp.querystreams.com",
      "en-têtes": {
        "Clé X-MCP": "qsmcp_CLÉ_PASSER_ICI"
      }
    }
  }
}
ChatGPT
ChatGPT Applications et connecteurs
// Paramètres → Applications et connecteurs → Ajouter un MCP
URL du serveur  https://mcp.querystreams.com
En-tête d'authentification Clé X-MCP
Valeur d'en-tête qsmcp_COLLER_LA_CLÉ_ICI

Nécessite un abonnement ChatGPT payant
// (Plus / Pro / Team / Enterprise).
Grok
Grok Outils MCP distants
// Grok → Paramètres → Outils
{
  "mcp_servers": [{
    "nom": "flux de requêtes",
    "url": "https://mcp.querystreams.com",
    "auth_header": "Clé X-MCP",
    "auth_value": "qsmcp_..."
  }]
}

Redémarrez votre client IA. Au prochain démarrage, il détectera les huit outils Query Streams MCP mentionnés ci-dessus et les affichera dans sa palette d'outils. Dans Cursor et Claude Desktop, vous pouvez le vérifier en saisissant : « liste des connecteurs » — l'IA devrait appeler qs_list_connectors et renvoyez votre connecteur DuckDB ainsi que tout autre élément que vous avez configuré.

Étape 3 : Poser une question DuckDB à l’IA

Vous n'écrivez pas de SQL : c'est l'IA qui s'en charge. Vous posez une question, l'IA choisit l'outil MCP approprié, l'agent exécute la requête sur votre base de données DuckDB et la réponse est renvoyée sous forme de texte et de tableaux. Voici trois exemples de requêtes à tester :

« Quelle est notre courbe de rétention de cohorte au cours des 12 dernières semaines ? »
Rétention
L'IA appelle qs_get_connector_schema découvrir le événements, utilisateurs, et transactions tables, puis qs_run_query avec une requête SELECT qui joint utilisateurs à événements, seaux par date_trunc('semaine', inscription_à) pour l'axe de la cohorte et date_trunc('week', e.timestamp) - signup_at pour l'axe de rétention, et calcule COUNT(identifiant_utilisateur_DISTINCT) Normalisé par la taille de la cohorte. Le résultat s'affiche directement sous forme de tableau de rétention triangulaire avec des intervalles hebdomadaires, accompagné d'une interprétation écrite indiquant les cohortes présentant les meilleurs taux de rétention et les points de rupture. L'IA a déduit toutes ces informations des données DuckDB sans que vous ayez à écrire une seule requête SQL.
« Montrez-moi la moyenne mobile sur 90 jours du chiffre d'affaires par catégorie. »
Revenu
L'IA utilise les calculs de dates idiomatiques de DuckDB (DATE_ACTUELLE - INTERVALLE DE 90 JOURS) pour délimiter la fenêtre, joint transactions à événements pour l'attribution de catégorie, et s'applique MOYENNE(SOMME(montant)) SUR (PARTITION PAR catégorie TRIER PAR jour LIGNES ENTRE 89 LIGNES PRÉCÉDENTE ET LIGNE ACTUELLE) Cette fonction de fenêtrage génère un tableau classé par catégorie, moyenne mobile sur 90 jours et variation en pourcentage par rapport à la période précédente de 90 jours. L'IA identifie généralement la valeur ayant connu la plus forte hausse et celle ayant connu la plus forte baisse, sans intervention de votre part. Le moteur de données en colonnes de DuckDB garantit une exécution rapide, même avec des flux d'événements contenant plusieurs milliards de lignes.
« Quels sont les segments qui connaissent la croissance la plus rapide d'une semaine à l'autre ? »
Croissance
L'IA utilise la détection d'énumération de Schema Intelligence sur utilisateurs.cohorte pour énumérer les segments, puis écrit une CTE qui agrège les utilisateurs actifs par (cohorte, semaine) via date_trunc('semaine', horodatage), s'applique QUALIFIER avec un DÉCALAGE() La fenêtre de comparaison porte sur la semaine précédente et renvoie les segments triés par pourcentage de croissance hebdomadaire. On obtient ainsi une liste ciblée avec la cohorte, les utilisateurs actifs de la semaine en cours, les utilisateurs actifs de la semaine précédente et le pourcentage de variation hebdomadaire. L'IA trie généralement par plus grande variation positive en premier et signale les segments dont la croissance est passée d'une baisse à une hausse. cohortes de surveillance.

Lors du premier appel à un outil par l'IA, votre client peut afficher une fenêtre de confirmation vous demandant d'approuver cet appel. Il s'agit du flux de consentement standard de MCP, et non d'une fonctionnalité ajoutée par Query Streams. Une fois l'approbation donnée, l'IA poursuivra la conversation sans problème. Vous pouvez modifier ce consentement à tout moment dans les paramètres de votre client.

Avis de facturation transparent : l’utilisation de MCP est facturée en octets non compressés.

Les modules complémentaires Excel et Google Sheets de Query Streams, ainsi que son générateur de requêtes web et Nova AI, fonctionnent tous via notre connexion cloud compressée ; nous mesurons et facturons en conséquence. octets compressés par rapport à votre environnement de données. Le transport MCP (HTTP en flux continu, conformément à la spécification MCP officielle) ne prend pas en charge de manière fiable la compression de bout en bout sur tous les clients et proxys intermédiaires. C'est pourquoi nous mesurons et facturons. octets non compressés pour le trafic MCP.

  • Ce que cela signifie : Un ensemble de résultats d'analyse DuckDB de 2 Mo occupe environ 2 Mo de votre espace de données lorsqu'il est récupéré via MCP, contre environ 250 à 350 Ko via Excel, Sheets, Nova ou le générateur de requêtes. Les données en colonnes de DuckDB, en particulier les résultats agrégés avec des valeurs de catégorie et d'horodatage répétées, sont compressées environ 6 à 8 fois via LZ4 ; la différence de taille est donc plus importante ici que pour les bases de données transactionnelles. Mêmes données, transport différent, taille facturable différente.
  • Ce que ceci n'est pas : Nous ne facturons aucune majoration ni pénalité pour l'utilisation de MCP. Nous facturons le volume réel de données transmises. Les autres clients sont moins chers car la compression fonctionne de manière fiable sur ces protocoles ; nous ne vous pénalisons pas pour le choix du protocole, mais nous devons être transparents quant à l'impact sur les coûts.
  • Ce que vous pouvez faire : Pour les requêtes récurrentes de très grande taille (par exemple, l'exportation d'événements de plusieurs millions de lignes directement depuis une base de données colonnes DuckDB), privilégiez la solution Excel/Sheets/Nova. Pour les appels d'outils d'IA interactifs (la réponse agrégée typique de DuckDB, de 100 à 5 000 lignes, adaptée à un contexte LLM), MCP est le choix idéal et la différence de coût est minime.

Foire aux questions

Dois-je ouvrir des ports ou utiliser un VPN pour cela ? +
Aucune règle de trafic entrant, redirection de ports, NAT punchthrough ni VPN. L'agent réseau établit une connexion TLS sortante (port 443) et votre client IA atteint https://mcp.querystreams.com depuis l'internet public — si le protocole HTTPS sortant fonctionne sur l'hôte de l'agent, MCP fonctionne. Découvrez comment fonctionne une connexion sortante uniquement →
Quels outils d'IA puis-je utiliser avec Query Streams MCP ? +
Tout client compatible avec le protocole MCP (Model Context Protocol) ouvert — Claude Desktop, Claude Code, Cursor, ChatGPT (payant), Grok, Gemini CLI, Windsurf, Zed et plus de 500 autres. Utilisez votre outil d'IA habituel ; vous n'avez pas besoin d'en changer. Liste complète des clients d'IA pris en charge →
Puis-je révoquer une clé MCP ? +
Oui — trois interrupteurs d'arrêt d'urgence indépendants (un par touche à partir du /mcp page, par organisation via les paramètres du plan et au niveau de la plateforme), aucune de ces opérations ne nécessitant une rotation du mot de passe de la base de données ou un redémarrage de l'agent. Plus d'informations sur la sécurité des clés MCP →
Comment l'utilisation de MCP est-elle facturée en fonction de mon espace de données ? +
MCP utilise le même budget de données qu'Excel, Sheets, Query Builder et Nova, mais son transport HTTP Streamable ne permet pas une compression fiable de bout en bout, ce qui entraîne une facturation supplémentaire. octets non compressés plutôt que octets compressésPour DuckDB, cet écart est plus important que pour les bases de données transactionnelles : la sortie en colonnes est compressée environ 6 à 8 fois via LZ4 sur les clients compressés, donc un résultat d’analyse de 2 Mo coûte environ 250 à 350 Ko via Excel/Sheets/Nova contre environ 2 Mo via MCP. Comment fonctionne la facturation par domaine de données selon les différents modes de transport →
Est-ce que Query Streams MCP fonctionne avec DuckDB 0.9 / 0.10 / 1.0, le mode lecture seule de DuckDB et les extensions DuckDB comme httpfs / parquet / json / spatial? +
Oui, l'agent réseau prend en charge DuckDB 0.9 et versions ultérieures via la norme duckdb bibliothèque (version 1.0 actuellement incluse). Le mode lecture seule est le mode par défaut de l'agent pour des raisons de sécurité., afin que plusieurs lecteurs puissent partager le même .duckdb Fichier sans conflit de verrouillage en écriture. Extensions : httpfs (Lectures S3 / HTTPS, y compris l'authentification par URL signée et les chaînes de rôles IAM), parquet (E/S parquet via lire_parquet() et COPIER ... À — ce dernier bloqué par le validateur en lecture seule), json (Lecture/extraction JSON via lire_json_auto() et le json_extracteur famille), et spatial Tous les types de géométrie compatibles PostGIS (lecture des formats GeoJSON, Shapefile et FlatGeobuf via GDAL) sont pris en charge. L'agent les charge automatiquement lorsqu'une analyse SI détecte leur utilisation. Pour les extensions personnalisées ou communautaires, contactez l'assistance ; nous pouvons les ajouter à la liste blanche au niveau de la couche de l'agent. .duckdb Le fichier que vous enregistrez est un connecteur distinct ; vous pouvez enregistrer plusieurs fichiers DuckDB simultanément et laisser le LLM choisir par nom (par exemple). « Interrogez la base de données DuckDB de test, pas celle de production. »).
En quoi cela diffère-t-il du fait d'exécuter moi-même un serveur DuckDB MCP open-source ? +
Un serveur MCP DuckDB direct (des projets communautaires, dont celui de DuckDB Labs, existent) correspond à un MCP par source de données. Pour que Claude puisse lire vos données DuckDB, Google Search Console, votre compte Stripe et votre entrepôt Snowflake, vous auriez besoin de quatre serveurs MCP configurés séparément dans chaque client AI, chacun avec ses propres identifiants, son propre modèle de portée et son propre historique d'audit. Query Streams MCP est une solution unique qui permet d'accéder à tous les connecteurs associés à votre compte. Vous bénéficiez également de Schema Intelligence (avec des indications sur la forme des structures/listes compatibles DuckDB et des conseils sur la projection en colonnes), de l'application du mode lecture seule au niveau de l'agent, de limites de débit par clé et d'un journal d'audit. journaux d'événements, et le même pipeline de facturation de domaine de données que vous utilisez déjà — autant d'éléments qu'un MCP DuckDB direct ne vous fournit pas.
Que se passe-t-il si l'IA tente d'écrire ou de supprimer des données ? +
Elle est rejetée par l'agent avant même que la source de données ne voie la requête SQL. qs_run_query L'appel est analysé par un validateur en lecture seule codé en dur qui n'autorise que SELECTIONNER, AVEC, et EXPLIQUER déclarations; tout autre chose (y compris COPIER ... À écrit, CRÉER UNE TABLE, ATTACHERet de DuckDB CHARGER / INSTALLER (pour les extensions non autorisées) renvoie VIOLATION EN LECTURE SEULE et n'atteint jamais DuckDB. Le validateur s'exécute dans le processus agent sur votre réseau, et non dans le cloud ; par conséquent, une surface d'attaque cloud compromise ne pourrait pas le contourner. Pour les locaux .duckdb fichiersDe plus, l'agent ouvre le fichier en mode lecture seule de DuckDB, de sorte que même un contournement hypothétique du validateur ne peut pas écrire via le descripteur de base de données.
Puis-je voir la question exacte posée par l'IA ? +
Oui. Chaque appel d'outil MCP écrit une ligne dans journaux d'événements avec l'organisation, l'utilisateur, la clé, la portée, la latence et le code de résultat. L'administrateur de l'organisation peut répondre à la question « Qui a utilisé MCP la semaine dernière, quel connecteur et quelle question a-t-il posée ? » en une seule requête. Notez que nous enregistrons les informations suivantes : nom et métadonnées de l'outilIl ne s'agit pas du texte SQL ni des lignes renvoyées ; ces éléments transitent par la connexion cloud et ne sont jamais enregistrés dans les journaux cloud. Pour un audit SQL complet, activez la journalisation côté moteur lorsqu'elle existe ; pour DuckDB en particulier, cela implique d'utiliser PRAGMA activer_profilage + PRAGMA profile_output à chaque session pour recueillir les plans EXPLAIN. Local .duckdb Les fichiers ne disposent pas d'un journal d'audit intégré ; si vous avez besoin d'une capture SQL complète par requête, exécutez l'agent lui-même avec la journalisation détaillée des requêtes activée (l'agent écrira le SQL analysé dans son fichier journal local avant de le transmettre à DuckDB).
Dois-je exécuter Schema Intelligence pour utiliser Query Streams MCP ? +
Non - Schema Intelligence est optionnel. et MCP fonctionne sans (l'IA reçoit un schéma minimal et écrit des requêtes de base). Avec SI activé, les six couches sélectionnées ajoutent le contexte spécifique à DuckDB dont le LLM a besoin : noms de champs STRUCT et formes d'éléments LIST dans les valeurs d'exemple, types sémantiques qui pilotent les idiomes axés sur l'analyse (lire_parquet, date_tronc, PIVOTER, QUALIFIER), et les clés étrangères découvertes par l'IA via qs_get_relationships — particulièrement utile pour les schémas DuckDB assemblés à partir de lire_parquet / lire_csv_auto sources où les clés étrangères formelles sont rarement déclarées. Sans SI, chaque réponse d'un outil de schéma contient un si_recommandation bloc sur lequel l'IA peut agir pour déclencher une course en pleine conversation via qs_request_si_analyse. Les six couches ajoutées par Schema Intelligence et la durée d'une analyse →
Et si j'ajoute un autre connecteur plus tard, comme Stripe ou PostgreSQL ? +
Rien ne change côté client — la même clé atteint le nouveau connecteur dès que l'agent l'appaire (qs_list_connectors (Il le récupère automatiquement). Un seul bloc de configuration couvre l'intégralité de votre compte, actuel et futur. Pourquoi une seule touche couvre tous les connecteurs →
Dois-je configurer MCP juste pour discuter avec mes données ? +
Non - Nova AI est intégré au portail Query Streams et fonctionne avec tous les connecteurs (y compris DuckDB) sans installation ni fichier de configuration MCP. Utilisez Nova pour interagir avec vos données dans les flux de requêtes ; utilisez MCP lorsque vous souhaitez que votre propre client d’IA (Claude, Cursor, ChatGPT, etc.) accède aux mêmes données : même agent, mêmes connecteurs, même intelligence schématique sous-jacente. En savoir plus sur Nova AI →
Puis-je enregistrer plusieurs fichiers DuckDB ou analyser des données Parquet/CSV ? +
Oui. L'agent ouvre chaque local .duckdb Fichier en mode lecture seule via la bibliothèque intégrée — aucun processus serveur distinct à gérer. Pour analyser les fichiers Parquet, CSV ou JSON, créez un .duckdb fichier avec lire_parquet() / lire_csv_auto() + CRÉER UNE TABLE COMME et indiquez-le à l'agent. Vous pouvez en enregistrer plusieurs .duckdb fichiers sur un agent (par exemple local-dev.duckdb + analytics.duckdb) et laisser le LLM lever l'ambiguïté par le nom du connecteur en anglais clair (« Interrogez la base de données DuckDB de test, pas celle de production. »La connexion cloud à Query Streams utilise une seule connexion TLS sortante par agent, quel que soit le nombre de fichiers enregistrés.

Commencer

Connectez votre outil d'IA à vos données DuckDB en cinq minutes.

Une seule clé MCP permet d'accéder à vos fichiers DuckDB locaux, à toutes vos autres bases de données et à tous les connecteurs API de votre compte Query Streams, avec un historique complet des accès, des limites de requêtes par clé et sans aucune modification du pare-feu. Claude, Cursor, ChatGPT et Grok sont immédiatement opérationnels.

Guides associés : Téléchargez l'agent Query Streams | Configuration du connecteur de base de données | Tous les guides du serveur MCP | Nova AI text-to-SQL

Catégorie : Serveur MCP

Mots-clés : mcp, claude, curseur, duckdb, base de données analytique, outils de développement, analyse embarquée, base de données colonnaire, parquet

Description : Connectez un fichier DuckDB local à Claude ou Cursor via Query Streams MCP. Configuration en 5 minutes, axée sur l’analyse.

Updated on 16 juin 2026

Powered by BetterDocs