Server MCP yang dikelola Looker

Server MCP yang dikelola Looker adalah integrasi bawaan yang menyematkan server Model Context Protocol (MCP) langsung ke platform Looker. MCP memungkinkan agen AI — seperti Gemini CLI, Claude Desktop, Cursor, dan Copilot — terhubung dengan aman ke instance Looker dan berinteraksi dengan data bisnis dan model LookML.

Dengan menghosting server, Looker menghilangkan kebutuhan Anda untuk men-deploy dan memelihara infrastruktur middleware Anda sendiri, sehingga menyediakan gateway yang plug-and-play, aman, dan diatur ke insight bisnis tepercaya.

Jika Anda menggunakan instance yang dihosting pelanggan, atau jika Anda lebih suka mengelola infrastruktur sendiri, Anda dapat terhubung menggunakan MCP Toolbox for Databases mandiri. MCP Toolbox adalah server MCP open source yang dapat Anda jalankan di komputer lokal atau di server Anda sendiri untuk bertindak sebagai jembatan antara agen AI dan instance Looker Anda. Lihat halaman dokumentasi Menggunakan Looker dengan MCP, Gemini CLI, dan agen lainnya untuk mengetahui informasi selengkapnya.

Sebelum memulai

Untuk menggunakan server MCP yang dikelola Looker, Anda harus memenuhi persyaratan berikut:

Persyaratan instance

  • Anda harus menggunakan instance Looker (Google Cloud core) atau Looker (asli).
  • Instance harus dihosting oleh Looker.

Izin yang diperlukan

  • Untuk mengelola akses alat: Anda harus memiliki peran Looker Admin.
  • Untuk mendaftarkan atau mengaktifkan agen AI sebagai klien OAuth: Anda harus memiliki peran Looker Admin.
  • Untuk menghubungkan agen AI ke server MCP yang dikelola Looker: Anda memerlukan kredensial login Looker standar untuk melakukan autentikasi selama proses koneksi OAuth. Agen AI harus didaftarkan terlebih dahulu sebagai klien OAuth oleh admin Looker. Setelah terhubung, agen AI akan mewarisi peran dan akses Looker dari pengguna yang melakukan autentikasi.

Menyiapkan server MCP terkelola

Konfigurasikan akses alat untuk menyiapkan server MCP terkelola.

Mengonfigurasi setelan alat

Secara default, semua alat dinonaktifkan untuk server MCP terkelola. Admin Looker harus secara eksplisit mengaktifkan alat yang boleh digunakan oleh agen AI. Lihat halaman dokumentasi Setelan admin - Model Context Protocol (MCP) untuk mengetahui langkah-langkah mengaktifkan alat.

Mengonfigurasi setelan CORS

Jika klien MCP berjalan langsung di browser web dan ingin berkomunikasi dengan server MCP yang dikelola Looker menggunakan CORS, admin Looker harus menambahkan domain situs klien tersebut ke Daftar yang Diizinkan untuk Domain Tersemat di panel Admin.

Mendaftarkan agen AI melalui OAuth

Untuk menghubungkan agen AI ke server MCP yang dikelola Looker, administrator harus mengaktifkan atau mendaftarkan agen AI sebagai aplikasi klien OAuth di halaman Manage OAuth Clients di panel Admin Looker.

Anda dapat mengaktifkan klien AI yang telah dikonfigurasi sebelumnya dari Application Library atau mendaftarkan klien kustom di tab Custom Clients:

  • Library Aplikasi (direkomendasikan): Gunakan pendaftaran klien OAuth yang telah dikonfigurasi sebelumnya dan dikelola Looker untuk agen AI dan alat developer populer seperti Cursor, VS Code, Claude Code, Claude Desktop, ChatGPT, Gemini CLI, Cline, Windsurf, Antigravity, dan Looker Extension untuk VS Code.
  • Klien Kustom: Daftarkan klien OAuth kustom baru jika alat AI Anda tidak tersedia di Library Aplikasi atau jika Anda perlu mengonfigurasi URI pengalihan atau port kustom.

Opsi 1: Mengaktifkan agen AI yang telah dikonfigurasi sebelumnya dari Application Library

Sebaiknya periksa tab Application Library terlebih dahulu.

Untuk mengaktifkan klien agen AI yang telah dikonfigurasi sebelumnya, ikuti langkah-langkah berikut:

  1. Di panel Admin Looker, buka bagian Authentication, lalu pilih Manage OAuth clients.
  2. Pilih tab Application Library.
  3. Temukan aplikasi klien untuk agen AI Anda (misalnya, Cursor, Claude Code, Cline, atau Gemini CLI). Anda dapat menggunakan kotak penelusuran untuk memfilter berdasarkan nama.
  4. Alihkan tombol Aktifkan ke AKTIF.
  5. Salin Client ID yang ditampilkan di baris klien. Anda akan memberikan client ID ini saat mengonfigurasi setelan MCP agen AI Anda (misalnya, di mcp.json atau flag startup). Jika pengguna Looker yang tidak memiliki peran Admin Looker perlu menggunakan klien ini, distribusikan Client ID kepada mereka.

URI pengalihan dan penanganan port dinamis

Looker mengharuskan URI pengalihan OAuth sama persis dengan nilai yang terdaftar dan tidak mendukung URI pengalihan karakter pengganti. Beberapa alat AI menggunakan port lokal dinamis atau sementara secara default saat memulai callback OAuth (seperti Claude Code atau Cline). Untuk mengakomodasi alat ini, Looker mendaftarkan terlebih dahulu port default tetap untuk setiap klien library (misalnya, port 8080 untuk Claude Code dan Cline, atau port 7777 untuk Gemini CLI).

Untuk menggunakan klien library yang telah dikonfigurasi sebelumnya dengan port dinamis, pilih salah satu opsi berikut:

  • Konfigurasikan klien Anda untuk menggunakan port statis yang telah didaftarkan sebelumnya: Di setelan alat atau perintah startup, tentukan port yang telah didaftarkan sebelumnya. Misalnya:
    • Claude Code: Jalankan Claude Code dengan flag --callback-port 8080 (atau konfigurasikan "callbackPort": 8080 di mcp.json).
    • Cline: Konfigurasikan port callback OAuth ke 8080.
    • Gemini CLI: Tetapkan variabel lingkungan export OAUTH_CALLBACK_PORT=7777.
    • VS Code: Gunakan URI statis yang telah didaftarkan sebelumnya, http://127.0.0.1:33418/.
  • Mendaftarkan klien kustom: Jika Anda perlu menggunakan port lain atau URL callback kustom, daftarkan klien kustom dengan URI pengalihan pilihan Anda seperti yang dijelaskan di bagian berikutnya.

Opsi 2: Mendaftarkan klien agen AI kustom

Jika agen AI Anda tidak disertakan dalam Library Aplikasi, atau jika Anda perlu menggunakan URL atau port callback kustom, selesaikan langkah-langkah dalam dokumentasi Setelan admin - Mengelola Klien OAuth untuk mendaftarkan klien kustom. Setelah Anda menambahkan klien, salin Client ID untuk digunakan saat mengonfigurasi klien MCP.

Pendaftaran terprogram (API Explorer atau API)

Untuk deployment otomatis (seperti pipeline CI/CD atau skrip penyediaan), admin Looker dapat mendaftarkan klien OAuth secara terprogram.

Luaskan bagian ini untuk melihat cara mendaftarkan klien OAuth menggunakan API atau APIs Explorer.

Anda dapat mendaftarkan agen AI menggunakan endpoint API oauth_client_apps secara langsung dengan 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
}'

Atau, Anda dapat menggunakan Looker API Explorer:

  1. Di bagian metode Auth, temukan endpoint API Register OAuth App.
  2. Klik Run It, masukkan CLIENT_GUID, redirect_uri, display_name, dan description, pilih kotak centang konfirmasi, lalu klik Run.
    • Gemini CLI
      http://localhost:7777/oauth/callback
      

      Catatan: Beberapa alat, seperti Gemini CLI, mungkin mengharuskan Anda menetapkan variabel lingkungan (misalnya, export OAUTH_CALLBACK_PORT=7777) untuk memastikan bahwa alat tersebut menggunakan port statis yang cocok dengan URI pengalihan yang Anda daftarkan.

    • Gemini Code Assist
      http://localhost:7777/oauth/callback
      

      Sebaiknya gunakan Gemini CLI dengan Gemini Code Assist, yang akan membuat keduanya berbagi server callback lokal dan konfigurasi port yang sama.

    • Gemini Enterprise
      https://vertexaisearch.cloud.google.com/oauth-redirect
      
    • Claude Code

      Claude Code menggunakan port acak yang tersedia untuk callback OAuth, tetapi Anda harus memperbaikinya dengan menggunakan flag --callback-port 8080 (atau dengan setelan callbackPort di mcp.json) agar sesuai dengan URI yang Anda daftarkan.

      http://localhost:8080/callback
      
    • VS Code

      Untuk VS Code, gunakan URI berikut.

      http://127.0.0.1:33418/
      

      Catatan: Garis miring di akhir (/) di akhir URI diperlukan.

    • Aplikasi yang dihosting di cloud

      Untuk aplikasi yang dihosting di Cloud, URL-nya mungkin terlihat seperti URL HTTPS yang aman:

      https://AI_AGENT_URL/oauth2callback
      
    • Aplikasi lokal

      Untuk aplikasi yang berjalan secara lokal, URI pengalihan harus berupa URL localhost dengan port statis:

      http://localhost:7777/oauth/callback
      
  3. Untuk memverifikasi pendaftaran, jalankan endpoint Get OAuth Client App dengan CLIENT_GUID Anda.

Mengonfigurasi klien MCP

Setelah agen AI terdaftar, Anda dapat menghubungkannya ke endpoint MCP terkelola sebagai klien MCP. Lihat dokumentasi agen Anda untuk menyelesaikan penyiapan klien.

  • URL Server: LOOKER_INSTANCE_URL/mcp
  • Autentikasi: OAuth 2.1

Contoh konfigurasi (mcp.json)

Bagian ini menjelaskan cara mengonfigurasi berbagai alat developer untuk terhubung ke instance Looker Anda menggunakan server MCP yang dikelola Looker. Server MCP berada di antara IDE dan Looker, sehingga menyediakan bidang kontrol yang aman dan efisien untuk alat AI Anda. Pilih tab untuk alat tertentu guna melihat petunjuk konfigurasi.

Gemini CLI

Konfigurasikan Gemini CLI agar terhubung langsung ke server MCP yang dikelola Looker.

  1. Instal Gemini CLI.
  2. Tambahkan server MCP jarak jauh menggunakan perintah berikut, dengan mengganti LOOKER_INSTANCE_URL dengan URL instance Looker Anda:
    gemini mcp add --transport http looker LOOKER_INSTANCE_URL/mcp
    

    Atau, Anda dapat mengonfigurasinya secara manual dengan menambahkan konfigurasi berikut ke file settings.json (terletak di ~/.gemini/settings.json atau direktori project Anda):

    {
      "mcpServers": {
        "looker": {
          "httpUrl": "LOOKER_INSTANCE_URL/mcp",
          "oauth": {
            "clientId": "CLIENT_GUID"
          }
        }
      }
    }
    
  3. Mulai Gemini CLI dalam mode interaktif:
    gemini
    
    Saat diminta untuk terhubung, CLI akan memulai alur otorisasi OAuth untuk melakukan autentikasi dengan aman ke instance Looker Anda.

Gemini Code Assist

Sebaiknya konfigurasikan Gemini Code Assist untuk menggunakan Gemini CLI. Pendekatan ini menghilangkan kebutuhan untuk mengonfigurasi server MCP secara manual.

  1. Pastikan Anda telah menginstal dan mengonfigurasi Gemini CLI dan server MCP yang dikelola Looker.
  2. Konfigurasikan Gemini Code Assist untuk menggunakan Gemini CLI.
  3. Mulai berinteraksi dengan instance Looker Anda menggunakan bahasa alami langsung dalam chat Gemini Code Assist.

Gemini Enterprise

Konfigurasikan Gemini Enterprise untuk terhubung ke server MCP yang dikelola Looker sebagai datastore server MCP kustom.

  1. Ikuti dokumentasi resmi untuk membuat datastore server MCP kustom di Gemini Enterprise.
  2. Untuk konfigurasi datastore, gunakan nilai berikut, dengan mengganti LOOKER_INSTANCE_URL dengan URL instance Looker Anda dan CLIENT_GUID dengan string persis yang Anda gunakan selama pendaftaran aplikasi OAuth:
    {
      "instance_uri": "LOOKER_INSTANCE_URL/mcp",
      "auth_uri": "LOOKER_INSTANCE_URL/auth",
      "auth_uri_params": "&response_type=code&code_challenge_method=S256",
      "token_uri": "LOOKER_INSTANCE_URL/api/token",
      "client_id": "CLIENT_GUID",
      "client_secret": "none",
      "scopes": "cors_api",
      "pkce_support_enabled": "true"
    }
    

    PKCE tidak memerlukan rahasia klien OAuth, tetapi Gemini Enterprise memerlukan nilai di kolom client_secret. Anda dapat memasukkan none seperti yang ditunjukkan dalam contoh konfigurasi.

  3. Lakukan autentikasi melalui OAuth untuk melanjutkan.
  4. Tetapkan deskripsi server MCP untuk membantu Gemini memahami kapan harus memanggil server. Contoh:
    Looker Agent with API access to various aspects of Looker. Primarily used to fetch data and run dashboards from Looker.
    
  5. Tentukan petunjuk agen server MCP. Contoh:
    Use this server exclusively to interact with the Looker instance for monitoring health, checking status, and retrieving data.
    Invoke the Looker MCP server for the following request categories:
      - Instance Health Checks: Auditing connection status, uptime, performance metrics, or system errors.
      - Analytics Queries & Data Retrieval: Fetching live business metrics from Explores, Looks, or Dashboards.
    Strict Constraints:
      - No Local Estimation: Do not guess. Always fetch real-time data via MCP tools.
      - Fallback Behavior: Inform the user of connectivity failures immediately.
    
  6. Buka tab Actions di datastore MCP kustom yang baru saja Anda buat dan aktifkan alat yang ingin Anda gunakan di Gemini Enterprise.
  7. Selesaikan penyiapan dengan membuka Gemini Enterprise, mengklik ikon Connector, dan memberikan otorisasi ke server MCP.

Claude Code

  1. Instal Claude Code.
  2. Buat file .mcp.json di root project Anda, jika belum ada.
  3. Tambahkan konfigurasi berikut, ganti LOOKER_INSTANCE_URL dengan URL instance Looker Anda dan CLIENT_GUID dengan GUID klien OAuth Anda, lalu simpan.

      {
        "mcpServers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp",
            "oauth": {
              "clientId": "CLIENT_GUID",
              "callbackPort": 8080
            }
          }
        }
      }
  

Claude desktop

  1. Di Claude desktop, buka Settings, lalu pilih Connectors.
  2. Pilih Add custom connector dan masukkan nama (misalnya, Looker).
  3. Untuk URL, masukkan URL untuk instance Looker Anda dengan jalur /mcp yang ditambahkan (misalnya, https://looker.example.com/mcp).
  4. Di bagian Advanced settings, masukkan string yang sama persis dengan yang Anda gunakan untuk CLIENT_GUID selama pendaftaran aplikasi OAuth. Kosongkan rahasia klien OAuth.
  5. Pilih Tambahkan untuk menyimpan konektor. Saat diminta untuk terhubung, Claude desktop akan memulai alur otorisasi PKCE dengan aman melalui browser Anda.
  1. Mulai ulang Claude desktop.

Cline

  1. Buka ekstensi Cline di IDE Anda, lalu klik ikon server MCP.
  2. Klik Configure MCP Servers untuk membuka file konfigurasi.
  3. Tambahkan konfigurasi berikut, ganti LOOKER_INSTANCE_URL dengan URL Looker Anda, lalu simpan.

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

Status aktif berwarna hijau akan muncul setelah server berhasil terhubung.

Kursor

  1. Buat direktori .cursor di root project Anda jika belum ada.
  2. Buat file .cursor/mcp.json jika belum ada, lalu buka.
  3. Tambahkan konfigurasi berikut, ganti LOOKER_INSTANCE_URL dengan URL Looker Anda, lalu simpan.
      {
        "mcpServers": {
          "looker": {
            "url": "LOOKER_INSTANCE_URL/mcp",
            auth: {
              "CLIENT_ID": "CLIENT_GUID"
            }
          }
        }
      }
  
  1. Buka Cursor, lalu buka Settings > Cursor Settings > MCP. Status aktif berwarna hijau akan muncul saat server terhubung.

Visual Studio Code (Copilot)

  1. Buka VS Code dan buat direktori .vscode di root project Anda jika belum ada.
  2. Buat file .vscode/mcp.json jika belum ada, lalu buka.
  3. Tambahkan konfigurasi berikut, ganti LOOKER_INSTANCE_URL dengan URL instance Looker Anda, lalu simpan.
      {
        "servers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Windsurf

  1. Buka Windsurf dan buka asisten Cascade.
  2. Klik ikon MCP, lalu klik Configure untuk membuka file konfigurasi.
  3. Tambahkan konfigurasi berikut, ganti LOOKER_INSTANCE_URL dengan URL instance Looker Anda, lalu simpan.
      {
        "mcpServers": {
          "looker": {
            "type": "http",
            "url": "LOOKER_INSTANCE_URL/mcp"
          }
        }
      }
  

Melakukan autentikasi dengan klien

Setelah Anda mengonfigurasi klien MCP dengan setelan mcp.json, saat pertama kali Anda mencoba berinteraksi dengan Looker melalui klien tersebut, klien akan memulai alur autentikasi OAuth 2.1. Hal ini biasanya melibatkan klien yang membuka jendela browser tempat Anda harus login ke instance Looker menggunakan kredensial standar dan memberikan izin kepada aplikasi untuk mengakses Looker atas nama Anda.

Proses login ini adalah langkah autentikasi interaktif yang memungkinkan klien MCP mendapatkan token akses untuk membuat permintaan di masa mendatang.

Lihat dokumentasi klien Anda untuk mengetahui detail lebih lanjut.

Setelah terhubung, klien akan mewarisi peran Looker dan akses konten Anda. Klien juga akan memiliki akses ke alat AI yang telah diaktifkan oleh admin Looker Anda untuk server MCP. Untuk mengetahui daftar semua alat yang mungkin, lihat dokumentasi Menggunakan alat AI.

Keamanan dan tata kelola

Server MCP terkelola dirancang untuk mewarisi framework keamanan dan tata kelola Looker yang ada.

  • Batas izin: Server menerapkan izin tingkat pengguna yang ketat. Agen AI tidak dapat mengakses data atau model yang tidak diizinkan untuk dilihat oleh pengguna yang diautentikasi.
  • Kontrol Layanan VPC: Untuk instance Looker (Google Cloud core) yang menggunakan Kontrol Layanan VPC, endpoint MCP terkelola mematuhi batas Kontrol Layanan VPC yang ada tanpa memerlukan kebijakan atau konfigurasi tambahan.
  • Kunci enkripsi yang dikelola pelanggan (CMEK): Untuk instance Looker (Google Cloud core) yang menggunakan CMEK, server MCP terkelola mematuhi CMEK tanpa memerlukan kebijakan atau konfigurasi tambahan.
  • Daftar IP yang diizinkan: Untuk instance yang menggunakan daftar IP yang diizinkan di Looker (Google Cloud core) atau Looker (asli), endpoint MCP terkelola mematuhi aturan daftar IP yang diizinkan yang ada tanpa memerlukan konfigurasi tambahan.

Logging audit

Setiap tindakan yang dilakukan oleh agen AI dicatat dalam Aktivitas Sistem Looker dan Cloud Audit Logs.

System Activity

Aktivitas server MCP yang dikelola Looker dilacak di Eksplorasi History dan Event Attribute. Halaman dokumentasi Memantau penggunaan Looker dengan Jelajah System Activity menyediakan contoh kueri berikut:

Cloud Audit Logs

Instance Looker (Google Cloud core) juga melacak aktivitas server MCP yang dikelola Looker melalui Cloud Audit Logs. Halaman dokumentasi logging audit Looker (Google Cloud core) menyediakan contoh kueri.

Batasan

  • Cakupan terperinci: Cakupan OAuth belum didukung untuk server MCP terkelola. Kontrol akses mengandalkan daftar alat global yang diizinkan dan izin dasar pengguna.
  • Pendaftaran dinamis: Dynamic Client Registration tidak didukung dalam pratinjau.
  • Pemuatan ulang klien: Perubahan pada daftar alat yang diizinkan tidak otomatis dikirim ke klien yang terhubung. Pengguna harus menunggu 30 detik setelah membuat perubahan pada daftar alat, lalu menghubungkan kembali klien mereka untuk memuat ulang manifes alat. Lihat dokumentasi klien Anda untuk mengetahui informasi tentang cara menghubungkan kembali ke server MCP.
  • Kapasitas server: Selama fase pratinjau, server MCP terkelola dikonfigurasi dengan kapasitas tetap untuk membantu kami mengumpulkan data performa. Selama periode penggunaan puncak, Anda mungkin mengalami waktu tunggu habis sesekali. Ini adalah perilaku yang diharapkan.

Harga dan kuota

Server MCP yang dikelola Looker tersedia tanpa biaya tambahan. Namun, panggilan alat yang dilakukan oleh agen AI menggunakan kuota API berbasis kueri dan administratif standar instance. Aktivitas agen yang tinggi dapat memengaruhi kuota API yang tersedia.