將您自己的自定義或第三方 MCP 伺服器裝載為 Databricks 應用程式。 如果您已經有要部署的 MCP 伺服器,或想要以工具來源的形式執行第三方 MCP 伺服器,自定義 MCP 伺服器就很有用。
Requirements
- 裝載為 Databricks 應用程式的 MCP 伺服器必須實作 HTTP 兼容的傳輸,例如 可串流 HTTP 傳輸。
將 MCP 伺服器裝載為 Databricks 應用程式
如需撰寫您自己的 MCP 伺服器並將其部署為 Databricks 應用程式的範例,請參閱 GitHub - 自訂 MCP 伺服器範本 。
若要將現有的 Python MCP 伺服器裝載為 Databricks 應用程式,請遵循下列步驟:
設定您的環境
在部署 MCP 伺服器之前,請使用 OAuth 向工作區進行驗證。
在本機終端機中執行下列命令:
databricks auth login --host https://<your-workspace-hostname>
設定 MCP 伺服器
部署 MCP 伺服器時,使用 uv 進行相依性管理和統一工具。
將 a
requirements.txt新增至 MCP 伺服器的根目錄,並包含uv為相依性。當您將
uv新增至 requirements.txt 時,會自動處理安裝您專案設定中定義的其他相依性。uv建立定義
pyproject.toml伺服器指令碼進入點的檔案。範例
pyproject.toml:[project.scripts] custom-server = "server.main:main"在此範例中:
-
custom-server是與uv run一起使用的指令碼名稱 -
server.main:main指定要執行的模組路徑 (server/main.py) 和函數 (main)
-
新增指定
app.yamlCLI 命令的檔案,以使用uv run執行 MCP 伺服器。根據預設,Databricks 應用程式會接聽埠 8000。 如果伺服器接聽不同的埠,請使用檔案中的
app.yaml來設定它。範例
app.yaml:command: [ 'uv', 'run', 'custom-server', # This must match a script defined in pyproject.toml ]
當您執行 uv run custom-server時,uv 會查閱指令碼定義,尋找模組路徑,並呼叫 main() 函數。
將 MCP 伺服器部署為 Databricks 應用程式
建立 Databricks 應用程式來裝載 MCP 伺服器:
databricks apps create custom-mcp-server從包含檔案
app.yaml的目錄執行下列命令,將原始程式碼上傳至 Databricks 並部署應用程式: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"
尋找已部署的應用程式 URL
部署之後,您可以在 Databricks UI 中找到您的應用程式 URL。 MCP 伺服器端點可在 https://<app-url>/mcp 使用。
線上到自訂 MCP 伺服器
按兩下索引標籤,瞭解如何從各種環境連線到MCP伺服器。
本機環境
使用 OAuth 向工作區進行驗證,如 設定您的環境中所述。
下列範例顯示如何連線至自訂 MCP 伺服器並列出可用工具:
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}")
筆記本(服務主體)
使用服務主要來存取託管的 Databricks 應用程式於 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}")
代理代碼 (代表使用者)
設定代替使用者之授權。 請參閱 代表使用者驗證。
下列範例示範如何啟用以使用者身份存取的功能 ModelServingUserCredentials ,以透過代理程式存取已裝載的 Databricks 應用程式:
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}")
使用 apps.apps 範圍記錄代理程式模型。 請參閱 代表使用者驗證。
代理程式代碼 (服務主體)
使用服務主體啟用系統驗證,以從代理程式存取裝載的 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()
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}")
使用 DatabricksApps 作為資源來記錄代理程式模型。 請參閱 自動驗證通過。
範例筆記本:使用 Databricks MCP 伺服器建置代理程式
下列筆記本示範如何撰寫 LangGraph 和 OpenAI 代理程式,以使用裝載在 Databricks 應用程式上的自訂 MCP 伺服器來呼叫 MCP 工具。
LangGraph MCP 工具呼叫代理程式
OpenAI MCP 工具呼叫代理程式
其他資源
應用程式技術指南提供端對端程式碼範例,用於將 MCP 伺服器與不同架構整合:
如需完整的原始程式碼和其他範例,請參閱 Databricks Apps 技術指南存放庫。