Hospede servidores MCP personalizados utilizando aplicativos Databricks.
Hospede seus próprios servidores MCP personalizados ou de terceiros como aplicativos Databricks. Os servidores MCP personalizados são úteis se você já possui um servidor MCP que deseja implantar ou se deseja executar um servidor MCP de terceiros como fonte de ferramentas.
Requisitos
- Um servidor MCP hospedado como um aplicativo Databricks deve implementar um transporte compatível com HTTP, como o transporte HTTP transmissível.
Hospede um servidor MCP como um aplicativo Databricks
Consulte GitHub - custom MCP server padrão para ver um exemplo de como escrever seu próprio servidor MCP e implantá-lo como um aplicativo Databricks .
Para hospedar um servidor Python MCP existente como um aplicativo Databricks, siga estas etapas:
Configure seu ambiente
Antes de instalar seu servidor MCP, autentique-se em seu workspace usando OAuth.
-
execute o seguinte em um terminal local:
Bashdatabricks auth login --host https://<your-workspace-hostname>
Configurar o servidor MCP
Utilize o uv para gerenciamento de dependências e ferramentas unificadas ao implantar seu servidor MCP.
-
Adicione um
requirements.txtao diretório raiz do servidor MCP e incluauvcomo uma dependência.Ao adicionar
uvao requirements.txt, você instala as dependências adicionais definidas na configuração do seu projeto.Txtuv -
Crie um arquivo
pyproject.tomlque defina um ponto de entrada de script para o seu servidor.Exemplo
pyproject.toml:Toml[project.scripts]
custom-server = "server.main:main"Neste exemplo:
custom-serveré o nome do script que você usa comuv runserver.main:mainEspecifica o caminho do módulo (server/main.py) e a função (main) a serem executados.
-
Adicione um arquivo
app.yamlespecificando o comando CLI para execução no servidor MCP usandouv run.Por default, os aplicativos Databricks escutam na porta 8000. Se o servidor escutar em uma porta diferente, defina-a usando uma substituição de variável de ambiente no arquivo
app.yaml.Exemplo
app.yaml:YAMLcommand: [
'uv',
'run',
'custom-server', # This must match a script defined in pyproject.toml
]
Quando você executa uv run custom-server, uv procura a definição do script, encontra o caminho do módulo e chama a função main() .
implantou o servidor MCP como um aplicativo Databricks
-
Crie um aplicativo Databricks para hospedar o servidor MCP:
Bashdatabricks apps create custom-mcp-server -
Envie o código-fonte para Databricks e implante o aplicativo executando o seguinte comando a partir do diretório que contém o seu arquivo
app.yaml:BashDATABRICKS_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"
Encontre o URL do seu aplicativo implantado
Após a implantação, você poderá encontrar o URL do seu aplicativo na interface do usuário do Databricks. O endpoint do servidor MCP está disponível em https://<app-url>/mcp.
Conecte-se ao servidor MCP personalizado
Clique na guia para ver como se conectar a um servidor MCP a partir de vários ambientes.
- Local environment
- Notebook (service principal)
- Agent code (on-behalf-of-user)
- Agent code (service principal)
Autentique-se no seu workspace usando 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}")
Utilize uma entidade de serviço para acessar o aplicativo hospedado Databricks 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}")
Configure a autorização em nome do usuário. Consulte Autenticação em nome do usuário.
O exemplo a seguir mostra como habilitar o acesso em nome do usuário usando ModelServingUserCredentials para acessar o aplicativo Databricks hospedado 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 do agente usando o escopo apps.apps. Consulte Autenticação em nome do usuário.
Habilite a autenticação do sistema usando a entidade de serviço para acessar o aplicativo Databricks hospedado de um agente:
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 do agente usando DatabricksApps como um recurso. Consulte Passagem automática de autenticação.
Exemplo de Notebook: Crie um agente com servidores MCP Databricks
O Notebook a seguir mostra como criar agentes LangGraph e OpenAI que chamam ferramentas MCP com servidores MCP personalizados hospedados em aplicativos Databricks .
Agente de chamada de ferramentas LangGraph MCP
Agente de chamada de ferramentas OpenAI MCP
Recurso adicional
O livro de receitas do aplicativo fornece exemplos de código de ponta a ponta para integrar servidores MCP com diferentes estruturas:
Para obter o código-fonte completo e exemplos adicionais, consulte o repositório Databricks Apps Cookbook.