Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Hébergez vos propres serveurs MCP personnalisés ou tiers en tant qu’applications Databricks. Les serveurs MCP personnalisés sont utiles si vous disposez déjà d’un serveur MCP que vous souhaitez déployer ou si vous souhaitez exécuter un serveur MCP tiers en tant que source d’outils.
Requirements
- Un serveur MCP hébergé en tant qu’application Databricks doit implémenter un transport compatible HTTP, tel que le transport HTTP streamable.
Héberger un serveur MCP en tant qu’application Databricks
Consultez GitHub - modèle de serveur MCP personnalisé pour obtenir un exemple d’écriture de votre propre serveur MCP et de le déployer en tant qu’application Databricks.
Pour héberger un serveur MCP Python existant en tant qu’application Databricks, procédez comme suit :
Configurer votre environnement
Avant de déployer votre serveur MCP, authentifiez-vous auprès de votre espace de travail à l’aide d’OAuth.
Exécutez ce qui suit dans un terminal local :
databricks auth login --host https://<your-workspace-hostname>
Configurer le serveur MCP
Utilisez uv pour la gestion des dépendances et les outils unifiés lors du déploiement de votre serveur MCP.
Ajoutez un
requirements.txtau répertoire racine du serveur MCP et incluez-leuven tant que dépendance.Lorsque vous ajoutez
uvà requirements.txt, il gère l’installation de dépendances supplémentaires définies dans la configuration de votre projet.uvCréez un fichier qui définit un
pyproject.tomlpoint d’entrée de script pour votre serveur.Exemple
pyproject.toml:[project.scripts] custom-server = "server.main:main"Dans cet exemple :
-
custom-serverest le nom de script que vous utilisez avecuv run -
server.main:mainspécifie le chemin d’accès du module (server/main.py) et la fonction (main) à exécuter
-
Ajoutez un fichier
app.yamlspécifiant la commande CLI pour exécuter le serveur MCP en utilisantuv run.Par défaut, les applications Databricks écoutent sur le port 8000. Si le serveur écoute sur un port différent, définissez-le à l’aide d’une modification de variable d'environnement dans le fichier
app.yaml.Exemple
app.yaml:command: [ 'uv', 'run', 'custom-server', # This must match a script defined in pyproject.toml ]
Lorsque vous exécutez uv run custom-server, uv recherche la définition du script, recherche le chemin du module et appelle la main() fonction.
Déployer le serveur MCP en tant qu’application Databricks
Créez une application Databricks pour héberger le serveur MCP :
databricks apps create custom-mcp-serverChargez le code source dans Databricks et déployez l’application en exécutant les commandes suivantes à partir du répertoire contenant votre
app.yamlfichier :DATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName) databricks sync . "/Users/$DATABRICKS_USERNAME/custom-mcp-server" databricks apps deploy custom-mcp-server --source-code-path "/Workspace/Users/$DATABRICKS_USERNAME/custom-mcp-server"
Rechercher l’URL de votre application déployée
Après le déploiement, vous trouverez l’URL de votre application dans l’interface utilisateur Databricks. Le point de terminaison du serveur MCP est disponible à l’adresse https://<app-url>/mcp.
Se connecter au serveur MCP personnalisé
Cliquez sur les onglets pour voir comment se connecter à un serveur MCP à partir de différents environnements.
Environnement local
Authentifiez-vous auprès de votre espace de travail à l’aide d’OAuth, comme décrit dans Configurer votre environnement.
L’exemple suivant montre comment se connecter au serveur MCP personnalisé et répertorier les outils disponibles :
from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient
# Replace with your deployed app URL
# Example: https://custom-mcp-server-6051921418418893.staging.aws.databricksapps.com/mcp
mcp_server_url = "https://<app-url>/mcp"
databricks_cli_profile = "DEFAULT"
workspace_client = WorkspaceClient(profile=databricks_cli_profile)
mcp_client = DatabricksMCPClient(server_url=mcp_server_url, workspace_client=workspace_client)
# List available tools
tools = mcp_client.list_tools()
print(f"Available tools: {tools}")
Notebook (principal de service)
Utilisez un "service principal" pour accéder à l'application Databricks hébergée dans un bloc-notes Databricks.
from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient
# Replace with your deployed app URL
mcp_server_url = "https://<app-url>/mcp"
workspace_client = WorkspaceClient(
host="<workspace-url>",
client_id="<client-id>",
client_secret="<client-secret>"
)
mcp_client = DatabricksMCPClient(server_url=mcp_server_url, workspace_client=workspace_client)
# List available tools
tools = mcp_client.list_tools()
print(f"Available tools: {tools}")
Code de l’agent (pour le compte de l'utilisateur)
Configurez l’autorisation au nom de l’utilisateur. Consultez l’authentification au nom de l’utilisateur.
L'exemple suivant montre comment activer l'accès représentant l'utilisateur à l'aide de ModelServingUserCredentials pour accéder à l'application Databricks hébergée depuis un agent :
from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient
from databricks.sdk.credentials_provider import ModelServingUserCredentials
# Replace with your deployed app URL
mcp_server_url = "https://app-url>/mcp"
workspace_client = WorkspaceClient(credentials_strategy=ModelServingUserCredentials())
mcp_client = DatabricksMCPClient(server_url=mcp_server_url, workspace_client=workspace_client)
# List available tools
tools = mcp_client.list_tools()
print(f"Available tools: {tools}")
Enregistrer le modèle d’agent à l’aide de l’étendue apps.apps. Consultez l’authentification au nom de l’utilisateur.
Code de l’agent (principal de service)
Activez l’authentification système à l’aide du principal de service pour accéder à l’application Databricks hébergée à partir d’un agent :
from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient
# Replace with your deployed app URL
mcp_server_url = "https://<app-url>/mcp"
workspace_client = WorkspaceClient()
mcp_client = DatabricksMCPClient(server_url=mcp_server_url, workspace_client=workspace_client)
# List available tools
tools = mcp_client.list_tools()
print(f"Available tools: {tools}")
Enregistrer le modèle d'agent en utilisant DatabricksApps comme ressource. Consultez Transfert direct d’authentification automatique.
Exemples de notebooks : Créer un agent avec des serveurs Databricks MCP
Les notebooks suivants montrent comment créer des agents LangGraph et OpenAI qui appellent des outils MCP avec des serveurs MCP personnalisés hébergés sur des applications de Databricks.
Agent d’appel d’outils MCP LangGraph
Obtenir un ordinateur portable
Agent d’appel d’outils OPENAI MCP
Obtenir un ordinateur portable
Ressources supplémentaires
Le livre de recettes des applications fournit des exemples de code de bout en bout pour intégrer des serveurs MCP à différents frameworks :
Pour obtenir du code source complet et des exemples supplémentaires, consultez le référentiel de livre de recettes Databricks Apps.