Aller au contenu principal

Référence des API et des SDK MCP

Utilisez ces exemples pour automatiser la configuration de MCP. L’API représente chaque MCP comme une ressource McpService. Pour l’interface utilisateur du Workspace, consultez Serveurs MCP externes. Pour en savoir plus sur les contrôles d’accès et les politiques, consultez la section Gérer un MCP.

Prérequis​

Remplacez main.default.my_mcp, le nom de la connexion et data-team par vos propres valeurs. La création de MCP avec des commandes SQL telles que CREATE MCP SERVICE n'est pas prise en charge.

Opérations d’API​

L'API REST MCP fournit ces opérations. Suivez chaque Link pour consulter ses champs, ses autorisations et ses réponses.

Opérations

Utilisez-le pour

Créer

Enregistrer un serveur MCP via une connexion HTTP.

Liste

Trouvez les MCPs auxquels vous avez accès dans un schéma.

Obtenir

Lire la configuration d'un MCP et son etag actuel.

Mettre à jour

Modifiez le commentaire, la connexion, la sélection d'outils ou les limites de débit.

Supprimer

Supprimez un MCP enregistré.

Se connecter

Connectez-vous ou réauthentifiez l'appelant auprès du fournisseur.

Vérifier la connexion

Lire l'état de connexion du fournisseur de l'appelant.

Se déconnecter

Révoquer le certificat d’identification du fournisseur de l’appelant.

Opérations

Utilisez-le pour

Créer

Enregistrer un serveur MCP via une connexion HTTP.

Liste

Trouvez les MCPs auxquels vous avez accès dans un schéma.

Obtenir

Lire la configuration d'un MCP et son etag actuel.

Mettre à jour

Modifiez le commentaire, la connexion, la sélection d'outils ou les limites de débit.

Supprimer

Supprimez un MCP enregistré.

Se connecter

Connectez-vous ou réauthentifiez l'appelant auprès du fournisseur.

Vérifier la connexion

Lire l'état de connexion du fournisseur de l'appelant.

Se déconnecter

Révoquer le certificat d’identification du fournisseur de l’appelant.

Pour découvrir et appeler des outils, utilisez un client MCP avec l'URL MCP, https://<workspace-hostname>/ai-gateway/mcp-services/<catalog>.<schema>.<service>. Ces APIs de gestion utilisent le champ d'application OAuth unity-catalog. Les appels d'outils MCP utilisent ai-gateway.

Créer une connexion​

Créez une connexion HTTP au niveau du schéma vers votre serveur MCP. Ces exemples se connectent à https://mcp.example.com/mcp à l’aide d’un jeton porteur. Pour OAuth et les autres paramètres d'authentification, consultez la section Paramètres de connexion HTTP.

Pour REST ou la CLI, enregistrez cette requête sous connection.json, en remplaçant l'URL et le jeton par les valeurs de votre serveur. Conservez ce fichier d'identifiants hors du contrôle de code source.

JSON
{
"name": "my_connection",
"parent": "schemas/main.default",
"connection_type": "HTTP",
"options": {
"host": "https://mcp.example.com",
"port": "443",
"base_path": "/mcp",
"bearer_token": "<mcp-server-token>"
}
}

Envoyez la requête à l'API Connections:

Bash
databricks api post /api/2.1/unity-catalog/connections --json @connection.json

Le nom complet de la connexion est main.default.my_connection. Référencez-le en tant que connections/main.default.my_connection lors de la création du MCP ci-dessous. Si la connexion existe déjà, utilisez son nom et passez cette étape.

Créer un MCP​

Le MCP fait référence à une connexion HTTP existante. Pour limiter les outils qu'il expose, configurez la sélection d'outils.

Envoyez un POST à /api/2.1/unity-catalog/mcp-services, en transmettant parent et mcp_service_id en tant que query parameters. config.source_connection.name identifie la connexion HTTP Unity Catalog au serveur MCP. Définissez include_tool_selectors pour restreindre les outils, ou omettez-le pour exposer tous les outils. Consultez Choisir les outils disponibles.

Bash
databricks api post \
"/api/2.1/unity-catalog/mcp-services?parent=schemas/main.default&mcp_service_id=my_mcp" \
--json '{
"comment": "External MCP server",
"config": {
"source_connection": {
"name": "connections/main.default.my_connection"
}
}
}'

Rechercher un MCP​

Répertoriez les MCP accessibles dans un schéma, puis obtenez la configuration d'un MCP par son nom de ressource. Pour les MCP intégrés, utilisez schemas/system.ai comme parent.

Bash
databricks api get \
"/api/2.1/unity-catalog/mcp-services?parent=schemas/main.default&view=FULL"

databricks api get "/api/2.1/unity-catalog/mcp-services/main.default.my_mcp"

Lorsque la réponse de la liste inclut next_page_token, transmettez-la en tant que page_token dans la requête suivante. Continuer jusqu’à ce que next_page_token soit absent ou vide.

Par default, les réponses de la liste utilisent la vue BASIC, ce qui omet les détails de la connexion source et les noms des principaux de limite de débit. Utilisez FULL pour inclure ces champs. Le CLI et l’itérateur Python gèrent la pagination pour vous.

Accorder l’accès​

Ces exemples accordent EXECUTE sur le MCP. Pour connaître l'ensemble des conditions d'accès, y compris les autorisations parentes, consultez Partager un MCP.

Bash
databricks api patch \
"/api/2.1/unity-catalog/permissions/mcp_service/main.default.my_mcp" \
--json '{
"changes": [
{ "principal": "data-team", "add": ["EXECUTE"] }
]
}'

Gérer la connexion du fournisseur​

Pour les MCP qui utilisent OAuth par utilisateur, chaque appelant se connecte auprès du fournisseur externe. Pour une connexion interactive, suivez la configuration des services externes.

Les APIs d'identifiants sont en version bêta. Pour les intégrer à votre propre flux OAuth :

  1. Créez les identifiants de l'appelant avec les champs d'échange OAuth : authorization_code, pkce_verifier et oauth_redirect_uri.
  2. Vérifiez l’état des identifiants. provisioning_info.state doit être ACTIVE pour que l’identifiant puisse être utilisé. NOT_FOUND signifie que l’appelant ne dispose d’aucun identifiant pour le moment.
  3. Pour vous déconnecter, supprimez l’identifiant de l’appelant.

Ces opérations gèrent les informations d’identification de l’utilisateur à l’origine de l’appel. L’appelant a besoin d’un accès au MCP.

Update an MCP​

Ces exemples mettent à jour le commentaire MCP. Le nom du MCP ne peut pas être modifié.

Définissez update_mask sur les champs que vous souhaitez modifier, tels que comment, config.source_connection.name, config.include_tool_selectors ou config.rate_limits. L'utilisation de config remplace l'ensemble de la configuration et efface les champs optionnels omis. Lors de la modification de la connexion, le propriétaire MCP a également besoin de USE CONNECTION sur la nouvelle connexion.

Pour une mise à jour conditionnelle, récupérez d'abord le MCP et transmettez son etag avec la mise à jour. La mise à jour ne réussit que si le MCP n’a pas changé depuis cette lecture. Encodez l'URL pour le etag lors de son ajout à une query string REST.

Bash
databricks api patch \
"/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=comment" \
--json '{"comment": "Updated: governs an MCP server"}'

Exemple : mettre à jour la sélection d'outils​

Pour n'exposer que les outils dont les noms start par get_:

Bash
databricks api patch \
"/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=config.include_tool_selectors" \
--json '{
"config": {
"include_tool_selectors": ["get_*"]
}
}'

Une liste include_tool_selectors vide expose tous les outils. Consultez la section Choose available tools pour connaître les étapes de l'interface utilisateur.

Supprimer un MCP​

Ne supprimez que le MCP que vous avez l’intention de retirer. Les clients configurés avec son URL ne peuvent plus l’appeler.

Vous pouvez également transmettre le etag actuel du protocole MCP pour que la suppression dépende de sa non-modification depuis la dernière lecture. Encoder au format URL le paramètre etag dans les query strings REST.

Bash
databricks api delete "/api/2.1/unity-catalog/mcp-services/main.default.my_mcp"

Ressources supplémentaires​