Aller au contenu principal

Héberger votre propre serveur MCP

Hébergez 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 comme source d’outils.

L’accès aux serveurs MCP personnalisés est contrôlé via les autorisations Databricks Apps. Pour surveiller l’activité MCP personnalisée parallèlement à vos autres serveurs MCP et Endpoint LLM, utilisez Unity AI Gateway. [[ ## completed ##]]

Pour utiliser un serveur MCP personnalisé hébergé dans le code d’agent, consultez Utiliser des serveurs MCP dans des 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 diffusable.

Créer un serveur MCP personnalisé à partir du template Apps

Utilisez le template intégré Hello World MCP Server pour créer et déployer un serveur MCP avec des outils d’exemple déjà inclus :

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

  2. Cliquez sur le tab Apps .

  3. Cliquez sur Créer une application .

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

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

remarque

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

  1. Cliquez sur Créer une application .

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

Le Template inclut deux outils d’exemple pour vous aider à start :

  • health() : un outil de diagnostic qui confirme que le serveur est opérationnel et renvoie des informations sur le statut.
  • get_current_user() : un outil qui récupère les informations de l’utilisateur actuel à l’aide du Databricks SDK, démontrant comment intégrer l’authentification au workspace.

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 décorateur @mcp.tool(). Par exemple, l’outil suivant convertit une chaîne en majuscules :

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

Chaque outil doit inclure une docstring. 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.

Consultez Créer une application à partir d’un Template pour plus de détails sur l’utilisation des Template d’application, ou consultez le code source du Template 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, suivez ces étapes :

Configurez votre environnement

Avant de déployer votre serveur MCP, authentifiez-vous sur votre Workspace à l’aide d’OAuth.

  1. Exécutez la commande suivante dans un terminal local :

    Bash
    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 uv en tant que dépendance.

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

    Txt
    uv

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

    Exemple pyproject.toml:

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

    Dans cet exemple :

    • custom-server est le nom du script que vous utilisez avec uv run
    • server.main:main spécifie le chemin 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 à l'aide de uv run.

    Par default, les applications Databricks écoutent sur le port 8000. Si le serveur écoute sur un port différent, définissez-le à l'aide d'une substitution de variable d'environnement dans le fichier app.yaml.

    Exemple app.yaml:

    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, trouve le chemin d'accès du module et appelle la fonction main().

Déployer le serveur MCP en tant qu’application Databricks

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

    Bash
    databricks apps create mcp-my-server
remarque

Faites précéder le nom de votre application par mcp- pour l’identifier clairement comme un serveur MCP. Cette convention de nommage facilite la découvrabilité et l’organisation dans votre Workspace.

  1. Effectuez l’upload du code source vers Databricks et déployez l’application en exécutant les commandes suivantes depuis le répertoire contenant votre fichier app.yaml :

    Bash
    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"

Trouver l’URL de votre application déployée

Après le déploiement, vous trouverez l'URL de votre application dans l'interface utilisateur de Databricks. L'endpoint du serveur MCP est disponible à l'adresse https://<app-url>/mcp.

Tarifs

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

Ressources supplémentaires