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 에이전트를 수동으로 등록해야 합니다.

  1. 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_apps API 엔드포인트를 직접 호출해야 합니다. 이 방법을 사용하면 다음 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
      }'
      
  2. 인증 메서드에서 OAuth 앱 등록 API 엔드포인트를 찾습니다. 검색 필드에서 'oauth 앱'을 검색할 수도 있습니다.

  3. OAuth 앱 등록 페이지에서 실행 버튼을 클릭합니다.

  4. 실행 대화상자의 요청 탭에서 다음 정보를 해당 필드에 입력합니다.

    • 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 8080 플래그 또는 callbackPortmcp.json 설정을 사용하여 수정해야 합니다.

      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
      
    • display_namedescription을(를) OAuth 클라이언트 애플리케이션 등록 문서에 설명된 대로 작성합니다.

  5. 이 API 엔드포인트가 데이터를 변경한다는 것을 이해합니다. 체크박스를 선택합니다.

  6. 실행 을 클릭합니다.

  7. 다음 단계에 따라 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를 구성합니다.

  1. Gemini CLI를 설치합니다.
  2. 다음 명령어를 사용하여 원격 MCP 서버를 추가합니다. LOOKER_INSTANCE_URL을 Looker 인스턴스 URL로 바꿉니다.
    gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
    

    또는 settings.json 파일 (~/.gemini/settings.json 또는 프로젝트 디렉터리에 있음)에 다음 구성을 추가하여 수동으로 구성할 수 있습니다.

    {
      "mcpServers": {
        "looker": {
          "httpUrl": "LOOKER_INSTANCE_URL/mcp"
        }
      }
    }
    
  3. 대화형 모드에서 Gemini CLI를 시작합니다.
    gemini
    
    연결하라는 메시지가 표시되면 CLI는 OAuth 승인 흐름을 시작하여 Looker 인스턴스를 안전하게 인증합니다.

Gemini Code Assist

Gemini Code Assist에서 Gemini CLI를 사용하도록 구성하는 것이 좋습니다. 이 방법을 사용하면 MCP 서버를 수동으로 구성하지 않아도 됩니다.

  1. Gemini CLI 및 Looker 관리형 MCP 서버가 설치되고 구성되었는지 확인합니다.
  2. Gemini Code Assist에서 Gemini CLI를 사용하도록 구성합니다.
  3. Gemini Code Assist 채팅 내에서 직접 자연어를 사용하여 Looker 인스턴스와 상호작용합니다.

Claude code

  1. Claude Code를 설치합니다.
  2. 프로젝트 루트에 .mcp.json 파일이 없으면 이 파일을 만듭니다.
  3. 다음 구성을 추가하고 PROXY_URL을 역방향 프록시 서버의 도메인으로 바꾼 후 저장합니다.

      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Claude Desktop

  1. Claude Desktop에서 설정 으로 이동하고 커넥터 를 선택합니다.
  2. 커스텀 커넥터 추가 를 선택하고 이름 (예: Looker)을 입력합니다.
  3. URL의 경우 /mcp 경로가 추가된 Looker 인스턴스의 URL을 입력합니다 (예: https://looker.example.com/mcp).
  4. 고급 설정에서 client_guid에 사용한 정확한 문자열을 OAuth 앱 등록 중에 입력합니다. OAuth 클라이언트 보안 비밀번호는 비워 둡니다.
  5. 추가 를 선택하여 커넥터를 저장합니다. 연결하라는 메시지가 표시되면 Claude Desktop은 브라우저를 통해 PKCE 승인 흐름을 안전하게 시작합니다.
  1. Claude Desktop을 다시 시작합니다.

Cline

  1. IDE에서 Cline 확장 프로그램을 열고 MCP 서버 아이콘을 클릭합니다.
  2. MCP 서버 구성 을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 LOOKER_INSTANCE_URL을 Looker URL로 바꾼 후 저장합니다.

      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

서버가 성공적으로 연결되면 녹색 활성 상태가 표시됩니다.

커서

  1. 프로젝트 루트에 .cursor 디렉터리가 없으면 이 디렉터리를 만듭니다.
  2. .cursor/mcp.json 파일이 없으면 만들고 엽니다.
  3. 다음 구성을 추가하고 LOOKER_INSTANCE_URL을 Looker URL로 바꾼 후 저장합니다.
      {
        "mcpServers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  
  1. 커서를 열고 설정 > 커서 설정 > MCP로 이동합니다. 서버가 연결되면 녹색 활성 상태가 표시됩니다.

Visual Studio Code (Copilot)

  1. VS Code를 열고 프로젝트 루트에 .vscode 디렉터리가 없으면 이 디렉터리를 만듭니다.
  2. .vscode/mcp.json 파일이 없으면 만들고 엽니다.
  3. 다음 구성을 추가하고 LOOKER_INSTANCE_URL을 Looker 인스턴스의 URL로 바꾼 후 저장합니다.
      {
        "servers": {
          "looker-toolbox": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Windsurf

  1. Windsurf를 열고 Cascade 어시스턴트로 이동합니다.
  2. MCP 아이콘을 클릭한 후 구성 을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 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에서 추적됩니다. 시스템 활동 Explore로 Looker 사용량 모니터링하기 문서 페이지에서는 다음과 같은 샘플 쿼리를 제공합니다.

Cloud 감사 로그

Looker (Google Cloud 핵심 서비스) 인스턴스는 Cloud 감사 로그를 통해 Looker 관리형 MCP 서버 활동도 추적합니다. Looker (Google Cloud 핵심 서비스) 감사 로깅 문서 페이지에서는 샘플 쿼리를 제공합니다.

제한사항

  • 세분화된 범위: OAuth 범위는 아직 관리형 MCP 서버에서 지원되지 않습니다. 액세스 제어는 전역 도구 허용 목록과 사용자의 기본 권한에 의존합니다.
  • 동적 등록: 동적 클라이언트 등록은 미리보기에서 지원되지 않습니다.
  • 클라이언트 새로고침: 도구 허용 목록의 변경사항은 연결된 클라이언트에 자동으로 푸시되지 않습니다. 사용자는 도구 목록을 변경한 후 30초 동안 기다린 다음 클라이언트를 다시 연결하여 도구 매니페스트를 새로고침해야 합니다. MCP 서버에 다시 연결하는 방법에 대한 자세한 내용은 클라이언트의 문서를 참조하세요.
  • 서버 용량: 미리보기 단계에서는 성능 데이터를 수집할 수 있도록 관리형 MCP 서버가 고정 용량으로 구성됩니다. 사용량이 최고조일 때는 간헐적으로 제한 시간이 초과될 수 있습니다. 이는 정상적인 동작입니다.
  • IP 허용 목록: Looker 관리형 MCP 서버는 Looker (원본)의 IP 허용 목록과 호환되지 않습니다. Looker (Google Cloud 핵심 서비스)의 IP 허용 목록과 호환됩니다.

가격 책정 및 할당량

Looker 관리형 MCP 서버는 추가 비용 없이 사용할 수 있습니다. 하지만 AI 에이전트가 수행하는 도구 호출은 인스턴스의 표준 관리 및 쿼리 기반 API 할당량을 사용합니다. 에이전트 활동이 많으면 사용 가능한 API 할당량에 영향을 미칠 수 있습니다.