Uw eigen MCP-server hosten

Databricks-apps aanpassen of externe MCP-servers hosten. Aangepaste MCP-servers zijn handig als u al een MCP-server hebt die u wilt implementeren of als u een MCP-server van derden wilt uitvoeren als bron van hulpprogramma's.

Toegang tot aangepaste MCP-servers wordt beheerd via Databricks Apps-machtigingen. Om aangepaste MCP-activiteiten samen met je andere MCP-servers en LLM-endpoints te monitoren, gebruik je Unity Gateway.

Om een gehoste custom MCP-server in agentcode te gebruiken, zie Gebruik MCP-servers in Custom Agents.

Requirements

  • Een MCP-server die wordt gehost als een Databricks-app, moet een HTTP-compatibel transport implementeren, zoals het streambare HTTP-transport.

Een aangepaste MCP-server maken op basis van de app-sjabloon

Gebruik de ingebouwde Hallo wereld MCP Server-sjabloon om een MCP-server te maken en te implementeren met voorbeelden van hulpprogramma's die al zijn opgenomen:

  1. Klik in de zijbalk op Compute.

  2. Klik op het tabblad Apps .

  3. Klik op App maken.

  4. Selecteer onder de categorie Agents de sjabloon MCP Server - Hallo wereld.

  5. Voer een app-naam in die begint met mcp- (bijvoorbeeld mcp-hello-world).

    Note

    De naam van de app moet beginnen met mcp- om als een MCP-server in de AI Playground herkend te worden.

  6. Klik op App maken.

Azure Databricks implementeert de app met voorbeeldcode die u kunt aanpassen.

De sjabloon bevat twee voorbeeldhulpprogramma's waarmee u aan de slag kunt:

  • health(): Een diagnostisch hulpprogramma dat bevestigt dat de server operationeel is en statusinformatie retourneert.
  • get_current_user(): Een hulpprogramma waarmee de gegevens van de huidige gebruiker worden opgehaald met behulp van de Databricks SDK, waarmee wordt gedemonstreerd hoe u werkruimteverificatie integreert.

Een aangepast hulpprogramma toevoegen

Als u uw eigen hulpprogramma wilt toevoegen, opent u de broncode van de app en definieert u een nieuwe functie met behulp van de @mcp.tool() decorator. Bijvoorbeeld, met de volgende tool wordt een tekenreeks geconverteerd naar hoofdletters:

@mcp.tool()
def uppercase(text: str) -> str:
    """Convert a string to uppercase."""
    return text.upper()

Elk hulpprogramma moet een docstring bevatten. Agents gebruiken de docstring om te begrijpen wanneer het hulpprogramma moet worden aangeroepen. Nadat u een hulpprogramma hebt toegevoegd, implementeert u de app opnieuw om deze beschikbaar te maken.

Zie Een app maken op basis van een sjabloon voor meer informatie over het werken met app-sjablonen of bekijk de broncode van de sjabloon op GitHub.

Een bestaande MCP-server hosten als een Databricks-app

Als u een bestaande Python MCP-server wilt hosten als een Databricks-app, voert u de volgende stappen uit:

Uw omgeving instellen

Voordat u uw MCP-server implementeert, moet u zich verifiëren bij uw werkruimte met behulp van OAuth.

  1. Voer het volgende uit in een lokale terminal:

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

De MCP-server instellen

Gebruik UV voor afhankelijkheidsbeheer en geïntegreerde hulpprogramma's bij het implementeren van uw MCP-server.

  1. Voeg een requirements.txt toe aan de hoofdmap van de MCP-server en neem uv deze op als een afhankelijkheid.

    uv verwerkt het installeren van extra afhankelijkheden die zijn gedefinieerd in uw projectconfiguratie.

    uv
    
    
  2. Maak een pyproject.toml bestand dat een scriptinvoerpunt definieert voor uw server.

    Voorbeeld pyproject.toml:

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

    In dit voorbeeld:

    • custom-server is de scriptnaam die u gebruikt met uv run
    • server.main:main geeft het modulepad (server/main.py) en de functie (main) op die moeten worden uitgevoerd
  3. Voeg een app.yaml bestand toe dat de CLI-opdracht opgeeft om de MCP-server uit te voeren met behulp van uv run.

    Databricks-apps luisteren standaard op poort 8000. Als de server op een andere poort luistert, kunt u deze instellen door een overschrijving van de omgevingsvariabele in het app.yaml bestand te gebruiken.

    Voorbeeld app.yaml:

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

Wanneer u uitvoert uv run custom-server, zoekt uv de scriptdefinitie op, zoekt u het modulepad en roept u de functie aan main() .

De MCP-server implementeren als een Databricks-app

  1. Maak een Databricks-app om de MCP-server te hosten:

    databricks apps create mcp-my-server
    

    Note

    Geef uw app-naam mcp- een voorvoegsel om deze duidelijk te identificeren als een MCP-server. Deze naamconventie helpt bij de detectie en organisatie in uw werkruimte.

  2. Upload de broncode naar Azure Databricks en implementeer de app door de volgende opdrachten uit te voeren vanuit de map die uw app.yaml bestand bevat:

    DATABRICKS_USERNAME=$(databricks current-user me | jq -r .userName)
    databricks sync . "/Users/$DATABRICKS_USERNAME/mcp-my-server"
    databricks apps deploy mcp-my-server --source-code-path "/Workspace/Users/$DATABRICKS_USERNAME/mcp-my-server"
    

De URL van uw geïmplementeerde app zoeken

Na de implementatie kunt u de URL van uw app vinden in de Azure Databricks gebruikersinterface. Het MCP-servereindpunt is beschikbaar op https://<app-url>/mcp.

Pricing

Aangepaste MCP-servers zijn onderhevig aan prijzen voor Databricks Apps.

Aanvullende informatiebronnen