Compartilhar via


Hospedar servidores MCP personalizados usando aplicativos do Databricks

Hospede seus próprios servidores MCP personalizados ou de terceiros como aplicativos do Databricks. Os servidores MCP personalizados serão úteis se você já tiver um servidor MCP que deseja implantar ou se quiser executar um servidor MCP de terceiros como uma fonte de ferramentas.

Requirements

Hospedar um servidor MCP como um aplicativo do Databricks

Consulte o GitHub – modelo de servidor MCP personalizado para obter um exemplo de como escrever seu próprio servidor MCP e implantá-lo como um aplicativo do Databricks.

Para hospedar um servidor MCP python existente como um aplicativo databricks, siga estas etapas:

Configure seu ambiente

Antes de implantar o servidor MCP, autentique-se no espaço de trabalho usando OAuth.

  1. Execute o seguinte em um terminal local:

    databricks auth login --host https://<your-workspace-hostname>
    

Configurar o servidor MCP

Use uv para gerenciamento de dependência e ferramentas unificadas ao implantar seu servidor MCP.

  1. Adicione um requirements.txt ao diretório raiz do servidor MCP e inclua uv como uma dependência.

    Quando você adiciona uv a requirements.txt, ele lida com a instalação de dependências adicionais definidas na configuração do projeto.

    uv
    
    
  2. Crie um pyproject.toml arquivo que defina um ponto de entrada de script para o servidor.

    Exemplo pyproject.toml:

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

    Neste exemplo:

    • custom-server é o nome do script que você utiliza com uv run
    • server.main:main especifica o caminho do módulo (server/main.py) e a função (main) a serem executadas
  3. Adicione um app.yaml arquivo especificando o comando da CLI para executar o servidor MCP usando uv run.

    Por padrão, os aplicativos do Databricks escutam na porta 8000. Se o servidor escutar em uma porta diferente, defina-o usando uma substituição de variável de ambiente no app.yaml arquivo.

    Exemplo app.yaml:

    command: [
        'uv',
        'run',
        'custom-server', # This must match a script defined in pyproject.toml
      ]
    

Quando você executa uv run custom-server, o uv pesquisa a definição de script, localiza o caminho do módulo e chama a main() função.

Implantar o servidor MCP como um aplicativo do Databricks

  1. Crie um aplicativo do Databricks para hospedar o servidor MCP:

    databricks apps create custom-mcp-server
    
  2. Carregue o código-fonte no Databricks e implante o aplicativo executando os seguintes comandos do diretório que contém o app.yaml arquivo:

    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"
    

Localizar a URL do aplicativo implantado

Após a implantação, você pode encontrar a URL do aplicativo na interface do usuário do Databricks. O ponto de extremidade do servidor MCP está disponível em https://<app-url>/mcp.

Conectar-se ao servidor MCP personalizado

Clique nas guias para ver como se conectar a um servidor MCP de vários ambientes.

Ambiente local

Autentique-se no workspace usando o OAuth, conforme descrito em Configurar seu ambiente.

O exemplo a seguir mostra como se conectar ao servidor MCP personalizado e listar as ferramentas disponíveis:

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 (entidade de serviço)

Use uma entidade de serviço para acessar o aplicativo Databricks hospedado em um notebook do 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}")

Código do agente (em nome do usuário)

Configure a autorização em nome do usuário. Consulte autenticação em nome de usuário.

O exemplo a seguir mostra como habilitar o acesso em nome de um usuário usando ModelServingUserCredentials para acessar o aplicativo Databricks hospedado a partir de um agente:

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}")

Registre o modelo de agente usando o escopo apps.apps. Consulte autenticação em nome de usuário.

Código do agente (principal de serviço)

Habilite a autenticação de sistema usando o principal de serviço para acessar de um agente o aplicativo Databricks hospedado.

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}")

Registre o modelo de agente usando DatabricksApps como um recurso. Confira a passagem de autenticação automática.

Notebooks de exemplo: construir um agente com servidores MCP do Databricks

Os blocos de anotações a seguir mostram como criar agentes LangGraph e OpenAI que chamam ferramentas MCP com servidores MCP personalizados hospedados em aplicativos no Databricks.

Agente de chamada de ferramentas do LANGGraph MCP

Obter laptop

Agente de chamada de ferramentas do OPENAI MCP

Obter laptop

Recursos adicionais

O guia de receitas de aplicativos fornece exemplos de código de ponta a ponta para integrar servidores MCP a estruturas diferentes:

Para obter o código-fonte completo e exemplos adicionais, consulte o repositório do Livro de Receitas de Aplicativos do Databricks.