Important
이 기능은 베타 버전으로 제공됩니다. 계정 관리자는 계정 콘솔 미리 보기 페이지에서 이 기능에 대한 액세스를 제어할 수 있습니다. Azure Databricks 미리 보기 관리를 참조하세요.
MCP 서비스는 외부 MCP 서버를 등록하고 에이전트에서 사용하는 방법을 제어하는 Unity 카탈로그 보안 개체입니다. 3단계 이름으로 주소를 지정하고 AI catalog.schema.mcp_service트래픽을 제어하기 위한 컨트롤 플레인 인 Unity AI Gateway를 통해 호출합니다.
MCP 서버를 Unity 카탈로그 보안 개체로 등록하면 다른 Unity 카탈로그 자산을 보호하는 동일한 기본 형식으로 관리합니다. 여기에는 호출할 수 있는 사용자를 제어하는 권한 부여, 노출하는 도구를 제한하는 도구 선택, 개별 도구 호출을 허용하거나 거부하는 서비스 정책 , 모든 호출을 추적하는 감사 및 사용 현황 로깅이 포함됩니다.
MCP 서비스를 사용하는 방법에는 두 가지가 있습니다.
| Approach | 사용 시기 |
|---|---|
| Databricks 제공 MCP 서비스 사용 | Slack, GitHub, Google Drive 같은 일반적인 SaaS 도구를 별도 설정 없이 원합니다. 호스트할 서버가 없고 만들 연결이 없습니다. |
| 사용자 고유의 외부 MCP 서버 등록 | Unity Catalog 보안 개체로 관리할 자체 호스팅 또는 타사 MCP 서버가 있습니다. |
MCP 서비스는 에이전트를 외부 서비스에 연결합니다. Azure Databricks 데이터의 경우 관리되는 MCP 서버를 사용하고, 고유한 도구를 호스트하려면 사용자 지정 MCP 서버를 사용합니다.
Tip
GitHub MCP 서버를 등록하고, 도구를 제한하고, 서비스 정책으로 파괴적인 호출을 차단하고, 사용량을 감사하는 전체 작업 예제는 자습서: 코딩 에이전트의 GitHub MCP 액세스 제어를 따릅니다.
작동 방식
에이전트는 Unity AI 게이트웨이 URL을 통해 MCP 서비스를 호출하고 모든 호출은 동일한 제어 경로를 통해 흐릅니다.
- 호출: 에이전트는 호출자의 Azure Databricks ID로 인증된 서비스의 Unity AI 게이트웨이 URL로 MCP 요청을 보냅니다.
-
권한 부여 및 관리: 게이트웨이는 호출자가
EXECUTEUnity 카탈로그의 MCP 서비스에 있는지 확인합니다. 서비스는 선택한 도구만 노출하고 호출에 대한 승인을 허용, 거부 또는 요구할 수 있는 연결된 서비스 정책을 평가합니다. - 관리되는 자격 증명이 있는 프록시: 요청은 서비스의 HTTP 연결을 통해 외부 MCP 서버로 전달됩니다. Azure Databricks 자격 증명을 저장하고 OAuth 흐름 및 토큰 새로 고침을 처리하므로 에이전트는 이를 볼 수 없습니다.
- 로그 사용량, 감사 및 추적: 모든 호출은 시스템 테이블에 기록되므로 시간이 지남에 따라 사용량 및 감사 작업을 모니터링할 수 있습니다.
Requirements
- Unity 카탈로그에 사용할 수 있는 작업 영역입니다.
- 외부 MCP 서버를 MCP 서비스로 제어하기 위해 계정에 대해 Unity AI 게이트웨이 베타 및 관리되는 MCP 서버 미리 보기가 사용하도록 설정되었습니다. Azure Databricks 미리 보기 관리를 참조하세요.
- 모델 제공이 지원되는 지역의 작업 영역입니다. 기능 가용성을 제공하는 모델을 참조하세요.
Databricks 제공 MCP 서비스
Azure Databricks 일반적인 SaaS 애플리케이션에 대한 스키마에서 즉시 사용할 수 있는 system.ai MCP 서비스를 제공하므로 에이전트는 자체 MCP 서버를 호스팅하거나 등록하지 않고도 이러한 도구에 연결할 수 있습니다. 각 서비스는 Unity 카탈로그 이름으로 주소를 지정하는 기본 제공 MCP 서비스입니다. 에이전트 액세스 권한을 부여하려면 서비스에 대한 권한을 부여 EXECUTE 합니다(예: system.ai.github연결 설정이 필요 없음). 기본 제공 서비스는 플랫폼 관리 도구와 쓰기 작업을 차단하는 것과 같은 기본 제공 서비스 정책을 제공합니다. 사용자 지정 도구 선택 또는 정책 함수가 아닌 권한 부여를 사용하여 관리합니다.
| MCP 서비스 | 다음에 연결 |
|---|---|
system.ai.slack |
Slack |
system.ai.github |
GitHub |
system.ai.atlassian |
Jira and Confluence |
system.ai.google_drive |
Google 드라이브 |
system.ai.google_calendar |
Google 일정 |
system.ai.gmail |
Gmail |
system.ai.sharepoint |
Microsoft SharePoint |
Google Drive, Gmail, Google Calendar 또는 SharePoint 경우 이러한 기본 제공 서비스는 앱 등록 없이 OAuth를 처리합니다.
외부 MCP 서버 등록
5단계에서 자체 외부 MCP 서버를 MCP 서비스로 등록합니다.
- MCP 서버에 Unity Catalog 연결을 생성합니다.
- 해당 연결에서 MCP 서비스를 만듭니다.
- 연결에서 사용자별 OAuth를 사용하는 경우 인증합니다.
- 팀원에게 액세스 권한을 부여합니다.
- 서비스를 호출한 다음 도구 선택 및 서비스 정책을 사용하여 관리합니다 .
외부 MCP 서버는 스트리밍 가능한 HTTP 전송 메커니즘을 사용해야 합니다. 다음 권한이 필요합니다.
-
연결을 생성하려면 연결을 생성하는 스키마에서
CREATE CONNECTION하세요. - MCP 서비스를 만들려면 부모 카탈로그 및 스키마에 대한
USE CATALOG및USE SCHEMA, 스키마에 대한CREATE SERVICE, 그리고 MCP 서비스가 참조하는 연결에 대한USE CONNECTION권한이 필요합니다. - MCP 서비스를 호출하려면 MCP 서비스에 대한
EXECUTE, 해당 상위 카탈로그 및 스키마에 대한USE CATALOG및USE SCHEMA, 그리고 요청을 실행하는 작업 영역에 대한 할당이 필요합니다.
Warning
MCP 서비스를 호출하는 데는 기본 연결EXECUTE에 대한 권한이 필요하지 않습니다. MCP 서비스에서는 충분합니다. 최종 사용자에게 USE CONNECTION를 부여하지 마세요. 이렇게 하면 최종 사용자가 연결을 통해 외부 서버를 직접 호출하거나 해당 서버에 자체 MCP 서비스를 등록하여 귀하의 MCP 서비스에 대한 도구 선택, 서비스 정책 및 감사를 우회할 수 있습니다. 서비스 작성자 및 관리자에 대한 연결 액세스를 예약합니다.
연결 만들기
MCP 서비스는 외부 서버의 엔드포인트 및 자격 증명을 안전하게 저장하는 Unity 카탈로그 HTTP 연결을 참조합니다. Azure Databricks 앞에서 관리 프록시를 실행하여 인증 및 토큰 새로 고침을 처리하므로 에이전트 또는 클라이언트 코드에 자격 증명을 포함하지 않습니다.
MCP 서비스와 함께 관리되도록 스키마 수준에서 연결을 만듭니다. 아래 단계를 사용하여 미리 설정하거나 새 연결 만들기를 클릭하여 MCP 서비스를 만드는 동안 만들 수 있습니다. 메타스토어 수준 연결은 지원되지만 권장되지는 않습니다.
다음 두 가지 방법 중 하나를 선택합니다.
HTTP 연결 만들기
자체 호스팅 또는 타사 서버를 비롯한 MCP 서버의 경우:
- 카탈로그>연결>연결 만들기로 이동합니다.
- 연결 유형으로 HTTP 를 선택합니다.
- MCP 서버 URL을 입력합니다.
- 인증 유형(전달자 토큰, OAuth M2M, OAuth U2M 또는 동적 클라이언트 등록)을 선택합니다. 설정 세부 정보는 외부 서비스에 대한 연결 만들기를 참조하세요.
관리되는 OAuth 공급자(Glean, GitHub, Atlassian 및 Slack)의 경우 Azure Databricks 자격 증명을 관리하므로 사용자 고유의 OAuth 앱을 등록하지 않습니다. 관리되는 OAuth 공급자를 참조하세요.
마켓플레이스에서 설치
미리 구성된 연결을 사용하여 Azure Databricks Marketplace에서 큐레이팅된 MCP 서버를 사용합니다. 외부 MCP 서버에 대한 액세스 권한을 참조하세요.
MCP 서비스 만들기
UI 또는 REST API를 사용하여 MCP 서비스를 만들 수 있습니다. 베타는 MCP 서비스에 대한 SQL DDL을 지원하지 않습니다.
사용자 인터페이스 (UI)
- Azure Databricks 작업 영역에서 AI Gateway>MCP>등록 MCP 서버로 이동하거나 카탈로그로 이동하여 스키마를 선택하고MCP 서비스>를 클릭합니다.
- MCP 서비스의 카탈로그, 스키마 및 이름을 입력합니다. 만든 후에는 이름을 변경할 수 없습니다.
- MCP 서버에 대한 기존 HTTP 연결을 선택하거나 새 연결 만들기 를 클릭하여 만듭니다. 스키마 아래에서 찾아서 스키마 수준 연결을 선택합니다. 메타스토어 수준 연결을 사용하려면 스키마 아래에서 찾아보기를 끕니다.
- 도구에서 사용할 도구를 선택합니다. 노출되는 도구 선택을 참조하세요.
- 필요에 따라 MCP 서비스를 설명하는 주석을 추가합니다.
- 만들기를 클릭합니다. MCP 서비스는 지정한 카탈로그 및 스키마에 게시됩니다.
REST API
기존 Unity 카탈로그 HTTP 연결을 참조하는 MCP 서비스를 만듭니다.
parent을(를) 대상 스키마로, mcp_service_id을(를) 서비스 이름으로 설정합니다:
databricks api post \
"/api/2.1/unity-catalog/mcp-services?parent=schemas/main.default&mcp_service_id=my_mcp" \
--json '{
"comment": "External MCP server",
"config": {
"connection": {
"name": "connections/main.default.my_connection"
},
"include_tool_selectors": []
}
}'
include_tool_selectors 는 서비스에서 노출하는 도구를 제어합니다. 빈 목록은 모든 도구를 노출합니다.
노출되는 도구 선택을 참조하세요.
변경할 필드의 이름을 지정하는 PATCH 및 update_mask 요청을 사용하여 기존 MCP 서비스를 업데이트합니다.
databricks api patch \
"/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=comment" \
--json '{ "comment": "Updated description" }'
Authenticate
MCP 서비스가 사용자별 OAuth를 사용하는 연결을 참조하는 경우 첫 번째 호출 전에 일회성 로그인을 완료합니다.
- 카탈로그 탐색기에서 MCP 서비스 세부 정보 페이지를 엽니다.
- 로그인을 클릭하고 공급자의 OAuth 동의 흐름을 완료합니다.
- 로그인하면 세부 정보 페이지에 검색된 도구 목록이 자동으로 표시됩니다.
Unity Catalog는 사용자 신원에 연결된 토큰을 저장합니다. 로그인하기 전에 MCP 서비스를 호출하는 경우 AI Gateway는 인증하라는 메시지를 표시하는 오류를 반환합니다.
팀 동료에게 액세스 권한 부여
기본적으로 MCP 서비스 소유자만 호출할 수 있습니다. 다른 사용자, 그룹 또는 서비스 주체가 서비스를 호출할 수 있도록 허용 EXECUTE 합니다. 단일 EXECUTE 권한 부여는 서비스의 모든 도구를 포함합니다.
사용자 인터페이스 (UI)
- 카탈로그 탐색기에서 MCP 서비스를 열거나 AI 게이트웨이>MCP 로 이동하여 서비스를 선택합니다.
- 사용 권한 탭으로 이동합니다.
- Grant를 클릭합니다.
- 액세스 권한을 부여할 사용자, 그룹 또는 서비스 주체를 선택합니다.
- EXECUTE 권한을 선택합니다.
- Grant를 클릭합니다.
REST API
databricks api patch \
"/api/2.1/unity-catalog/permissions/mcp_service/main.default.my_mcp" \
--json '{
"changes": [
{ "principal": "data-team", "add": ["EXECUTE"] }
]
}'
MCP 서비스 호출
AI Playground, 명령줄 또는 에이전트 또는 클라이언트 코드에서 MCP 서비스를 사용해 보세요.
MCP 서비스 테스트
AI 플레이그라운드
코드를 작성하지 않고 UI에서 MCP 서비스의 도구를 테스트합니다.
- Azure Databricks 작업 영역에서 AI 플레이그라운드로 이동합니다.
- 도구 활성화됨 레이블이 지정된 모델을 선택합니다.
- 도구 > + 도구 추가를 클릭하고 MCP 서버를 선택합니다.
- 외부 MCP 서버를 선택한 다음 MCP 서비스를 선택합니다.
- 모델과 채팅하여 MCP 서비스의 도구를 호출하는 방법을 확인합니다.
Genie Code에서 테스트할 수도 있습니다. 길잡이에 MCP 서버 추가를 참조하세요.
CURL
빠른 명령줄 확인을 위해 MCP 서비스 세부 정보 페이지에서 생성된 요청을 사용합니다.
시작에서 액세스 토큰 생성을 클릭하여 액세스 토큰을 요청 예제에 복사합니다. 이 예제에서는 토큰을 Bearer 토큰으로 Authorization 헤더에서 전송합니다.
작업 영역에 Databricks CLI 를 인증한 다음 OAuth 액세스 토큰을 가져오는 데 사용할 databricks auth token 수도 있습니다.
databricks auth login --host https://<workspace-url>
모든 요청은 동일한 MCP 서비스 엔드포인트로 이동합니다. 요청 본문의 JSON-RPC method 작업을 선택합니다. 서비스에서 노출하는 도구를 나열합니다.
TOKEN=$(databricks auth token | jq -r .access_token)
curl -s -X POST \
"https://<workspace-url>/ai-gateway/mcp-services/main.default.my_mcp" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
도구 호출:
curl -s -X POST \
"https://<workspace-url>/ai-gateway/mcp-services/main.default.my_mcp" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"<tool_name>","arguments":{}}}'
에이전트 코드 또는 코딩 에이전트에서 사용
- 에이전트 코드 (OpenAI 에이전트 SDK, LangGraph 또는 모델 서비스): 에이전트에서 MCP 서버 사용을 참조하세요.
- AI 도우미 및 코딩 에이전트 (Claude, Claude Code, Cursor): AI 도우미 및 코딩 에이전트에 MCP 연결 참조
MCP 서비스 관리
노출되는 도구 선택
기본적으로 MCP 서비스는 MCP 서버에서 제공하는 모든 도구를 사용할 수 있습니다. 하위 집합만 사용할 수 있도록 하려면 MCP 서비스를 만들 때 도구를 선택하거나 나중에 선택을 업데이트합니다. 각 선택기는 도구 이름을 기준으로 매칭됩니다. *로 끝나는 패턴은 접두사 일치입니다(get_*은 get_me 및 get_issue와 일치). 그 외의 모든 값은 정확히 일치합니다(search_repositories는 해당 도구에만 일치합니다).
사용자 인터페이스 (UI)
만들기 흐름의 도구에서 다음을 수행합니다.
- 수동으로 선택을 선택하여 각 도구를 개별적으로 선택합니다.
- 위에서 설명한 접두사 및 정확한 일치 규칙을 사용하여 선택 패턴을 입력하려면 고급 을 선택합니다.
- 나중에 이 서버에 추가된 도구 자동 포함을 켜면 MCP 서버가 추가될 때 새 도구를 사용할 수 있습니다.
REST API
만든 후 도구 선택을 변경하려면 요청으로 include_tool_selectors 설정합니다PATCH. 서비스만 get_* 도구로 제한:
databricks api patch \
"/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=config.include_tool_selectors" \
--json '{
"config": {
"include_tool_selectors": ["get_*"]
}
}'
include_tool_selectors를 빈 목록으로 설정하여 모든 도구를 다시 사용할 수 있게 재설정합니다.
선택하지 않은 도구는 tools/list에 표시되지 않으며, MCP 서비스는 선택되지 않은 도구에 대한 tools/call를 거부합니다:
{ "code": -32003, "message": "Tool not allowed by MCP service configuration." }
서비스 정책 적용
서비스 정책은 각 도구 호출이 실행되기 전에(ON CALL) 및 선택적으로 해당 결과(ON RESULT)를 평가합니다. 정책은 사용할 수 있는 도구를 변경하지 않고 파괴적인 작업을 차단하거나 PII가 포함된 호출을 차단하기 위해 요청에 대한 사용자 승인을 허용, 거부 또는 요구할 수 있습니다. 서비스 정책은 Unity 카탈로그의 AI 거버넌스의 일부입니다.
정책 함수를 작성하고 MCP 서비스에 연결하려면 AI 보안 개체에 대한 서비스 정책을 참조하고 서비스 정책을 만들고 연결합니다.
속도 제한 설정
에이전트가 MCP 서비스를 호출하여 비용을 제어하고 외부 서버를 보호할 수 있는 빈도를 제한합니다. Unity AI 게이트웨이를 사용하여 AI 서비스에 대한 속도 제한 구성을 참조하세요.
사용량 모니터링
Unity AI 게이트웨이는 Unity 카탈로그 시스템 테이블의 모든 MCP 서비스에 대한 작업을 기록합니다.
-
사용량:
system.ai_gateway.usage의 호출량, 오류 및 지연 시간(필터service_type = 'MCP_SERVICE'). Unity AI Gateway 서비스에 대한 모델 사용을 참조하세요. -
감사:
createMcpService에서 컨트롤 플레인 변경(updateMcpService,deleteMcpService,mcpCall)과 각 호출(system.access.audit)이 기록됩니다. 감사 로그 시스템 테이블 참조를 참조하세요. - 추적: 도구 호출 요청, 응답 및 정책 결정은 추적 로깅에 의해 캡처됩니다. 추적 로깅은 계정 수준에서 한 번 사용하도록 설정되고 모든 MCP 서비스에서 공유됩니다.
- 대시보드: 외부 MCP 서버 트래픽이 기본 제공 Unity AI Gateway 사용 대시보드에 표시됩니다. 기본 제공 사용 대시보드를 참조하세요.
모든 Unity 카탈로그 시스템 테이블은 시스템 테이블 참조를 참조하세요. AI 트래픽 관리 개요는 Unity 카탈로그의 AI 거버넌스를 참조하세요.
인증 및 보안
Azure Databricks 관리되는 MCP 프록시 및 Unity 카탈로그 HTTP 연결을 사용하여 외부 MCP 서버에 대한 인증을 안전하게 처리합니다.
- 공유 주체 인증: 모든 사용자가 외부 서비스에 액세스할 때 동일한 자격 증명을 공유합니다. 여기에는 전달자 토큰, OAuth M2M(컴퓨터 간) 및 OAuth 사용자 간 공유 인증이 포함됩니다. 외부 서비스에 사용자별 액세스가 필요하지 않거나 단일 서비스 계정으로 충분할 때 사용합니다.
- 사용자별 인증(사용자당 OAuth U2M): 각 사용자는 자신의 자격 증명으로 인증합니다. 외부 서비스는 개별 사용자를 대신하여 요청을 수신하여 사용자별 액세스 제어, 감사 및 책임을 사용하도록 설정합니다. 사용자의 GitHub 리포지토리, Slack 메시지 또는 일정과 같은 사용자별 리소스에 액세스할 때 사용합니다.
Azure Databricks OAuth 흐름 및 토큰 새로 고침을 처리하므로 최종 사용자에게 토큰이 표시되지 않습니다. Unity AI Gateway에서 LLM 엔드포인트와 함께 외부 MCP 연결을 보고 관리합니다. 각 인증 방법에 대한 자세한 구성 지침은 HTTP 연결을 참조하세요.
Limitations
베타 기간 동안 MCP 서비스에는 다음과 같은 제한 사항이 적용됩니다.
- MCP Services용 SQL DDL(예
CREATE MCP SERVICE: )을 사용할 수 없습니다. UI 또는 REST API를 사용하여 MCP 서비스를 만들고 관리합니다. - 외부 MCP 서버만 자체 MCP 서비스로 등록할 수 있습니다. Genie, Apps 또는 Unity 카탈로그 엔터티 원본을 MCP 서비스로 등록하는 것은 현재 지원되지 않습니다. Azure Databricks 일반적인 SaaS 앱에 대한 기본 제공 MCP 서비스도 제공합니다.
- 도구 선택은 접두사(
get_*) 및 정확한 일치 패턴을 지원합니다. 제외 패턴(예:!delete_*)은 지원되지 않습니다. - Unity 카탈로그 전역 검색은 MCP 서비스를 표시하지 않습니다.
외부 MCP 서버 연결에도 다음과 같은 제한 사항이 있습니다.
- 외부 MCP 서버는 AI Playground, Genie Code 및 Genie의 채팅에서의 사용을 포함하여 모델 제공이 지원되는 지역에서만 사용할 수 있습니다. 기능 가용성을 제공하는 모델을 참조하세요.
다음 단계
- 에이전트의 MCP 서버를 사용하여 에이전트 코드에서 프로그래밍 방식으로 MCP 서비스를 호출합니다.
- MCP를 AI 도우미 및 코딩 에이전트에 연결하여 코딩 에이전트 및 AI 도우미를 연결합니다.
- 중앙 위치에서 MCP 서버 및 LLM 엔드포인트를 제어하는 Unity AI Gateway를 사용한 AI 거버넌스.