Looker 관리형 MCP 서버
Looker 관리 MCP 서버는 모델 컨텍스트 프로토콜 (MCP) 서버를 Looker 플랫폼에 직접 삽입하는 기본 제공 통합입니다. 이를 통해 Gemini CLI, Claude Desktop, Cursor, Copilot과 같은 AI 에이전트가 Looker 인스턴스에 안전하게 연결하고 비즈니스 데이터 및 LookML 모델과 상호작용할 수 있습니다.
서버를 호스팅함으로써 Looker는 자체 미들웨어 인프라를 배포하고 유지관리할 필요가 없도록 지원하여 신뢰할 수 있는 비즈니스 통계에 대한 플러그 앤 플레이 방식의 안전하고 관리되는 게이트웨이를 제공합니다.
Looker 관리형 MCP 서버는 Looker (Google Cloud 핵심 서비스) 및 Looker (원본) 인스턴스에서 프리뷰로 제공됩니다. 이 미리보기에서는 고객 호스팅 (온프레미스) 인스턴스가 지원되지 않습니다.
고객 호스팅 인스턴스를 사용하거나 자체 인프라를 관리하려는 경우 독립형 데이터베이스용 MCP 도구 상자를 사용하여 연결할 수 있습니다. MCP 도구 상자는 로컬 컴퓨터나 자체 서버에서 실행하여 AI 에이전트와 Looker 인스턴스 간의 브리지 역할을 할 수 있는 오픈소스 MCP 서버입니다. 자세한 내용은 MCP, Gemini CLI, 기타 에이전트와 함께 Looker 사용 문서 페이지를 참고하세요.
시작하기 전에
Looker 관리 MCP 서버를 사용하려면 다음 요구사항을 충족해야 합니다.
인스턴스 요구사항
- Looker (Google Cloud 핵심 서비스) 또는 Looker (원본) 인스턴스를 사용해야 합니다.
- 인스턴스는 Looker에서 호스팅되어야 합니다.
필수 권한
- 도구 액세스 권한을 관리하려면 관리자 Looker 역할이 있어야 합니다.
- API 탐색기를 사용하여 AI 에이전트를 OAuth 클라이언트로 등록하려면 관리자 Looker 역할이 있어야 합니다.
- AI 에이전트를 Looker 관리 MCP 서버에 연결하려면: OAuth 연결 프로세스 중에 인증하려면 표준 Looker 로그인 사용자 인증 정보가 필요합니다. AI 에이전트는 먼저 Looker 관리자가 OAuth 클라이언트로 등록해야 합니다. 연결되면 AI 에이전트가 인증된 사용자의 Looker 역할과 액세스 권한을 상속합니다.
관리형 MCP 서버 설정
관리 MCP 서버를 설정하려면 도구 액세스를 구성하세요.
도구 설정 구성
기본적으로 관리 MCP 서버의 모든 도구는 사용 중지되어 있습니다. Looker 관리자는 AI 에이전트가 사용할 수 있는 도구를 명시적으로 사용 설정해야 합니다. 도구를 사용 설정하는 단계는 관리자 설정 - 모델 컨텍스트 프로토콜 (MCP) 문서 페이지를 참고하세요.
OAuth를 통해 AI 에이전트 등록
프리뷰 출시 기간 동안 Looker 관리자는 관리 MCP 서버에 에이전트를 연결하기 위해 AI 에이전트를 수동으로 등록해야 합니다.
Looker API 탐색기를 엽니다.
Looker 인스턴스에 API 탐색기가 이미 설치되어 있으면 다음 URL 형식을 사용하여 액세스할 수 있습니다.
https://LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/Looker 인스턴스에 API 탐색기가 없는 경우 Looker Marketplace에서 설치할 수 있습니다. 자세한 내용은 API 탐색기 사용 페이지를 참조하세요.
비공개 서비스 액세스를 사용하는 Looker (Google Cloud 핵심 서비스) 비공개 연결 인스턴스를 사용하는 경우 Looker Marketplace 및 API 탐색기가 지원되지 않습니다. AI 에이전트를 등록하려면
oauth_client_appsAPI 엔드포인트를 직접 호출해야 합니다. 이 방법을 사용하는 경우 다음 API 탐색기 절차를 건너뛰고 MCP 클라이언트 구성 섹션으로 바로 진행하면 됩니다.이 섹션을 펼쳐
oauth_client_apps엔드포인트와 함께 사용하여 에이전트를 등록할 수 있는curl명령어의 예를 확인하세요.curl -X POST "https://LOOKER_INSTANCE_URL/api/4.0/oauth_client_apps/CLIENT_GUID" \ -H "Authorization: token ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "redirect_uri": "REDIRECT_URI", "display_name": "CLIENT_NAME", "description": "OAuth client to access MCP server using CLIENT_NAME", "enabled": true }'
Auth 메서드에서 OAuth 앱 등록 API 엔드포인트를 찾습니다. 검색 필드에서 'oauth app'을 검색할 수도 있습니다.
OAuth 앱 등록 페이지에서 실행 버튼을 클릭합니다.
실행 대화상자의 요청 탭에서 다음 정보를 해당 필드에 입력합니다.
client_guid필드의 경우 다음 단계를 완료합니다.- 에이전트가 특정 클라이언트 ID를 처방하는 경우 해당 클라이언트 ID를 사용합니다.
- 상담사가 특정 클라이언트 ID를 처방하지 않는 경우 전역적으로 고유한 ID를 사용하세요.
- 에이전트를 사용하려는 LookML 개발자에게 ID를 배포할 준비를 합니다.
redirect_uri의 경우 URI는 AI 에이전트 애플리케이션에 따라 다릅니다. 에이전트의 OAuth 인증 문서에서 특정 리디렉션 URL을 확인할 수 있습니다. 형식은 다음 예 중 하나와 비슷합니다.Gemini CLI
http://localhost:7777/oauth/callback
Gemini Code Assist
http://localhost:7777/oauth/callback
Gemini Code Assist와 함께 Gemini CLI를 사용하는 것이 좋습니다. 이 경우 동일한 로컬 콜백 서버와 포트 구성을 공유합니다.
Claude code
Claude Code는 OAuth 콜백에 사용 가능한 임의의 포트를 사용하지만 등록된 URI와 일치하도록
플래그 (또는--callback-port 8080mcp.json의callbackPort설정)를 사용하여 수정해야 합니다.http://localhost:8080/callback
VS Code 및 기타 IDE
IDE의 경우 리디렉션 URI는 IDE에 맞게 맞춤설정되어 다음과 같이 표시될 수 있습니다.
vscode://google.vscode-looker-official/oauth_callback
클라우드 호스팅 앱
클라우드 호스팅 애플리케이션의 경우 안전한 HTTPS URL과 비슷할 수 있습니다.
https://AI_AGENT_URL/oauth2callback
로컬 앱
로컬로 실행되는 애플리케이션의 경우 고정 포트가 있는 localhost URL이어야 합니다.
http://localhost:7777/oauth/callback
OAuth 클라이언트 애플리케이션 등록 문서에 설명된 대로
display_name및description을 완료합니다.
이 API 엔드포인트가 데이터를 변경한다는 것을 이해합니다. 체크박스를 선택합니다.
실행을 클릭합니다.
다음 단계에 따라 API 탐색기에서
Get OAuth Client App메서드를 사용하여 인증을 성공적으로 설정했는지 확인할 수 있습니다.- API 탐색기의 검색 필드에 OAuth 클라이언트 앱 가져오기를 입력합니다.
- 실행을 클릭합니다.
client_guid 필드에 OAuth를 등록할 때 사용한 값을 입력합니다.
client_guid
OAuth를 성공적으로 설정했으면 응답 탭에서 앱을 등록할 때 입력한 값을 반환합니다.
MCP 클라이언트 구성
AI 에이전트가 등록되면 관리형 MCP 엔드포인트에 MCP 클라이언트로 연결할 수 있습니다. 에이전트 문서를 참고하여 클라이언트 설정을 완료하세요.
- 서버 URL:
LOOKER_INSTANCE_URL/mcp - 인증: OAuth 2.1
구성 예시 (mcp.json)
이 섹션에서는 Looker 관리 MCP 서버를 사용하여 Looker 인스턴스에 연결하도록 다양한 개발자 도구를 구성하는 방법을 설명합니다. MCP 서버는 IDE와 Looker 사이에 있으며 AI 도구를 위한 안전하고 효율적인 컨트롤 플레인을 제공합니다. 특정 도구의 탭을 선택하여 구성 안내를 확인합니다.
Gemini CLI
Looker 관리 MCP 서버에 직접 연결하도록 Gemini CLI를 구성합니다.
- Gemini CLI를 설치합니다.
- 다음 명령어를 사용하여 원격 MCP 서버를 추가합니다. 이때
LOOKER_INSTANCE_URL을 Looker 인스턴스 URL로 바꿉니다.gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
또는
~/.gemini/settings.json이나 프로젝트 디렉터리에 있는settings.json파일에 다음 구성을 추가하여 수동으로 구성할 수 있습니다.{ "mcpServers": { "looker": { "httpUrl": "LOOKER_INSTANCE_URL/mcp" } } } - 대화형 모드에서 Gemini CLI를 시작합니다.
연결하라는 메시지가 표시되면 CLI는 OAuth 승인 흐름을 시작하여 Looker 인스턴스를 안전하게 인증합니다.gemini
Gemini Code Assist
Gemini Code Assist에서 Gemini CLI를 사용하도록 구성하는 것이 좋습니다. 이 방법을 사용하면 MCP 서버를 수동으로 구성하지 않아도 됩니다.
- Gemini CLI 및 Looker 관리 MCP 서버가 설치되고 구성되었는지 확인합니다.
- Gemini Code Assist에서 Gemini CLI를 사용하도록 구성합니다.
- Gemini Code Assist 채팅 내에서 직접 자연어를 사용하여 Looker 인스턴스와 상호작용합니다.
Claude code
- Claude Code를 설치합니다.
- 프로젝트 루트에
.mcp.json파일이 없으면 이 파일을 만듭니다. - 다음 구성을 추가하고
PROXY_URL를 리버스 프록시 서버의 도메인으로 바꾼 후 저장합니다.
{
"mcpServers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Claude Desktop
- Claude 데스크톱에서 설정으로 이동하고 커넥터를 선택합니다.
- 맞춤 커넥터 추가를 선택하고 이름을 입력합니다 (예: Looker).
- URL에
/mcp경로가 추가된 Looker 인스턴스의 URL을 입력합니다 (예:https://looker.example.com/mcp). - 고급 설정에서 OAuth 앱 등록 중에
client_guid에 사용한 정확한 문자열을 입력합니다. OAuth 클라이언트 보안 비밀번호를 비워 둡니다. - 추가를 선택하여 커넥터를 저장합니다. 연결하라는 메시지가 표시되면 Claude 데스크톱이 브라우저를 통해 PKCE 승인 흐름을 안전하게 시작합니다.
- Claude Desktop을 다시 시작합니다.
Cline
- IDE에서 Cline 확장 프로그램을 열고 MCP 서버 아이콘을 클릭합니다.
- MCP 서버 구성을 클릭하여 구성 파일을 엽니다.
- 다음 구성을 추가하고
LOOKER_INSTANCE_URL를 Looker URL로 바꾼 후 저장합니다.
{
"mcpServers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
커서
- 프로젝트 루트에
.cursor디렉터리가 없으면 이 디렉터리를 만듭니다. .cursor/mcp.json파일이 없으면 만들고 엽니다.- 다음 구성을 추가하고
LOOKER_INSTANCE_URL를 Looker URL로 바꾼 후 저장합니다.
{
"mcpServers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
- 커서를 열고 설정 > 커서 설정 > MCP로 이동합니다. 서버가 연결되면 녹색 활성 상태가 표시됩니다.
Visual Studio Code(Copilot)
- VS Code를 열고 프로젝트 루트에
.vscode디렉터리가 없으면 이 디렉터리를 만듭니다. .vscode/mcp.json파일이 없으면 만들고 엽니다.- 다음 구성을 추가하고
LOOKER_INSTANCE_URL를 Looker 인스턴스의 URL로 바꾼 후 저장합니다.
{
"servers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
Windsurf
- Windsurf를 열고 Cascade 어시스턴트로 이동합니다.
- MCP 아이콘을 클릭한 후 구성을 클릭하여 구성 파일을 엽니다.
- 다음 구성을 추가하고
LOOKER_INSTANCE_URL를 Looker 인스턴스의 URL로 바꾼 후 저장합니다.
{
"mcpServers": {
"looker-toolbox": {
"type": "http",
"url": "LOOKER_INSTANCE_URL/mcp"
}
}
}
클라이언트로 인증
mcp.json 설정으로 MCP 클라이언트를 구성한 후 해당 클라이언트를 통해 Looker와 상호작용하려고 하면 OAuth 2.1 인증 흐름이 시작됩니다. 일반적으로 클라이언트가 브라우저 창을 열고, 여기에서 표준 사용자 인증 정보를 사용하여 Looker 인스턴스에 로그인하고, 애플리케이션에 Looker에 액세스할 수 있는 권한을 부여해야 합니다.
이 로그인 프로세스는 MCP 클라이언트가 향후 요청을 위한 액세스 토큰을 획득할 수 있도록 하는 대화형 인증 단계입니다.
자세한 내용은 클라이언트 문서를 참고하세요.
연결되면 클라이언트는 Looker 역할과 콘텐츠 액세스 권한을 상속받습니다. 클라이언트는 Looker 관리자가 MCP 서버에 사용 설정한 AI 도구에도 액세스할 수 있습니다. 사용 가능한 모든 도구 목록은 AI 도구 사용 문서를 참고하세요.
보안 및 거버넌스
관리형 MCP 서버는 Looker의 기존 보안 및 거버넌스 프레임워크를 상속하도록 설계되었습니다.
- 권한 경계: 서버는 엄격한 사용자 수준 권한을 적용합니다. AI 에이전트는 인증된 사용자가 볼 권한이 없는 데이터나 모델에 액세스할 수 없습니다.
- VPC 서비스 제어: VPC 서비스 제어를 사용하는 Looker (Google Cloud 핵심 서비스) 인스턴스의 경우 관리형 MCP 엔드포인트는 추가 정책이나 구성 없이 기존 VPC 서비스 제어 경계를 따릅니다.
- 고객 관리 암호화 키 (CMEK): CMEK를 사용하는 Looker (Google Cloud 핵심 서비스) 인스턴스의 경우 관리 MCP 서버는 추가 정책이나 구성이 필요 없이 CMEK를 준수합니다.
감사 로깅
AI 에이전트가 취한 모든 작업은 Looker 시스템 활동 및 Cloud 감사 로그에 로깅됩니다.
시스템 활동
Looker에서 관리하는 MCP 서버 활동은 기록 및 이벤트 속성 탐색에서 추적됩니다. 시스템 활동 Explore로 Looker 사용량 모니터링하기 문서 페이지에서는 다음 샘플 쿼리를 제공합니다.
- Looker 관리 MCP 서버에서 시작된 API 호출은 무엇인가요?
- Looker 관리 MCP 서버의 요청과 관련된 이벤트는 무엇인가요?
- Looker 관리자가 Looker 관리 MCP 서버 도구 설정에 어떤 업데이트를 적용했나요?
- Looker 관리 MCP 서버 사용자가 실행한 쿼리는 무엇인가요?
Cloud 감사 로그
Looker (Google Cloud 핵심 서비스) 인스턴스는 Cloud 감사 로그를 통해 Looker에서 관리하는 MCP 서버 활동도 추적합니다. Looker (Google Cloud 핵심 서비스) 감사 로깅 문서 페이지에는 샘플 쿼리가 제공됩니다.
제한사항
- 세부적인 범위: 관리형 MCP 서버에는 아직 OAuth 범위가 지원되지 않습니다. 액세스 제어는 전역 도구 허용 목록과 사용자의 기본 권한에 따라 달라집니다.
- 동적 등록: 동적 클라이언트 등록은 미리보기에서 지원되지 않습니다.
- 클라이언트 새로고침: 도구 허용 목록의 변경사항이 연결된 클라이언트에 자동으로 푸시되지 않습니다. 사용자는 도구 목록을 변경한 후 30초 동안 기다린 다음 클라이언트를 다시 연결하여 도구 매니페스트를 새로고침해야 합니다. MCP 서버에 다시 연결하는 방법에 관한 자세한 내용은 클라이언트 문서를 참고하세요.
- 서버 용량: 미리보기 단계에서는 Google에서 성능 데이터를 수집할 수 있도록 관리형 MCP 서버가 고정 용량으로 구성됩니다. 사용량이 급증하는 기간에는 일시적으로 시간 초과가 발생할 수 있습니다. 이는 정상적인 동작입니다.
- IP 허용 목록: Looker 관리 MCP 서버는 Looker (기존)의 IP 허용 목록과 호환되지 않습니다. Looker (Google Cloud 핵심 서비스)의 IP 허용 목록과 호환됩니다.
가격 책정 및 할당량
Looker 관리 MCP 서버는 추가 비용 없이 사용할 수 있습니다. 하지만 AI 에이전트가 수행하는 도구 호출은 인스턴스의 표준 관리 및 쿼리 기반 API 할당량을 사용합니다. 에이전트 활동이 많으면 사용 가능한 API 할당량에 영향을 미칠 수 있습니다.