Pular para o conteúdo principal

Usar servidores MCP em Agentes personalizados

info

Visualização

Esse recurso está em Pré-lançamento público.

Conecte seu código de agente a qualquer servidor MCP no Databricks: servidores gerenciados pelo Databricks, servidores MCP externos registrados como Serviços MCP e servidores personalizados hospedados como aplicativos Databricks. Todos eles expõem a mesma interface MCP, portanto, o código do agente é o mesmo. O que difere é a URL do servidor e como você se autentica .

A biblioteca Python databricks-mcp lida com a autenticação em servidores MCP do Databricks, portanto, o mesmo código de cliente funciona em todos os três tipos de servidor.

Obtenha a URL do seu servidor

Configure o servidor MCP primeiro e, em seguida, use seu URL nos exemplos a seguir:

Tipo de servidor

Padrão de URL

Configuração

Gerenciadas

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

Servidores gerenciados disponíveis

Externo (serviço MCP)

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

Conecte agentes a ferramentas de terceiros com Serviços MCP

Personalizada

https://<app-url>/mcp

Hospede seu próprio servidor MCP

Tipo de servidor

Padrão de URL

Configuração

Gerenciadas

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

Servidores gerenciados disponíveis

Externo (serviço MCP)

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

Conecte agentes a ferramentas de terceiros com Serviços MCP

Personalizada

https://<app-url>/mcp

Hospede seu próprio servidor MCP

Configure seu ambiente

  1. Use OAuth para autenticar no seu workspace:

    Bash
    databricks auth login --host https://<workspace-hostname>
  2. Quando solicitado, insira um nome de perfil e anote-o para uso posterior. O nome do perfil default é DEFAULT.

  3. Verifique se você possui um ambiente local com Python 3.12 ou acima e, em seguida, instale as dependências:

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

Conectar e listar ferramentas

Crie um DatabricksMCPClient com a URL do servidor e liste suas ferramentas. O mesmo cliente funciona para URLs de servidor gerenciadas, externas (Serviço MCP) e personalizadas:

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

Para chamar uma ferramenta diretamente:

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

Serverless compute deve estar habilitado em seu workspace para a execução de ferramentas system.ai gerenciadas.

Autenticar

Selecione o método de autenticação que corresponde ao local de execução do seu agente. Para um serviço MCP externo, o chamador também deve ter EXECUTE no serviço. O Gateway de AI aplica essa permissão em cada chamada.

Autentique-se no seu workspace com OAuth (consulte Configurar seu ambiente) e passe o perfil para o cliente:

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

Criar um agente

Use uma estrutura de agente para transformar as ferramentas do servidor MCP em um agente. Aponte o framework para a URL do servidor e passe seu WorkspaceClient autenticado.

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())

Notebooks de exemplo

Os seguintes Notebooks mostram como criar agentes LangGraph e OpenAI que chamam ferramentas MCP em servidores MCP gerenciados, externos e personalizados:

Agente de chamada de ferramentas LangGraph MCP

Agente de chamada de ferramenta OpenAI MCP

Agente de chamada de ferramenta MCP do SDK de agentes

Implante seu agente

O Databricks recomenda implantar agentes no Databricks Apps, o que permite gerenciar totalmente o código do agente, a configuração do servidor e o versionamento baseado em git. Alternativamente, implante no Model Serving.

Independentemente do que você selecionar, conceda ao agente acesso a todos os recursos dos quais seus servidores MCP dependem. Por exemplo, CAN_RUN em um Genie Agent ou SELECT em um Índice de Pesquisa de AI.

Declare cada recurso que seu agente usa, incluindo os recursos por trás de cada servidor MCP, em resources.apps.<app>.resources no databricks.yml, e então faça o deploy do pacote para conceder acesso ao service principal do Databricks do aplicativo. Por exemplo, para um agente que usa os servidores gerenciados Genie e 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

Para o fluxo de trabalho completo de criação e implantação, consulte Criar um agente e implantá-lo nos Databricks Apps. Para todos os tipos de recurso e valores de permissão, consulte Autenticação para agentes.

Próximos passos