도구에 에이전트 연결

에이전트를 도구에 연결하면 문서 검색, 테이블 쿼리, 외부 API 호출 또는 사용자 지정 코드 실행과 같은 텍스트 생성 이외의 실용적인 기능을 제공합니다.

LangGraph 또는 OpenAI SDK와 같은 프레임워크를 사용하여 빌드된 에이전트 코드 및 Claude Code 및 Cursor와 같은 코딩 도우미는 Databricks의 세 가지 관리 경로를 통해 MCP를 통해 도구를 호출합니다. GitHub 및 Slack과 같은 타사 도구용 MCP 서비스, 사용자 지정 도구용 Databricks 앱에서 호스트되는 자체 MCP 서버, Databricks 데이터 및 코드용 관리형 MCP 서버  모든 권한 부여, 정책 및 감사와 함께 Unity 카탈로그에서 관리됩니다.

다이어그램은 Azure Databricks에서 대부분의 통합에 권장하는 MCP 경로를 보여 줍니다. MCP는 에이전트를 외부 서비스에 연결하는 여러 가지 방법 중 하나입니다. MCP 서비스와 함께 Unity 카탈로그 HTTP 연결을 통해 REST API를 직접 호출할 수 있습니다. 사용자별 인증을 위해 관리되는 OAuth를 선택하고, 에이전트 코드에서 API를 호출하는 Unity 카탈로그 연결 프록시 또는 래핑하는 http_request() 선택합니다. 다음 표에서는 Azure Databricks 데이터에서 외부 서비스에 연결하는 각 방법을 요약합니다.

Approach 권장 사용 사례
Azure Databricks 데이터에 대한 관리되는 MCP 서버 이 방법을 사용하여 Azure Databricks 데이터를 쿼리하고 즉시 사용할 수 있는 Genie, Databricks AI Search, Databricks SQL 및 Unity 카탈로그 함수 MCP 서버를 사용하여 관리되는 함수를 실행합니다.
외부 MCP 서버 MCP 서버를 게시하는 서비스에 이 방법을 사용합니다. Unity AI Gateway를 통해 자동 도구 검색 및 제어된 액세스를 제공합니다.
OAuth 관리 Google 드라이브 또는 SharePoint 통합에 이 방법을 사용합니다. Azure Databricks는 OAuth 자격 증명을 관리하므로 앱 등록이 필요하지 않습니다.
Unity 카탈로그 연결 프록시 이 방법을 사용하여 외부 서비스의 자체 클라이언트 SDK를 사용하여 에이전트 코드에서 직접 REST API 호출을 수행합니다.
Unity 카탈로그 함수 도구 SQL 기반 도구 정의에서 http_request() 함수를 래핑하는 경우 이 방법을 사용하세요.

Azure Databricks 데이터에 대한 관리되는 MCP 서버

Azure Databricks 에이전트가 빌드하거나 호스트할 서버 없이 작업 영역의 데이터 및 함수에 대한 액세스 권한을 제어하는 즉시 사용할 수 있는 관리형 MCP 서버를 제공합니다. 각 서버에는 전용 URL 및 OAuth 범위가 있으며 Unity 카탈로그는 액세스를 제어합니다.

  • Genie: 자연어를 사용하여 Genie 에이전트 및 Unity 카탈로그 테이블에서 구조화된 데이터를 쿼리합니다.
  • Databricks AI Search(벡터 검색): 벡터 검색 인덱스의 문서를 검색합니다.
  • Databricks SQL: Unity 카탈로그 테이블에 대해 SQL 쿼리를 실행합니다.
  • Unity 카탈로그 함수: Unity 카탈로그에 등록된 사용자 지정 Python 및 SQL 함수를 호출합니다.

서버 URL, OAuth 범위 및 전체 카탈로그는 Azure Databricks 관리되는 MCP 서버를 참조하세요. 에이전트 코드에서 이러한 서버를 호출하려면 에이전트에서 MCP 서버 사용을 참조하세요.

외부 MCP 서버

API를 사용하여 Slack, Google Calendar 또는 모든 서비스와 같은 외부 애플리케이션에 에이전트를 연결합니다. Azure Databricks 외부 서비스에 MCP 서버가 있는지 여부, 사용자별 인증이 필요한지 또는 에이전트 코드에서 직접 API를 호출할지 여부에 따라 몇 가지 방법을 제공합니다. 모든 방법은 안전하고 관리되는 자격 증명 관리를 제공하고 OAuth 2.0 U2M(사용자 대 머신) 및 M2M(컴퓨터 간) 인증을 비롯한 여러 인증 방법을 지원하는 Unity 카탈로그 HTTP 연결을 사용합니다.

외부 서비스에 사용할 수 있는 MCP 서버가 있는 경우 Azure Databricks Unity 카탈로그에서 MCP 서비스로 등록하는 것이 좋습니다. MCP 서비스는 권한 부여, 도구 선택 및 서비스 정책을 통해 Unity AI Gateway 를 통해 자동 도구 검색, 사용자별 인증 및 거버넌스를 제공합니다.

  • 외부 MCP 서버를 MCP 서비스로 등록하고 제어하려면 외부 MCP 서버 등록을 참조하세요. 연결 및 인증 설정은 1단계를 참조하세요 . 연결을 만듭니다.
  • 에이전트 프레임워크당 코드 예제(OpenAI 에이전트 SDK, LangGraph, 모델 서비스)는 에이전트의 MCP 서버 사용을 참조하세요.

Slack, GitHub 및 Google Drive와 같은 일반적인 SaaS(Software-as-a-Service) 도구의 경우 Azure Databricks 즉시 사용할 수 있는 MCP 서비스를 제로 설정으로 제공합니다. Databricks에서 제공하는 MCP 서비스를 참조하세요.

관리되는 OAuth

Azure Databricks는 선택한 API 도구 공급자를 위한 관리되는 OAuth 흐름을 제공합니다. 사용자 고유의 OAuth 앱을 등록하거나 자격 증명을 관리할 필요가 없습니다. Azure Databricks는 개발 및 테스트를 위해 관리되는 OAuth를 권장합니다. 프로덕션 사용 사례에서 사용자 지정 OAuth 자격 증명을 생성해야 하는 경우 자세한 내용은 공급자 설명서를 참조하세요.

다음 통합에서는 백 엔드에서 안전하게 관리하고 저장하는 Azure Databricks OAuth 자격 증명을 사용합니다.

Provider 구성 정보 지원되는 범위 설명
Google 드라이브 API None https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access Google Docs 및 Google Sheets를 비롯한 Google 드라이브 파일에 대한 읽기 전용 액세스입니다.
Gmail API None https://www.googleapis.com/auth/gmail.readonly offline_access Gmail 메시지, 스레드, 초안 및 레이블에 대한 읽기 전용 액세스입니다.
Google Calendar API None https://www.googleapis.com/auth/calendar.readonly offline_access Google 일정 이벤트, 일정 및 약속 있음/없음 정보에 대한 읽기 전용 액세스입니다.
SharePoint API None https://graph.microsoft.com/User.Read https://graph.microsoft.com/User.ReadBasic.All https://graph.microsoft.com/Sites.Read.All https://graph.microsoft.com/Files.Read https://graph.microsoft.com/Files.Read.All https://graph.microsoft.com/Mail.Read https://graph.microsoft.com/Mail.ReadBasic https://graph.microsoft.com/Mail.Read.Shared https://graph.microsoft.com/MailboxFolder.Read https://graph.microsoft.com/MailboxItem.Read https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Calendars.Read.Shared https://graph.microsoft.com/Chat.Read https://graph.microsoft.com/Chat.ReadBasic https://graph.microsoft.com/ChatMember.Read https://graph.microsoft.com/ChatMessage.Read https://graph.microsoft.com/Channel.ReadBasic.All https://graph.microsoft.com/ChannelMessage.Read.All https://graph.microsoft.com/OnlineMeetings.Read https://graph.microsoft.com/OnlineMeetingTranscript.Read.All https://graph.microsoft.com/OnlineMeetingAiInsight.Read https://graph.microsoft.com/OnlineMeetingArtifact.Read.All https://graph.microsoft.com/OnlineMeetingRecording.Read.All offline_access openid profile email Microsoft Graph 통해 SharePoint 및 OneDrive 파일, Outlook 메일 및 일정, Microsoft Teams 채팅, 채널 및 모임에 대한 읽기 전용 액세스입니다.

관리되는 OAuth를 설정하려면 OAuth 사용자를 사용자 단위 컴퓨터 인증 유형으로 HTTP 연결을 만들고 OAuth 공급자 드롭다운 메뉴에서 공급자를 선택합니다. 자세한 단계는 외부 서비스에 대한 연결 만들기를 참조하세요.

공급자는 각 사용자에게 처음 사용할 때 권한을 부여하라는 메시지를 표시합니다.

필요한 경우 관리되는 OAuth에서 사용하는 다음 리디렉션 URI를 허용 목록에 추가합니다.

클라우드 리디렉션 URI
AWS https://oregon.cloud.databricks.com/api/2.0/http/oauth/redirect
Azure https://westus.azuredatabricks.net/api/2.0/http/oauth/redirect
GCP https://us-central1.gcp.databricks.com/api/2.0/http/oauth/redirect

Glean, GitHub, Atlassian 및 Slack과 같은 게시된 MCP 서버를 사용하는 관리되는 OAuth 공급자의 경우 Azure Databricks MCP 서비스로 서버를 등록할 때 OAuth 자격 증명을 관리할 수 있습니다. 관리되는 OAuth 공급자를 참조하세요.

Unity 카탈로그 연결 프록시 엔드포인트

외부 서비스의 자체 클라이언트 SDK와 Unity 카탈로그 연결 프록시 엔드포인트 를 사용하여 에이전트 코드에서 직접 REST API를 호출합니다. SDK의 기본 URL을 프록시 엔드포인트로 가리키고 Azure Databricks 토큰을 API 키로 사용합니다. Azure Databricks는 요청을 인증하고 Unity 카탈로그 연결에서 외부 서비스의 자격 증명을 자동으로 삽입합니다. 코드는 외부 서비스의 토큰을 직접 처리하지 않습니다.

필요한 권한:USE CONNECTION 연결 개체에서

OpenAI

Unity 카탈로그 연결 프록시를 통해 외부 OpenAI에 대한 호출을 라우팅하는 데 사용합니다 DatabricksOpenAI . 먼저 Databricks 비밀로 저장된 OpenAI API 키를 사용하여 Unity 카탈로그 HTTP 연결을 만듭니다.

CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
  host 'https://api.openai.com',
  base_path '/v1',
  bearer_token secret ('<secret-scope>', '<secret-key>')
);

그런 다음 databricks-openai 패키지를 설치하고 에이전트 코드 내에서 프록시 URL과 작업 영역 클라이언트를 사용합니다.

pip install databricks-openai
from databricks_openai import DatabricksOpenAI
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

client = DatabricksOpenAI(
    workspace_client=w,
    base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/openai_connection/proxy/",
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

Slack

Unity 카탈로그 연결 프록시를 통해 라우팅하도록 Slack SDK를 구성합니다. 호스트 https://slack.com 및 기본 경로를 /api사용하여 Unity 카탈로그 HTTP 연결을 만든 다음 프록시 URL을 SDK 기본 URL로 사용합니다.

from slack_sdk import WebClient
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

client = WebClient(
    token=w.config.authenticate()["Authorization"].split(" ")[1],
    base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/slack_connection/proxy/",
)

result = client.chat_postMessage(channel="C123456", text="Hello from Databricks!")
print(result["message"]["text"])

일반 HTTP

전용 SDK가 없는 서비스의 경우 프록시 URL이 requests 있는 라이브러리를 직접 사용합니다.

import requests
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

response = requests.post(
    f"{w.config.host}/api/2.0/unity-catalog/connections/my_connection/proxy/api/v1/resource",
    headers={
        **w.config.authenticate(),
        "Content-Type": "application/json",
    },
    json={"key": "value"},
)

프록시 엔드포인트, 지원되는 인증 방법 및 연결 설정에 대한 자세한 내용은 HTTP 연결 프록시를 통해 전달 요청을 참조하세요.

Unity 카탈로그 함수 도구

메모

Azure Databricks 새 통합에 MCP 서비스 또는 Unity 카탈로그 연결 프록시를 사용하는 것이 좋습니다. Unity 카탈로그 함수 도구는 http_request 계속 지원되지만 더 이상 권장되는 방법이 아닙니다.

외부 서비스를 호출하도록 래핑 http_request() 하는 Unity 카탈로그 함수를 만들 수 있습니다. 이 방법은 Slack에 메시지를 게시하는 함수와 같은 SQL 기반 도구 정의에 유용합니다. SQL 예제 및 연결 형식 제한 사항을 비롯한 전체 연습은 (레거시)를 사용하여 http_request 외부 API 호출을 참조하세요.

예제 노트북들

다음 노트북은 Slack, OpenAI 및 Azure AI 검색에 연결되는 AI 에이전트 도구를 만드는 방법을 보여 줍니다.

Slack 메시징 에이전트 도구

노트북 받기

Microsoft Graph API 에이전트 도구

노트북 받기

Azure AI 검색 에이전트 도구

노트북 받기

에이전트를 Microsoft Teams에 연결하는 방법에 대한 안내는 AI 에이전트를 Microsoft Teams에 연결을 참조하세요.

추가 리소스