Hostowanie serwera MCP w aplikacjach Databricks

Zbuduj serwer MCP na Databricks Apps, aby twój agent mógł wywoływać własne narzędzia. Databricks Apps zapewnia moc obliczeniową do uruchomienia serwera oraz adres URL HTTPS, za pomocą którego agenci mogą się z nim łączyć.

Wybierz ścieżkę

Wybierz jeden z tych trzech sposobów hostowania serwera MCP w Databricks Apps:

Zbuduj serwer z szablonu Starter

Szablon MCP Server (Starter) zawiera działające narzędzie sprawdzania kondycji, które możesz wywołać przed dodaniem własnego kodu Python.

Znajdź i wdroż szablon

Użyj przestrzeni roboczej spełniającej wymagania aplikacji Databricks.

  1. W swoim workspace otwórz Unity Gateway i wybierz MCPs.
  2. Kliknij + MCP i wybierz Zbuduj nowy serwer MCP. Otwiera się strona tworzenia aplikacji Databricks.
  3. Znajdź Instaluj z szablonu. W tej galerii szablonów wybierz zakładkę Agenci, a następnie MCP Server (Starter).
  4. Przejrzyj ustawienia zasobów, mocy obliczeniowej i autoryzacji. Kliknij Dalej , aby kontynuować konfigurację.
  5. Nazwij aplikację mcp-my-server i kliknij Create app. Użyj innej nazwy zaczynającej się od mcp-, jeśli ta nazwa jest zajęta. Ten prefiks pozwala AI Playground rozpoznać serwer MCP.

Tworzenie aplikacji również wdraża kod szablonu. Poczekaj na zakończenie wdrożenia na stronie Przegląd aplikacji; tam znajdziesz jej adres URL i status wdrożenia.

Wywołaj pierwsze narzędzie

Skopiuj adres URL aplikacji ze strony Przegląd i dodaj /mcp:

https://<app-hostname>/mcp

Połącz swojego agenta za pomocą tego adresu URL.

Zapytaj swojego agenta: "Uruchom narzędzie zdrowotne." Potwierdź, że narzędzie zwraca "status": "healthy".

Dodaj własne narzędzie

Dodaj narzędzie do konwersji tekstu na wielkie litery:

  1. Na stronie Przegląd aplikacji kliknij Edytuj w swoim IDE , aby skopiować kod źródłowy na komputer i zsynchronizować edycje z powrotem do przestrzeni roboczej.

  2. Otwórz plik server/tools.py. Dodaj tę funkcję wewnątrz load_tools(mcp_server), obok istniejących narzędzi:

        @mcp_server.tool
        def uppercase(text: str) -> str:
            """Convert a string to uppercase."""
            return text.upper()
    
  3. Zsynchronizuj zmiany i ponownie wdroż aplikację.

  4. Ponownie połącz swojego agenta, aby załadować zaktualizowane narzędzia. Poproś go, żeby wywołał uppercase z użyciem hello i potwierdź, że wynik to HELLO.

Zobacz źródło szablonu starter, aby zobaczyć kompletny serwer.

Udostępnij API REST jako narzędzia MCP

Użyj tej opcji, gdy masz już API HTTP, na przykład API do wyszukiwania klienta, i chcesz, aby agent je wywołał. Szablon MCP Server (OpenAPI) oferuje narzędzia do wykrywania i wywoływania punktów końcowych Twojego API.

Przygotuj API

Szablon potrzebuje dwóch rzeczy:

  • Opis API: Zapisz specyfikację OpenAPI 3.x swojego API jako spec.json i prześlij ją do woluminu. Umieść go w katalogu głównym woluminu, poza wszystkimi podfolderami. Zobacz przykładową specyfikację.
  • Połączenie HTTP:Stwórz połączenie, które przechowuje dane uwierzytelniające twojego API lub użyj istniejącego. Przechowuj token backendu lub dane uwierzytelniające klienta OAuth w tym połączeniu. Skopiuj nazwę połączenia. Utworzenie go wymaga CREATE CONNECTION.

Wybierz metodę uwierzytelniania połączenia dla tożsamości, którą powinno otrzymać Twoje API:

  • Konto dostawcy każdego użytkownika: Wybierz OAuth User-to-Machine Per User i skonfiguruj ustawienia OAuth dostawcy.
  • Konto współdzielone: Wybierz token Bearer, OAuth Machine-to-Machine lub OAuth User-to-Machine Shared, w zależności od tego, co obsługuje API.

Zobacz metody uwierzytelniania połączenia HTTP dla obsługiwanych opcji oraz właściwości połączenia dla wymaganych poświadczeń i punktów końcowych OAuth.

Tworzenie aplikacji

  1. W Unity Gateway wybierz MCPs, kliknij + MCP i wybierz Zbuduj nowy serwer MCP.
  2. Na stronie tworzenia aplikacji, w sekcji Install from a template, wybierz Agents, a następnie MCP Server (OpenAPI).
  3. Dla zasobu uc-volume wybierz wolumin zawierający spec.json. Daje to aplikacji dostęp do opisu twojego API.
  4. Przejdź przez ustawienia obliczeń i autoryzacji. Nazwij aplikację mcp-my-api i kliknij Create app.

Konfiguruj uwierzytelnianie i połączenie

Szablon wykorzystuje token Azure Databricks wywołującego do uzyskania dostępu do połączenia HTTP. Połączenie dostarcza poświadczenia zewnętrznego API. Dotyczy to nawet sytuacji, gdy wszyscy wywołujący korzystają ze wspólnego konta backend.

  1. W ramach autoryzacji użytkownika sprawdź, czy aplikacja żąda catalog.connections, czyli zakresu zadeklarowanego przez szablon.

  2. Każdy dzwoniący MOŻE KORZYSTAĆ z aplikacji i USE CONNECTION na połączeniu HTTP. Aby przyznać dostęp do połączenia, otwórz Katalog>Połączenia, wybierz połączenie i użyj karty Uprawnienia.

  3. Na stronie Przegląd aplikacji kliknij Edytuj w swoim IDE , aby skopiować kod źródłowy na komputer i ustawić synchronizację z przestrzenią roboczą.

  4. Otwórz plik app.yaml. W env sekcji znajdź UC_CONNECTION_NAME i ustaw jego wartość na nazwę swojego połączenia:

    - name: UC_CONNECTION_NAME
      value: my_api_connection
    

    Zastąp my_api_connection nazwą swojego połączenia. Pozostałe ustawienia szablonu zostaw bez zmian.

  5. Zsynchronizuj zaktualizowany plik, a następnie ponownie wdroż aplikację. Poczekaj na zakończenie wdrożenia w sekcji Przegląd.

Wykonaj pierwsze wywołanie

Połącz się za pomocą tokenu OAuth usługi Azure Databricks, który zawiera zakresy autoryzacji użytkownika dla aplikacji. Zobacz zakresy OAuth dla wywołań aplikacji. Dla połączenia na użytkownika każdy wywołujący musi również autoryzować swoje konto operatora za pomocą przepływu logowania OAuth połączenia HTTP.

  1. Skopiuj adres URL aplikacji z Overview, dodaj /mcpi połącz swojego agenta.
  2. Poproś swojego agenta, żeby zadzwonił list_api_endpoints. Sprawdź, czy wynik zawiera punkty końcowe w Twojej specyfikacji.
  3. Poproś agenta o wywołanie endpointu tylko do odczytu i potwierdzenie, że zwraca dane z twojego API.

Szablon odczytuje token użytkownika z x-forwarded-access-token i wywołuje serving_endpoints.http_request, używając nazwy połączenia. Zobacz pomocnika uwierzytelniania i program obsługi żądań API.

Dla nowego kodu wywołującego API spoza tego szablonu Databricks zaleca serwer proxy połączenia HTTP.

Przykładowa specyfikacja OpenAPI

Ta specyfikacja opisuje GET /widgets. Zastąp adres URL i operacje wartościami swojego API:

{
  "openapi": "3.1.0",
  "info": { "title": "Example API", "version": "1.0.0" },
  "servers": [{ "url": "https://api.example.com" }],
  "paths": {
    "/widgets": {
      "get": {
        "summary": "List widgets",
        "responses": { "200": { "description": "A list of widgets" } }
      }
    }
  }
}

Wdróż istniejący serwer MCP

Uruchom swój istniejący serwer MCP w Databricks Apps.

Przygotuj swój serwer

Folder źródłowy musi zawierać:

  • Serwer HTTP: Konfiguruj Streamable HTTP. Nasłuchuj na 0.0.0.0 i porcie w DATABRICKS_APP_PORT (domyślnie 8000). Zwróć uwagę na ścieżkę MCP, na przykład /mcp.

  • Zależności: Dołącz odpowiedni plik zależności, na przykład requirements.txt dla Python lub package.json dla Node.js.

  • Polecenie start: Dodaj app.yaml z poleceniem uruchamiającym serwer. Dla punktu wejścia w Python o nazwie server.py, używaj:

    command: ['python', 'server.py']
    

Wdrażaj i łącz się

  1. W Unity Gateway wybierz MCPs, kliknij + MCP i wybierz Zbuduj nowy serwer MCP.
  2. Na stronie tworzenia aplikacji wybierz Stwórz niestandardową aplikację. Nadaj mu nazwę z przedrostkiem mcp- i dokończ konfigurację aplikacji.
  3. Na stronie Przegląd aplikacji wybierz Edytuj w swoim IDE, aby zsynchronizować folder źródłowy z obszarem roboczym.
  4. Kliknij Deploy, wybierz folder workspace, następnie kliknij Select i Deploy. Poczekaj na zakończenie wdrożenia. Zobacz instrukcje dotyczące wdrożenia.
  5. Skopiuj adres URL aplikacji i dopisz do niego swoją ścieżkę MCP. Połącz swojego agenta z tym adresem URL i wywołaj jedno z narzędzi serwera, aby sprawdzić połączenie.

Połącz swojego agenta

Użyj adresu MCP dla wybranej ścieżki. Dla szablonów Starter i OpenAPI dołącz /mcp do adresu URL aplikacji. Dla istniejącego serwera użyj ścieżki MCP skonfigurowanej dla Twojego serwera.

Wybierz przewodnik po konfiguracji swojego agenta:

Dzwoniący muszą mieć w aplikacji uprawnienie CAN USE i token OAuth. Tokeny dostępu osobistego nie są obsługiwane. Zobacz uprawnienia aplikacji i uwierzytelnianie tokenów dla aplikacji.

Ceny i monitorowanie

Aplikacje wykorzystują Databricks Apps pricing. Aby poznać logi wdrożeń i żądań, zobacz Logowanie i monitorowanie aplikacji Databricks.