MCP Reference: dataform.googleapis.com

Le serveur MCP Dataform fournit des outils permettant d'interagir avec Dataform.

Un serveur MCP (Model Context Protocol) sert de proxy entre un service externe qui fournit du contexte, des données ou des capacités à un grand modèle de langage (LLM) ou à une application d'IA. Les serveurs MCP connectent les applications d'IA à des systèmes externes tels que des bases de données et des services Web, et traduisent leurs réponses dans un format que l'application d'IA peut comprendre.

Configuration du serveur

Vous devez activer les serveurs MCP et configurer l'authentification avant de les utiliser. Pour en savoir plus sur l'utilisation des serveurs MCP distants Google et Google Cloud, consultez Présentation des serveurs MCP Google Cloud.

Points de terminaison du serveur

Un point de terminaison de service MCP est l'adresse réseau et l'interface de communication (généralement une URL) du serveur MCP qu'une application d'IA (l'hôte du client MCP) utilise pour établir une connexion sécurisée et standardisée. Il s'agit du point de contact permettant au LLM de demander du contexte, d'appeler un outil ou d'accéder à une ressource. Les points de terminaison Google MCP peuvent être globaux ou régionaux.

Le serveur MCP de l'API Dataform dispose du point de terminaison MCP global suivant :

  • https://dataform.googleapis.com/mcp

Outils MCP

Un outil MCP est une fonction ou une capacité exécutable qu'un serveur MCP expose à un LLM ou à une application d'IA pour effectuer une action dans le monde réel.

Outils

Le serveur MCP dataform.googleapis.com dispose des outils suivants :

Outils MCP
list_repositories

Lister les dépôts Dataform dans un projet et un emplacement Google Cloud donnés

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}.

create_repository

Crée un dépôt Dataform dans un projet et un emplacement Google Cloud donnés.

Cet outil établit la ressource racine requise pour tous les autres composants de transformation, tels que les résultats de compilation et les configurations de workflow. Vous devez créer un dépôt avant de pouvoir utiliser d'autres outils MCP Dataform. L'activation de cet outil est la première étape de la configuration d'un projet Dataform.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}.

La valeur du paramètre repository_id correspond à l'ID à utiliser pour le dépôt.

Omettez le paramètre strictActAsChecks pour le laisser non défini dans un nouveau dépôt. Notez que des vérifications strictes de l'identité sont appliquées par défaut aux nouveaux projets. Par conséquent, l'exécution d'un workflow dans ce dépôt nécessite un compte de service personnalisé.

commit_repository_changes

Appliquez un commit Git pour enregistrer l'état des fichiers dans un dépôt Dataform.

Cet outil est principalement destiné à la gestion des composants monofichiers, tels que les notebooks ou les requêtes enregistrées, qui résident directement dans le dépôt. Cet outil n'est pas utilisé dans les workflows de pipeline standards qui nécessitent des espaces de travail.

N'utilisez pas cet outil sur les dépôts connectés à un hôte Git distant. Pour vérifier, utilisez l'outil get_repository. Si le champ git_remote_settings est présent, le dépôt est connecté à un hôte distant et vous devez utiliser des outils basés sur l'espace de travail tels que commit_workspace_changes.

Cette action de commit crée une entrée permanente dans l'historique Git interne du dépôt.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

read_repository_file

Renvoie le contenu d'un fichier qui se trouve dans un dépôt Dataform.

Cet outil n'est pas destiné au développement de pipelines standards. Il est destiné à l'interaction directe avec le dépôt, généralement pour gérer les composants monofichiers tels que les notebooks ou les requêtes enregistrées.

N'utilisez pas cet outil sur les dépôts connectés à un hôte Git distant. Pour vérifier, utilisez l'outil get_repository. Si le champ git_remote_settings est présent, le dépôt est connecté à un hôte distant et vous devez utiliser l'outil read_file pour lire le fichier à partir d'un espace de travail.

La valeur du paramètre name fait référence au dépôt et doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

La valeur du paramètre path doit être relative à la racine du dépôt. N'utilisez pas de traversée de répertoire, comme ... Utilisez l'outil query_repository_directory_contents pour obtenir des chemins d'accès aux fichiers valides.

query_repository_directory_contents

Renvoie le contenu d'un répertoire de dépôt Dataform donné.

Cet outil est principalement utilisé pour lister et gérer les composants monofichiers directement dans le dépôt.

N'utilisez pas cet outil sur les dépôts connectés à un hôte Git distant. Pour vérifier, utilisez l'outil get_repository. Si le champ git_remote_settings est présent, le dépôt est connecté à un hôte distant et vous devez utiliser l'outil query_directory_contents pour lister un répertoire d'espace de travail.

La valeur du paramètre name fait référence au dépôt au format projects/{project_id}/locations/{location}/repositories/{repository}.

La valeur du paramètre path doit être relative à la racine du dépôt. N'utilisez pas de traversée de répertoire, comme ... Si ce champ n'est pas renseigné, la racine du dépôt est utilisée.

list_workflow_configs

Liste les configurations de workflow dans un dépôt Dataform donné.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

get_workflow_config

Récupérer une seule configuration de workflow Dataform.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}.

create_workflow_config

Crée une configuration de workflow dans un dépôt Dataform donné.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

workflow_config_id correspond à l'ID de la configuration du workflow.

Une configuration de workflow associe un ReleaseConfig à une planification et à une identité. ReleaseConfig détermine le code à compiler, tandis que cet outil détermine quand ce code s'exécute et quel compte de service l'exécute.

Condition préalable : Vous devez d'abord créer un ReleaseConfig à l'aide de l'outil create_release_config. La valeur du paramètre workflow_config.release_config est obligatoire. La requête échouera si elle n'est pas fournie.

Les appels de workflow créés à partir de cette configuration de workflow s'exécutent sous un compte de service personnalisé. Pour spécifier ce compte de service, définissez la valeur du paramètre invocationConfig.serviceAccount. Si elle est omise, les appels utilisent la valeur service_account du dépôt. Le compte de service ne peut pas être l'agent de service Dataform par défaut. Le compte de service doit disposer des autorisations nécessaires pour exécuter le workflow, et l'utilisateur doit être autorisé à agir en tant que compte sélectionné. Cette autorisation est généralement accordée par le biais du rôle IAM Utilisateur du compte de service (roles/iam.serviceAccountUser), qui peut être accordé sur le compte de service lui-même ou sur le projet qui le contient.

update_workflow_config

Mettez à jour les propriétés d'une configuration de workflow Dataform existante, telles que son calendrier d'exécution (cron), la configuration de version associée ou les remplacements d'invocation.

Les modifications apportées à cron_schedule prennent effet immédiatement pour toutes les futures exécutions planifiées.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}.

La valeur du paramètre workflow_config.release_config est strictement requise pour chaque mise à jour. Utilisez l'outil get_workflow_config pour lire la configuration actuelle du workflow et incluez sa valeur release_config dans votre demande de mise à jour.

Les appels de workflow créés à partir de cette configuration de workflow s'exécutent sous un compte de service personnalisé. Pour spécifier ce compte de service, définissez la valeur du paramètre invocationConfig.serviceAccount. Si elle est omise, les appels utilisent la valeur service_account du dépôt. Le compte de service ne peut pas être l'agent de service Dataform par défaut. Le compte de service doit disposer des autorisations nécessaires pour exécuter le workflow, et l'utilisateur doit être autorisé à agir en tant que compte de service sélectionné. Cette autorisation est généralement accordée par le biais du rôle IAM Utilisateur du compte de service (roles/iam.serviceAccountUser), qui peut être accordé sur le compte de service lui-même ou sur le projet qui le contient.

list_release_configs

Répertorie les configurations de version dans un dépôt Dataform donné.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

get_release_config

Récupère une seule configuration de version Dataform.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/releaseConfigs/{release_config}.

create_release_config

Crée une configuration de version dans un dépôt Dataform donné.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

release_config_id est l'ID défini par l'utilisateur pour la configuration de version. Si l'utilisateur ne spécifie pas d'ID, générez-en un court et descriptif en utilisant des lettres minuscules, des chiffres et des traits d'union en fonction de sa demande.

Omettez la valeur du paramètre release_config.cron_schedule pour les dépôts hébergés par Google. Pour vérifier, utilisez l'outil get_repository. Si le champ git_remote_settings est manquant, le dépôt est hébergé par Google. Pour planifier le pipeline, définissez la programmation à l'aide de l'outil create_workflow_config.

update_release_config

Mettez à jour une configuration de version Dataform existante, qui sert de modèle pour la compilation automatique du code.

Les modifications apportées à des champs tels que git_commitish changent la façon dont les futurs résultats de compilation sont générés, mais elles n'altèrent pas de manière rétroactive les composants CompilationResult existants.

Omettez la valeur du paramètre release_config.cron_schedule lorsque vous mettez à jour des dépôts hébergés par Google. Pour vérifier, utilisez l'outil get_repository. Si le champ git_remote_settings n'est pas renseigné, le dépôt est hébergé par Google. Pour planifier le pipeline, définissez ou mettez à jour la planification à l'aide des outils create_workflow_config ou update_workflow_config.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/releaseConfigs/{release_config}.

create_compilation_result

Crée un résultat de compilation Dataform dans un projet et un emplacement Google Cloud donnés.

Cet outil compile les fichiers .sqlx en code SQL exécutable. Les agents doivent savoir que les modifications de code ultérieures ne sont pas reflétées dans ce résultat, sauf si une nouvelle compilation est déclenchée.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

Les agents peuvent valider le code SQL compilé en inspectant les ressources CompilationResultAction et en utilisant potentiellement un outil BigQuery pour un dry run.

Un résultat de compilation valide est requis avant de déclencher manuellement un workflow à l'aide de l'outil create_workflow_invocation.

Prérequis : Créez un dépôt à l'aide de l'outil create_repository avant d'appeler l'outil create_compilation_result.

list_workflow_invocations

Lister les invocations de workflow dans un dépôt Dataform donné.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

create_workflow_invocation

Crée une invocation de workflow dans un dépôt Dataform donné.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

Il est obligatoire d'indiquer soit la valeur du paramètre compilation_result, soit celle du paramètre workflow_config.

  • Si vous utilisez compilation_result, la valeur du paramètre doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.
  • Si vous utilisez workflow_config, la valeur du paramètre doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}.

Condition préalable : Pour déclencher une invocation, vous devez d'abord créer un compilation_result à l'aide de l'outil create_compilation_result ou un workflow_config à l'aide de l'outil create_workflow_config. Vous ne pouvez pas déclencher d'appel directement à partir du code brut du dépôt.

L'appel de workflow s'exécute sous un compte de service déterminé par la source de compilation :

  • Si vous utilisez compilation_result, définissez la valeur du paramètre invocationConfig.serviceAccount. Si cet élément n'est pas spécifié, la valeur service_account par défaut du dépôt s'applique.
  • Si vous utilisez workflow_config, ne définissez pas le paramètre invocationConfig. L'appel s'exécute automatiquement sous le compte de service configuré dans cette configuration de workflow.

Le compte de service ne peut pas être l'agent de service Dataform par défaut. Le compte de service doit disposer des autorisations nécessaires pour exécuter le workflow, et l'utilisateur doit être autorisé à agir en tant que compte de service sélectionné. Cette autorisation est généralement accordée par le biais du rôle Utilisateur du compte de service (roles/iam.serviceAccountUser), qui peut être accordé sur le compte de service lui-même ou sur le projet qui le contient.

cancel_workflow_invocation

Demandez l'arrêt progressif d'un appel de workflow Dataform en cours d'exécution.

Cet outil envoie un signal d'annulation au workflow en cours d'exécution. Toutefois, les tâches BigQuery individuelles, les créations de tables ou les assertions qui ont déjà été effectuées dans ce workflow ne seront pas annulées.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation}.

get_compilation_result

Récupérer un seul résultat de compilation Dataform.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.

query_compilation_actions

Renvoie les actions de résultat de compilation pour un résultat de compilation Dataform donné.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}.

query_workflow_invocation_actions

Renvoie les actions d'appel de workflow pour un appel de workflow Dataform donné.

Ces actions représentent les tâches BigQuery individuelles, les créations de tables ou les assertions qui composent le workflow.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation}.

get_workflow_invocation

Récupérez un seul appel de workflow Dataform.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation}.

list_workspaces

Répertoriez les espaces de travail de développement dans un dépôt Dataform donné.

Utilisez cet outil pour découvrir les espaces de travail existants avant d'effectuer des opérations sur les fichiers (à l'aide d'outils tels que read_file ou write_file) ou de valider le code (à l'aide d'un outil tel que commit_workspace_changes).

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

get_workspace

Récupérer un seul espace de travail de développement Dataform.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

Si vous ne connaissez pas le nom exact de l'espace de travail, utilisez l'outil list_workspaces pour le trouver.

create_workspace

Crée un espace de travail de développement dans un dépôt Dataform donné.

Un espace de travail est une version isolée et modifiable du dépôt. Utilisez un espace de travail lorsque vous devez créer ou réviser du code de pipeline dans plusieurs fichiers et le valider avant de l'envoyer. Modifiez les fichiers de l'espace de travail avec les outils write_file et remove_file, enregistrez le résultat avec l'outil commit_workspace_changes, puis publiez les modifications validées dans le dépôt avec l'outil push_git_commits.

N'utilisez pas l'outil commit_repository_changes pour le développement de pipelines standards. Cet outil écrit directement dans le dépôt. Il est destiné uniquement aux composants monofichiers tels que les notebooks ou les requêtes enregistrées. Il échoue sur les dépôts connectés à un hôte Git distant.

Prérequis : le dépôt parent doit exister.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

La valeur du paramètre workspace_id correspond à l'ID à utiliser pour l'espace de travail.

La valeur du paramètre workspace contient l'espace de travail à créer.

query_directory_contents

Renvoie le contenu d'un répertoire donné dans un espace de travail Dataform.

Utilisez cet outil pour découvrir les chemins d'accès aux fichiers valides avant d'appeler les outils read_file ou write_file.

La valeur du paramètre workspace doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

La valeur de paramètre path correspond au chemin relatif au répertoire à partir de la racine de l'espace de travail. N'utilisez pas de traversée de répertoire, comme ... S'il est omis, la racine de l'espace de travail est utilisée.

search_files

Recherchez des fichiers et des répertoires dans un espace de travail Dataform qui correspondent à un filtre de recherche.

Utilisez cet outil au lieu de lister les répertoires de manière récursive avec l'outil query_directory_contents lorsque vous recherchez un fichier par nom ou par extension dans un grand dépôt.

La valeur du paramètre workspace doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

La valeur du paramètre filter limite les résultats. Le filtrage n'est autorisé que sur le champ path (par exemple, path="*.sqlx" ou path="definitions/model.sqlx").

read_file

Renvoie le contenu d'un fichier dans un espace de travail Dataform, y compris les modifications non validées.

Utilisez cet outil pour lire le fichier workflow_settings.yaml de l'espace de travail, qui contient les paramètres de compilation du pipeline, tels que l'ensemble de données BigQuery par défaut, l'emplacement par défaut et la version Dataform Core. Ce fichier se trouve à la racine du répertoire du pipeline, qui n'est pas nécessairement la racine de l'espace de travail, car un dépôt peut contenir plusieurs pipelines dans des sous-répertoires. Localisez le fichier à l'aide de l'outil search_files.

Pour lire un fichier validé directement à partir du dépôt sans espace de travail, utilisez plutôt l'outil read_repository_file. Notez que read_repository_file ne fonctionne que sur les dépôts qui ne sont pas connectés à un hôte Git distant.

La valeur du paramètre workspace doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

La valeur de paramètre path correspond au chemin relatif au fichier à partir de la racine de l'espace de travail. N'utilisez pas de traversée de répertoire, comme ... Vous pouvez obtenir des chemins d'accès valides à l'aide des outils query_directory_contents ou search_files.

La valeur du paramètre revision permet de sélectionner une révision Git spécifique du fichier (facultatif). Si elle est omise, l'état actuel non validé du fichier est renvoyé.

write_file

Écrivez le contenu d'un fichier dans un espace de travail Dataform, en créant le fichier s'il n'existe pas.

La valeur du paramètre contents fourni remplace l'intégralité du fichier. Par conséquent, lisez le contenu actuel avec l'outil read_file avant d'effectuer une modification partielle. Les modifications restent non validées jusqu'à ce que l'outil commit_workspace_changes soit appelé.

La valeur du paramètre workspace doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

La valeur de paramètre path correspond au chemin relatif au fichier à partir de la racine de l'espace de travail. N'utilisez pas de traversée de répertoire, comme ...

La valeur du paramètre contents doit être une chaîne encodée en base64 contenant le contenu du fichier.

remove_file

Supprimez un fichier dans un espace de travail Dataform.

La suppression reste non validée jusqu'à ce que l'outil commit_workspace_changes soit appelé.

La valeur du paramètre workspace doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

La valeur de paramètre path correspond au chemin relatif au fichier à partir de la racine de l'espace de travail. N'utilisez pas de traversée de répertoire, comme ... Vous pouvez obtenir des chemins d'accès aux fichiers valides à l'aide des outils query_directory_contents ou search_files.

make_directory

Crée un répertoire dans un espace de travail Dataform, y compris les répertoires parents manquants.

La valeur du paramètre workspace doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

La valeur de paramètre path correspond au chemin relatif au répertoire à partir de la racine de l'espace de travail. N'utilisez pas de traversée de répertoire, comme ...

commit_workspace_changes

Enregistrez un commit Git pour les modifications non validées dans un espace de travail Dataform.

Le commit reste local à l'espace de travail jusqu'à ce qu'il soit publié avec l'outil push_git_commits.

Par défaut, toutes les modifications non validées sont validées. Pour n'importer qu'un sous-ensemble de fichiers, indiquez la valeur du paramètre paths.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

La valeur du paramètre author identifie l'auteur Git enregistré pour le commit. author.name et author.email_address sont obligatoires. Indiquez les valeurs qui identifient l'utilisateur au nom duquel l'opération d'importation est effectuée. N'utilisez pas d'espaces réservés, car ils sont écrits dans l'historique Git.

La valeur du paramètre commit_message correspond au message du commit.

push_git_commits

Transférez les modifications validées d'un espace de travail Dataform vers le dépôt Git distant.

Prérequis : Vous devez valider les modifications apportées à l'espace de travail à l'aide de l'outil commit_workspace_changes avant d'effectuer le transfert. Les modifications non validées restent locales et ne sont pas transférées.

Si vous prévoyez d'utiliser l'outil create_release_config, vous devez d'abord envoyer vos commits. Une configuration de version résout son git_commitish par rapport au dépôt Git distant. Par conséquent, une branche ou un commit qui n'existe que dans l'espace de travail local est invisible pour elle.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

La valeur du paramètre remote_branch correspond à la branche distante vers laquelle effectuer le push. Si elle est omise, un espace de travail avec la gestion des branches activée effectue un push vers sa branche actuellement extraite, et tout autre espace de travail effectue un push vers la branche par défaut configurée du dépôt.

get_repository

Récupérez un seul dépôt Dataform, y compris ses paramètres Git distants, les remplacements de compilation de l'espace de travail et le compte de service par défaut.

Utilisez cet outil pour vérifier le champ git_remote_settings et déterminer comment interagir avec le dépôt. Si le champ git_remote_settings est présent, le dépôt est connecté à un hôte Git distant, ce qui signifie que vous devez utiliser des outils basés sur l'espace de travail pour développer des pipelines, tels que create_workspace ou commit_workspace_changes. Si le champ est manquant, le dépôt est hébergé par Google. Dans ce cas, vous pouvez toujours utiliser des espaces de travail pour développer des pipelines. Les outils de dépôt direct tels que commit_repository_changes ne sont pas recommandés, sauf si vous gérez des composants monofichiers.

La valeur du paramètre name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

Si vous ne connaissez pas le nom exact du dépôt, utilisez l'outil list_repositories pour le trouver.

update_repository

Mettez à jour les propriétés d'un dépôt Dataform existant, telles que ses paramètres Git distant, les remplacements de compilation de l'espace de travail ou le compte de service par défaut.

Prérequis : Utilisez l'outil get_repository pour lire l'état actuel du dépôt avant de le mettre à jour.

Si la valeur du paramètre update_mask est omise, tous les champs modifiables sont remplacés par les valeurs fournies dans la valeur du paramètre repository. Pour modifier uniquement certains champs sans effacer les autres, listez-les dans update_mask.

La valeur du paramètre repository.name doit être au format projects/{project_id}/locations/{location}/repositories/{repository}.

create_folder

Crée un dossier Dataform dans un projet et un emplacement Google Cloud donnés.

Les dossiers organisent les dépôts Dataform dans une hiérarchie. La création d'un dossier ne déplace aucun dépôt. Pour placer un dépôt dans un dossier, définissez la valeur du paramètre containing_folder lorsque vous utilisez l'outil create_repository.

N'essayez pas de déplacer un dépôt existant dans un dossier à l'aide de l'outil update_repository. Une fois qu'un dépôt est créé, son champ containing_folder ne peut pas être modifié à l'aide des outils MCP.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}.

La valeur du paramètre folder.display_name est obligatoire et spécifie le nom convivial du dossier.

Obtenir les spécifications de l'outil MCP

Pour obtenir les spécifications des outils MCP pour tous les outils d'un serveur MCP, utilisez la méthode tools/list. L'exemple suivant montre comment utiliser curl pour lister tous les outils et leurs spécifications actuellement disponibles sur le serveur MCP.

Requête curl
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'