Héberger votre propre serveur MCP

Héberger des 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.

L’accès aux serveurs MCP personnalisés est contrôlé par le biais des autorisations Databricks Apps. Pour surveiller l’activité MCP personnalisée en parallèle de vos autres serveurs MCP et terminaux LLM, utilisez Unity Gateway.

Pour utiliser un serveur MCP personnalisé hébergé en code d’agent, voir Utiliser les serveurs MCP dans les agents personnalisés.

Exigences

  • Un serveur MCP hébergé en tant qu’application Databricks doit implémenter un transport compatible HTTP, tel que le transport HTTP streamable.

Créer un serveur MCP personnalisé à partir du modèle Applications

Utilisez le modèle de serveur MCP Hello World intégré pour créer et déployer un serveur MCP avec des exemples d’outils déjà inclus :

  1. Dans la barre latérale, cliquez sur Calcul.

  2. Cliquez sur l’onglet Applications .

  3. Cliquez sur Créer une application.

  4. Sous la catégorie Agents, sélectionnez le modèle MCP Server - Hello World.

  5. Entrez un nom d’application commençant mcp- par (par exemple, mcp-hello-world).

    Remarque

    Le nom de l'application doit commencer par mcp- pour être reconnu comme un serveur MCP dans l'AI Playground.

  6. Cliquez sur Créer une application.

Azure Databricks déploie l’application avec un exemple de code que vous pouvez personnaliser.

Le modèle comprend deux exemples d’outils pour vous aider à démarrer :

  • health(): outil de diagnostic qui confirme que le serveur est opérationnel et retourne des informations d’état.
  • get_current_user(): outil qui récupère les informations de l’utilisateur actuel à l’aide du Kit de développement logiciel (SDK) Databricks, montrant comment intégrer l’authentification de l’espace de travail.

Ajouter un outil personnalisé

Pour ajouter votre propre outil, ouvrez le code source de l’application et définissez une nouvelle fonction à l’aide du @mcp.tool() décorateur. Par exemple, l’outil suivant convertit une chaîne en majuscules :

@mcp.tool()
def uppercase(text: str) -> str:
    """Convert a string to uppercase."""
    return text.upper()

Chaque outil doit inclure un docstring (chaîne de documentation). Les agents utilisent la docstring pour comprendre quand appeler l’outil. Après avoir ajouté un outil, redéployez l’application pour la rendre disponible.

Pour plus d’informations sur l’utilisation des modèles d’application, consultez Créer une application à partir d’un modèle ou voir le code source du modèle sur GitHub.

Héberger un serveur MCP existant 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.

  1. 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.

  1. Ajoutez un requirements.txt au répertoire racine du serveur MCP et incluez-le uv en tant que dépendance.

    uv gère l’installation de dépendances supplémentaires définies dans la configuration de votre projet.

    uv
    
    
  2. Créez un fichier qui définit un pyproject.toml point d’entrée de script pour votre serveur.

    Exemple pyproject.toml:

    [project.scripts]
    custom-server = "server.main:main"
    

    Dans cet exemple :

    • custom-server est le nom de script que vous utilisez avec uv run
    • server.main:main spécifie le chemin d’accès du module (server/main.py) et la fonction (main) à exécuter
  3. Ajoutez un fichier app.yaml spécifiant la commande CLI pour exécuter le serveur MCP en utilisant uv 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

  1. Créez une application Databricks pour héberger le serveur MCP :

    databricks apps create mcp-my-server
    

    Remarque

    Préfixez le nom mcp- de votre application pour l’identifier clairement en tant que serveur MCP. Cette convention de dénomination aide à faciliter la découverte et l'organisation dans votre espace de travail.

  2. Chargez le code source dans Azure Databricks et déployez l’application en exécutant les commandes suivantes à partir du répertoire contenant votre app.yaml fichier :

    DATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName)
    databricks sync . "/Users/$DATABRICKS_USERNAME/mcp-my-server"
    databricks apps deploy mcp-my-server --source-code-path "/Workspace/Users/$DATABRICKS_USERNAME/mcp-my-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 Azure Databricks. Le point de terminaison du serveur MCP est disponible à l’adresse https://<app-url>/mcp.

Pricing

Les serveurs MCP personnalisés sont soumis aux tarifs Databricks Apps.

Ressources supplémentaires