Compartir a través de


Uso de servidores MCP externos

Importante

Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administración de versiones preliminares de Azure Databricks.

Conecte Databricks a servidores externos del Protocolo de contexto de modelo (MCP) para conceder a los agentes acceso a una gama más amplia de herramientas hospedadas fuera de Databricks. Los servidores MCP externos son servidores MCP de terceros hospedados fuera de Databricks a los que se conecta a través de servidores proxy administrados por Databricks.

Autenticación y seguridad

Databricks usa servidores proxy de MCP administrados y conexiones HTTP del catálogo de Unity para controlar de forma segura la autenticación en el área de trabajo:

  • Administración segura de tokens: Databricks controla automáticamente todos los flujos de OAuth y la actualización de tokens.
  • Sin credenciales expuestas: los tokens nunca se exponen a los usuarios finales
  • Autenticación centralizada: patrones de autenticación coherentes mediante conexiones de Catálogo de Unity

Requisitos

Instalación de un servidor MCP externo

Tiene tres opciones para instalar servidores MCP externos para usarlos con los agentes. Todos los métodos crean una conexión de Catálogo de Unity que permite el acceso seguro y autenticado al servidor MCP.

Elija el método de instalación en función del servidor MCP:

Desde el Marketplace de Databricks

Importante

Esta característica está en versión preliminar pública.

Instale servidores MCP mantenidos y preconfigurados directamente desde Azure Databricks Marketplace:

  1. En el área de trabajo de Azure Databricks, vaya a la pestaña Marketplace>Agentes>Servidores MCP.

  2. Busque el servidor MCP que desea instalar y haga clic en Instalar.

  3. En el cuadro de diálogo de instalación, configure la conexión:

    • Nombre de conexión: escriba un nombre para la conexión del catálogo de Unity (por ejemplo, github_connection).
    • Host: El dominio de host se rellena previamente para los servidores seleccionados.
    • Ruta de acceso base: la ruta de acceso base se rellena previamente para los servidores curados.

    Credenciales: escriba las credenciales de autenticación. Los campos obligatorios dependen del tipo de credencial del servidor:

    • Para la autenticación con bearer token: proporcione el bearer token.
    • Para la autenticación OAuth U2M: proporcione el identificador de cliente y el secreto de cliente.

    Consulte la documentación del proveedor de servidores MCP para obtener instrucciones sobre cómo obtener estas credenciales.

  4. Haga clic en Instalar para crear la conexión.

Para obtener más información sobre la instalación de Marketplace, consulte Obtener acceso a servidores MCP externos.

Conexión HTTP personalizada

Cree una conexión HTTP del catálogo de Unity para instalar cualquier servidor MCP, incluidos los servidores autohospedados o de terceros que no estén disponibles en Marketplace.

  1. Cree una conexión HTTP. Consulte Conexión HTTP.

  2. Al crear la conexión HTTP, active la casilla Es conexión MCP para habilitar la funcionalidad de MCP.

  3. Compruebe que la dirección URL de conexión apunta a un punto de conexión de servidor MCP válido.

Registro de cliente dinámico (experimental)

Importante

Esta característica está en versión preliminar pública.

Use el registro dinámico de cliente (DCR) para registrar e instalar automáticamente servidores MCP que admitan DCR de OAuth 2.0 (RFC7591).

DCR controla automáticamente la detección de OAuth, el registro de cliente y la creación de conexiones del catálogo de Unity sin necesidad de configuración manual de credenciales.

Para usar DCR, debe cumplir los siguientes requisitos:

  • El servidor MCP debe admitir la autorización DCR y OAuth 2.0.
  • El servidor MCP debe exponer puntos de conexión de metadatos de OAuth.
  1. Instale o actualice el databricks-mcp paquete para obtener la versión más reciente:

    %pip install -U databricks-mcp
    %restart_python
    
  2. Utilice la función de registro de DCR para crear una conexión de Unity Catalog.

    from databricks.sdk import WorkspaceClient
    from databricks_mcp import register_mcp_server_via_dcr
    
    # Initialize workspace client
    workspace_client = WorkspaceClient()
    
    # Register MCP server via DCR
    connection_url = register_mcp_server_via_dcr(
        connection_name="my_mcp_server",
        mcp_url="https://mcp.example.com/api",
        workspace_client=workspace_client
    )
    
    print(f"Connection created: {connection_url}")
    

Después de completar cualquier método de instalación:

  • Se crea una conexión con Catálogo de Unity utilizando la información de su servidor MCP.

  • Azure Databricks aprovisiona un punto de conexión de proxy administrado que controla de forma segura la autenticación y la administración de tokens.

  • El servidor MCP está disponible en AI Playground y se puede usar mediante programación en los agentes.

  • Puede conceder a otros usuarios acceso a la conexión a través de permisos de Catálogo de Unity.

  • La dirección URL del punto de conexión de proxy sigue este formato:

    https://<workspace-hostname>/api/2.0/mcp/external/{connection_name}
    

Para ver el servidor MCP, vaya al área de trabajo >Agentes>MCP Servers

Pestaña del servidor MCP Agents

Uso compartido de la conexión del servidor MCP

Conceda USE CONNECTION privilegios a los principales de identidad que necesitan usar la conexión al servidor MCP:

  1. En su área de trabajo, vaya a Catálogo>Conexiones> Sus > de conexión.
  2. Otorgue a las identidades el acceso adecuado a la conexión del catálogo de Unity.

Prueba de servidores MCP con AI Playground

Pruebe los servidores MCP directamente en AI Playground sin escribir ningún código:

  1. Vaya a AI Playground en el área de trabajo de Databricks.

  2. Elija un modelo con la etiqueta Herramientas habilitada .

  3. Haga clic en Herramientas > + Agregar herramienta y seleccione Servidores MCP en las opciones de herramientas disponibles.

  4. En la sección Servidores MCP , seleccione Servidores MCP externos para examinar las conexiones disponibles.

  5. Elija la conexión de Catálogo de Unity que instaló anteriormente (por ejemplo, github_connection).

  6. Chatear con LLM para probar cómo interactúa con sus herramientas de servidor MCP. AI Playground detecta automáticamente las herramientas disponibles del servidor MCP y las pone a disposición del LLM.

Esto le permite crear rápidamente prototipos y probar integraciones de servidor MCP antes de compilar agentes completos o implementar en producción.

Uso de servidores MCP mediante programación

Después de instalar un servidor MCP, úselo mediante programación en el código del agente mediante la conexión a la dirección URL del proxy. El proxy de Databricks hace que los servidores externos se comporten como servidores MCP administrados, controlando la autenticación y la administración de tokens.

Cliente MCP de Databricks

El enfoque recomendado trata los servidores MCP externos como servidores gestionados por Databricks agregando el punto de conexión de proxy a la lista MANAGED_MCP_SERVER_URLS.

from databricks.sdk import WorkspaceClient
from databricks_mcp import DatabricksMCPClient

# Initialize workspace client
workspace_client = WorkspaceClient()
host = workspace_client.config.host

# External MCP servers are proxied as managed servers, allowing you
# to use the same API for both managed and external servers
MANAGED_MCP_SERVER_URLS = [
    f"{host}/api/2.0/mcp/functions/system/ai",  # Default managed MCP
    f"{host}/api/2.0/mcp/external/github_connection"  # External MCP proxy
]

Para usar el servidor MCP en un agente, pase la dirección URL del proxy al managed_server_urls parámetro :

# Use with agents - external servers work just like managed ones
import asyncio
from your_agent_code import create_mcp_tools  # Your agent's tool creation function

# Create tools from both managed and external (proxied) servers
mcp_tools = asyncio.run(
    create_mcp_tools(
        ws=workspace_client,
        managed_server_urls=MANAGED_MCP_SERVER_URLS
    )
)

También puede llamar a la herramienta directamente mediante el cliente MCP de Databricks:

# Direct tool call using DatabricksMCPClient
mcp_client = DatabricksMCPClient(
    server_url=f"{host}/api/2.0/mcp/external/github_connection",
    workspace_client=workspace_client
)

# List available tools
tools = mcp_client.list_tools()
print(f"Available tools: {[tool.name for tool in tools]}")

# Call a tool
response = mcp_client.call_tool(
    "list_commits",
    {"owner": "mlflow", "repo": "mlflow", "sha": "master"}
)
print(response.content[0].text)

SDK de MCP estándar

Conéctese a servidores MCP mediante el SDK de MCP estándar con async/await:

%pip install -U databricks-sdk databricks_mcp tabulate databricks_ai_bridge
%restart_python

import json
from databricks.sdk import WorkspaceClient
from databricks_mcp import DatabricksOAuthClientProvider
from databricks.sdk.credentials_provider import ModelServingUserCredentials
from mcp.client.streamable_http import streamablehttp_client as connect
from mcp import ClientSession
from tabulate import tabulate


async def main():
    app_url = "https://<workspace-hostname>/api/2.0/mcp/external/github_connection"
    client = WorkspaceClient()

    async with connect(app_url, auth=DatabricksOAuthClientProvider(client)) as (
        read_stream,
        write_stream,
        _,
    ):
        async with ClientSession(read_stream, write_stream) as session:
            init = await session.initialize()
            print(json.dumps(init.model_dump(), indent=2))
            tools = await session.list_tools()
            print(json.dumps(tools.model_dump(), indent=2))

            arguments = {
                "owner": "mlflow",
                "repo": "mlflow",
                "sha": "master"
            }
            response = await session.call_tool(name="list_commits", arguments=arguments)

            data = json.loads(response.content[0].text)
            rows = []
            for commit in data:
                author = commit.get("commit", {}).get("author", {}).get("name")
                message = commit.get("commit", {}).get("message", "").split("\n")[0]
                html_url = commit.get("html_url", "")
                rows.append([author, message, html_url])

            # Print as table
            print(tabulate(rows, headers=["Author", "Message", "Commit URL"], tablefmt="github"))

await main()

Cuadernos de ejemplo: Compilación de un agente con servidores MCP de Databricks

En los cuadernos siguientes se muestra cómo crear agentes langGraph y OpenAI que llaman a herramientas de MCP, incluidos los servidores MCP externos a los que se accede a través de puntos de conexión de proxy de Databricks.

Agente de llamada a herramientas MCP de LangGraph

Obtener el cuaderno

Agente de llamada a herramientas de MCP de OpenAI

Obtener el cuaderno

Limitaciones

  • No se admite la conectividad privada a los recursos de tu VPC utilizando Private Link. Póngase en contacto con el equipo de soporte técnico si necesita esta funcionalidad.

Pasos siguientes