Aller au contenu principal

Utiliser des serveurs MCP dans des agents personnalisés

info

Aperçu

Cette fonctionnalité est en Aperçu public.

Connectez le code de votre agent à n'importe quel serveur MCP sur Databricks : serveurs gérés par Databricks, serveurs MCP externes enregistrés en tant que services MCP et serveurs personnalisés hébergés en tant qu'applications Databricks. Ils exposent tous la même interface MCP, le code de l'agent est donc identique. Ce qui diffère, c'est l' URL du serveur et la manière dont vous vous authentifiez .

La bibliothèque Python databricks-mcp gère l'authentification auprès des serveurs MCP Databricks, de sorte que le même code client fonctionne sur les trois types de serveurs.

Obtenez l’URL de votre serveur

Configurez d’abord le serveur MCP, puis utilisez son URL dans les exemples suivants :

Type de serveur

Modèle d’URL

Installer

Géré

https://<workspace-hostname>/api/2.0/mcp/<service>/<path>

Serveurs gérés disponibles

Externe (service MCP)

https://<workspace-hostname>/ai-gateway/mcp-services/<catalog>.<schema>.<mcp-service>

Connectez les agents à des outils tiers avec les services MCP

Personnalisé

https://<app-url>/mcp

Hébergez votre propre serveur MCP

Type de serveur

Modèle d’URL

Installer

Géré

https://<workspace-hostname>/api/2.0/mcp/<service>/<path>

Serveurs gérés disponibles

Externe (service MCP)

https://<workspace-hostname>/ai-gateway/mcp-services/<catalog>.<schema>.<mcp-service>

Connectez les agents à des outils tiers avec les services MCP

Personnalisé

https://<app-url>/mcp

Hébergez votre propre serveur MCP

Configurez votre environnement

  1. Utilisez OAuth pour vous authentifier sur votre workspace :

    Bash
    databricks auth login --host https://<workspace-hostname>
  2. Lorsque vous y êtes invité, saisissez un nom de profil et notez-le pour plus tard. Le nom de profil default est DEFAULT.

  3. Vérifiez que vous disposez d’un environnement local avec Python 3.12 ou version ultérieure, puis installez les dépendances :

    Bash
    pip install -U "mcp>=1.9" "databricks-sdk[openai]" "mlflow>=3.1.0" "databricks-agents>=1.0.0" "databricks-mcp"

Connecter et lister les outils

Créez un DatabricksMCPClient avec l'URL du serveur et listez ses outils. Le même client fonctionne pour les URL de serveurs gérés, externes (service MCP) et personnalisés :

Python
from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient

workspace_client = WorkspaceClient(profile="DEFAULT")
host = workspace_client.config.host

# Use a managed, MCP Service, or custom server URL:
mcp_server_url = f"{host}/api/2.0/mcp/functions/system/ai"

mcp_client = DatabricksMCPClient(server_url=mcp_server_url, workspace_client=workspace_client)
tools = mcp_client.list_tools()
print(f"Available tools: {[t.name for t in tools]}")

Pour appeler un outil directement :

Python
result = mcp_client.call_tool("system__ai__python_exec", {"code": "print('Hello, world!')"})
print(result.content)
remarque

Le compute serverless doit être activé dans votre workspace pour exécuter des outils system.ai gérés.

S’authentifier

Sélectionnez la méthode d’authentification qui correspond à l’emplacement où votre agent s’exécute. Pour un service MCP externe, l’appelant doit également disposer de EXECUTE sur le service. AI Gateway applique cette autorisation à chaque appel.

Authentifiez-vous sur votre workspace avec OAuth (voir Configurer votre environnement) et transmettez le profil au client :

Python
workspace_client = WorkspaceClient(profile="DEFAULT")
mcp_client = DatabricksMCPClient(server_url=mcp_server_url, workspace_client=workspace_client)

Créer un agent

Utilisez un framework d'agent pour transformer les outils du serveur MCP en agent. Pointez le framework vers l'URL du serveur et transmettez votre WorkspaceClient authentifié.

Python
import asyncio
from agents import Agent, Runner
from databricks.sdk import WorkspaceClient
from databricks_openai.agents import McpServer


async def main():
workspace_client = WorkspaceClient()
host = workspace_client.config.host

async with McpServer(
url=f"{host}/ai-gateway/mcp-services/main.default.github_mcp",
name="github-mcp",
workspace_client=workspace_client,
) as mcp_server:
agent = Agent(
name="Local agent",
instructions="You are a helpful assistant with access to external services.",
model="databricks-claude-sonnet-4-5",
mcp_servers=[mcp_server],
)
result = await Runner.run(agent, "List my open GitHub pull requests.")
print(result.final_output)


asyncio.run(main())

Exemples de notebooks

Les notebooks suivants montrent comment créer des agents LangGraph et OpenAI qui appellent des outils MCP sur des serveurs MCP gérés, externes et personnalisés :

Agent d'appel d'outils LangGraph MCP

Agent d'appel d'outils OpenAI MCP

Agent d'appel d'outils MCP du SDK Agents

Déployez votre agent

Databricks recommande de déployer les agents sur Databricks Apps, ce qui vous permet de gérer entièrement le code de l'agent, la configuration du serveur et le versioning basé sur Git. Alternativement, déployez sur Model Serving.

Quel que soit votre choix, accordez à l'agent l'accès à toutes les ressources dont dépendent ses serveurs MCP. Par exemple, CAN_RUN sur un Genie Agent ou SELECT sur un index de recherche IA.

Déclarez chaque ressource utilisée par votre agent, y compris les ressources derrière chaque serveur MCP, sous resources.apps.<app>.resources dans databricks.yml, puis déployez le bundle pour accorder l’accès au Service Principal Databricks de l’application. Par exemple, pour un agent qui utilise les serveurs gérés Genie et AI Search :

YAML
resources:
apps:
my_agent_app:
name: 'my-agent-app'
source_code_path: ./
resources:
- name: 'llm'
serving_endpoint:
name: 'databricks-claude-sonnet-4-5'
permission: 'CAN_QUERY'
- name: 'genie_space'
genie_space:
space_id: '<genie-space-id>'
permission: 'CAN_RUN'
- name: 'vector_index'
uc_securable:
securable_full_name: '<catalog>.<schema>.<index-name>'
securable_type: 'TABLE'
permission: 'SELECT'
Bash
databricks bundle deploy
databricks bundle run my_agent_app

Pour le workflow complet de création et de déploiement, consultez Créer un agent et le déployer sur Databricks Apps. Pour tous les types de ressources et les valeurs d’autorisation, consultez Authentification des agents.

Étapes suivantes