Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Hostowanie własnych niestandardowych serwerów MCP lub serwerów firm trzecich jako aplikacji Databricks. Niestandardowe serwery MCP są przydatne, jeśli masz już serwer MCP, który chcesz wdrożyć lub jeśli chcesz uruchomić serwer MCP innej firmy jako źródło narzędzi.
Requirements
- Serwer MCP hostowany jako aplikacja usługi Databricks musi implementować transport zgodny z protokołem HTTP, taki jak przesyłanie strumieniowe protokołu HTTP.
Hostowanie serwera MCP jako aplikacji usługi Databricks
Zobacz GitHub — niestandardowy szablon serwera MCP , aby zapoznać się z przykładem pisania własnego serwera MCP i wdrażania go jako aplikacji usługi Databricks.
Aby hostować istniejący serwer MCP w języku Python jako aplikację usługi Databricks, wykonaj następujące kroki:
Konfigurowanie środowiska
Przed wdrożeniem serwera MCP uwierzytelnij się w obszarze roboczym przy użyciu protokołu OAuth.
Uruchom następujące polecenie w lokalnym terminalu:
databricks auth login --host https://<your-workspace-hostname>
Konfigurowanie serwera MCP
Użyj uv do zarządzania zależnościami i ujednoliconego narzędzia podczas wdrażania serwera MCP.
Dodaj element
requirements.txtdo katalogu głównego serwera MCP i dołączuvgo jako zależność.Po dodaniu
uvdo requirements.txtprogram obsługuje instalowanie dodatkowych zależności zdefiniowanych w konfiguracji projektu.uvpyproject.tomlUtwórz plik, który definiuje punkt wejścia skryptu dla serwera.Przykład
pyproject.toml:[project.scripts] custom-server = "server.main:main"W tym przykładzie:
-
custom-serverto nazwa skryptu, której używasz zuv run -
server.main:mainokreśla ścieżkę modułu (server/main.py) i funkcję (main) do wykonania
-
Dodaj plik
app.yamlokreślający polecenie CLI do uruchomienia serwera MCP za pomocąuv run.Domyślnie aplikacje Databricks obsługują port 8000. Jeśli serwer nasłuchuje na innym porcie, ustaw to, używając przesłonięcia zmienną środowiskową w pliku
app.yaml.Przykład
app.yaml:command: [ 'uv', 'run', 'custom-server', # This must match a script defined in pyproject.toml ]
Po uruchomieniu uv run custom-serverprogram uv wyszukuje definicję skryptu, znajduje ścieżkę modułu main() i wywołuje funkcję.
Wdrażanie serwera MCP jako aplikacji usługi Databricks
Utwórz aplikację usługi Databricks do hostowania serwera MCP:
databricks apps create custom-mcp-serverPrzekaż kod źródłowy do usługi Databricks i wdróż aplikację, uruchamiając następujące polecenia z katalogu zawierającego
app.yamlplik: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"
Znajdowanie adresu URL wdrożonej aplikacji
Po wdrożeniu możesz znaleźć adres URL aplikacji w interfejsie użytkownika usługi Databricks. Punkt końcowy serwera MCP jest dostępny pod adresem https://<app-url>/mcp.
Nawiązywanie połączenia z niestandardowym serwerem MCP
Kliknij karty, aby zobaczyć, jak nawiązać połączenie z serwerem MCP z różnych środowisk.
Środowisko lokalne
Zaloguj się do swojego obszaru roboczego za pomocą OAuth, zgodnie z opisem w Konfigurowanie środowiska.
W poniższym przykładzie pokazano, jak nawiązać połączenie z niestandardowym serwerem MCP i wyświetlić dostępne narzędzia:
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 (podmiot usługi)
Użyj jednostki usługi, aby uzyskać dostęp do hostowanej aplikacji Databricks w notebooku 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}")
Kod agenta (w imieniu użytkownika)
Skonfiguruj autoryzację w imieniu użytkownika. Zobacz Uwierzytelnianie w imieniu użytkownika.
W poniższym przykładzie pokazano, jak włączyć dostęp w imieniu użytkownika przy użyciu polecenia ModelServingUserCredentials w celu uzyskania dostępu do hostowanej aplikacji usługi Databricks z agenta:
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}")
Zarejestruj model agenta, używając zakresu apps.apps. Zobacz Uwierzytelnianie w imieniu użytkownika.
Kod agenta (główna część usługi)
Włącz uwierzytelnianie systemowe przy użyciu głównej instancji usługi, aby uzyskać dostęp do hostowanej aplikacji Databricks przez agenta.
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}")
Zarejestruj model agenta przy użyciu DatabricksApps jako zasobu. Zobacz Przekazywanie automatycznego uwierzytelniania.
Przykładowe notesy: tworzenie agenta za pomocą serwerów MCP usługi Databricks
W poniższych notatnikach pokazano, jak tworzyć agentów LangGraph i OpenAI, którzy wywołują narzędzia MCP za pomocą niestandardowych serwerów MCP hostowanych w aplikacjach Databricks.
Agent wywołujący narzędzia LangGraph MCP
Agent wywołujący narzędzia OpenAI MCP
Dodatkowe zasoby
Podręcznik aplikacji zawiera kompleksowe przykłady kodu do integrowania serwerów MCP z różnymi strukturami:
Aby uzyskać pełny kod źródłowy i dodatkowe przykłady, zobacz repozytorium Cookbook aplikacji Databricks.