Menggunakan server MCP jarak jauh Firestore

Dokumen ini menunjukkan cara menggunakan server Model Context Protocol (MCP) jarak jauh Firestore untuk terhubung dengan aplikasi AI, termasuk Antigravity, ChatGPT, Claude, dan aplikasi kustom yang Anda kembangkan. Server MCP jarak jauh Firestore memungkinkan Anda berinteraksi dengan dokumen yang disimpan di database Firestore dari aplikasi AI Anda. Server MCP jarak jauh Firestore diaktifkan saat Anda mengaktifkan Firestore API.

Model Context Protocol (MCP) menstandarkan cara model bahasa besar (LLM) dan aplikasi atau agen AI terhubung ke sumber data eksternal. Server MCP memungkinkan Anda menggunakan alat, resource, dan perintahnya untuk melakukan tindakan dan mendapatkan data terbaru dari layanan backend-nya.

Apa perbedaan antara server MCP lokal dan jarak jauh?

Server MCP lokal
Biasanya berjalan di komputer lokal Anda dan menggunakan aliran input dan output standar (stdio) untuk komunikasi antar-layanan di perangkat yang sama.
Server MCP jarak jauh
Berjalan di infrastruktur layanan dan menawarkan endpoint HTTP ke aplikasi AI untuk komunikasi antara klien MCP AI dan server MCP. Untuk mengetahui informasi selengkapnya tentang arsitektur MCP, lihat Arsitektur MCP.

Core stateless

Dengan MCP versi 2026-07-28, MCP berubah dari protokol stateful dua arah menjadi protokol stateless. Setiap permintaan MCP bersifat deskriptif dan dapat dirutekan menggunakan header. Tidak perlu handshake initialize/initialized atau Mcp-Session-Id karena setiap permintaan menyertakan semua informasi yang diperlukan dalam header HTTP atau parameter _meta. Server MCP dapat meminta informasi tambahan yang diperlukan oleh alat melalui permintaan multi-pulang pergi (MRTR).

Untuk membantu merutekan dan memproses permintaan tanpa mengurai isi permintaan, beberapa header MCP diperlukan, termasuk berikut ini:

  • Header yang diperlukan oleh spesifikasi MCP seperti header versi protokol dan header permintaan standar.
  • Header kustom yang ditentukan oleh server MCP. Header ini dicerminkan ke header HTTP dari skema input alat menggunakan properti x-mcp-header. Misalnya, server MCP dapat menentukan header kustom untuk menentukan region atau project ID Google Cloud .

Untuk mengetahui informasi selengkapnya tentang arsitektur MCP, lihat spesifikasi dan perubahan utama MCP versi 28-07-2026.

Sebelum memulai

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Firestore API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. Install the Google Cloud CLI.

  6. Configure the gcloud CLI to use your federated identity.

    For more information, see Sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. Pilih database Firestore dalam mode Native untuk digunakan atau buat database baru. Hanya database mode Native di edisi Enterprise atau Standard yang mendukung server MCP jarak jauh.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna menggunakan server MCP Firestore dan berinteraksi dengan dokumen Firestore, minta administrator untuk memberi Anda peran IAM berikut pada project tempat Anda ingin menggunakan server MCP Firestore:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk menggunakan server MCP Firestore dan berinteraksi dengan dokumen Firestore. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk menggunakan server Firestore MCP dan berinteraksi dengan dokumen Firestore:

  • Melakukan panggilan alat MCP: mcp.tools.call
  • Membaca dan mengedit dokumen Firestore:
    • datastore.entities.allocateIds
    • datastore.entities.create
    • datastore.entities.delete
    • datastore.entities.get
    • datastore.entities.list
    • datastore.entities.update

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Autentikasi dan otorisasi

Server MCP jarak jauh Firestore menggunakan protokol OAuth 2.0 dengan Identity and Access Management (IAM) untuk autentikasi dan otorisasi. Semua identitasGoogle Cloud didukung untuk autentikasi ke server MCP.

Sebaiknya buat identitas terpisah untuk agen yang menggunakan alat MCP agar akses ke resource dapat dikontrol dan dipantau. Untuk mengetahui informasi selengkapnya tentang autentikasi, lihat Melakukan autentikasi ke server MCP.

Cakupan OAuth MCP Firestore

OAuth 2.0 menggunakan cakupan dan kredensial untuk menentukan apakah akun utama yang diautentikasi diizinkan untuk melakukan tindakan tertentu pada resource. Untuk informasi selengkapnya tentang cakupan OAuth 2.0 di Google, baca Menggunakan OAuth 2.0 untuk mengakses Google API.

Firestore memiliki cakupan OAuth alat MCP berikut:

URI cakupan untuk gcloud CLI Deskripsi
https://www.googleapis.com/auth/cloud-platform Melihat, mengedit, mengonfigurasi, dan menghapus data Google Cloud Anda serta melihat alamat email untuk Akun Google Anda.

Cakupan tambahan mungkin diperlukan pada resource yang diakses selama panggilan alat. Untuk melihat daftar cakupan yang diperlukan untuk Firestore, lihat Firestore API.

Mengonfigurasi klien MCP untuk menggunakan server MCP Firestore

Aplikasi dan agen AI, seperti Claude atau Antigravity, dapat membuat instance klien MCP yang terhubung ke satu server MCP. Aplikasi AI dapat memiliki beberapa klien yang terhubung ke server MCP yang berbeda. Jika aplikasi Anda tidak tercantum dalam panduan khusus klien, Anda dapat menggunakan informasi berikut untuk terhubung dari sebagian besar aplikasi.

Di aplikasi AI Anda, cari cara untuk menambahkan atau terhubung ke server MCP jarak jauh. Untuk server MCP Firestore, masukkan informasi berikut sesuai kebutuhan:

  • Nama server: Server MCP Firestore
  • Server URL atau Endpoint: https://firestore.googleapis.com/mcp
  • Transport: HTTP yang Dapat Di-streaming
  • Detail autentikasi: bergantung pada cara Anda ingin melakukan autentikasi, Anda dapat memasukkan kredensial Google Cloud , Client ID dan rahasia OAuth, atau identitas dan kredensial agen. Untuk mengetahui informasi selengkapnya tentang autentikasi, lihat Melakukan autentikasi ke server MCP.
  • Cakupan OAuth: cakupan OAuth 2.0 yang ingin Anda gunakan saat terhubung ke server MCP Firestore.
Untuk panduan khusus aplikasi tentang cara menyiapkan dan menghubungkan ke server MCP, lihat Panduan khusus klien.

Untuk panduan yang lebih umum, lihat referensi berikut:

Menggunakan server MCP Firestore dengan ADK di Python

Anda dapat menggunakan Agent Development Kit (ADK) untuk Python guna berinteraksi dengan server MCP jarak jauh Firestore.

Contoh berikut menunjukkan cara mengonfigurasi agen dengan server MCP Firestore dan menjalankan perintah.

import os
import google.auth
from google.auth.transport.requests import Request

from google.adk import Agent
from google.adk.tools.mcp_tool.mcp_toolset import McpToolset, StreamableHTTPConnectionParams
from google.adk.runners import InMemoryRunner, print_event
from google.genai import types

# Set your project configuration
PROJECT_ID = os.environ.get("PROJECT_ID", "your-project-id")
TARGET_PROJECT_ID = os.environ.get("TARGET_PROJECT_ID", "your-target-project-id")

# Authenticate and get token
credentials, _ = google.auth.default()
credentials.refresh(Request())

# Configure the Firestore remote MCP server
mcp_toolset = McpToolset(
    connection_params=StreamableHTTPConnectionParams(
        url="https://firestore.googleapis.com/mcp",
        headers={
            "Accept": "text/event-stream, application/json",
            "Content-Type": "application/json",
            "Authorization": f"Bearer {credentials.token}"
        },
    ),
)

model_path = f"projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/gemini-2.5-flash"

root_agent = Agent(
    name="mcp_codelab_agent",
    model=model_path,
    instruction="You are a Firestore database assistant. Use the available Firestore MCP tools to query, retrieve, and manage documents in the database based on the user's request.",
    tools=[mcp_toolset],
)

if __name__ == "__main__":
    prompt = f"Please list all Firestore databases under the project `{TARGET_PROJECT_ID}`"

    print("--- Running Agent ---")
    runner = InMemoryRunner(agent=root_agent)
    runner.auto_create_session = True
    events = runner.run(
        user_id="user",
        session_id="session",
        new_message=types.Content(
            parts=[types.Part.from_text(text=prompt)]
        )
    )

    for event in events:
        print_event(event, verbose=True)

Alat yang tersedia

Untuk melihat detail alat MCP yang tersedia dan deskripsinya untuk server Firestore MCP, lihat referensi Firestore MCP.

Alat daftar

Gunakan MCP inspector untuk mencantumkan alat, atau kirim permintaan HTTP tools/list langsung ke server MCP jarak jauh Firestore. Metode tools/list tidak memerlukan autentikasi.

curl -X POST https://firestore.googleapis.com/TOOLSET_ENDPOINT \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
    -H 'Mcp-Method: tools/list' \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/list",
      "params": {
        "_meta": {
          "io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
          "io.modelcontextprotocol/clientCapabilities": {
            "extensions": {
              "io.modelcontextprotocol/ui": {
                "mimeTypes": ["text/html;profile=mcp-app"]
              }
            }
          }
        }
      }
    }'

Ganti kode berikut:

  • TOOLSET_ENDPOINT: sisa endpoint MCP setelah nama layanan. Misalnya, untuk Firestore, ini mungkin berupa mcp/toolset-name.
  • MCP_PROTOCOL_VERSION: versi protokol MCP. Contoh, 2026-07-28.

Kasus penggunaan sampel

Berikut adalah contoh kasus penggunaan dan perintah untuk server MCP Firestore:

  • "Apa saja alat yang tersedia untuk server MCP Firestore?"
  • "Tambahkan dokumen dengan koleksi "book" di bagian database Firestore "my-database" dengan project Google Cloud "my-project" dengan info buku yang dihasilkan."
  • "Dapatkan informasi untuk buku dengan ID 3VyGFIAPRHUNeuH5h2eb dari koleksi buku."
  • "Update the year field of document 3VyGFIAPRHUNeuH5h2eb to 1995."
  • "Cantumkan semua buku dalam koleksi buku."
  • "Cantumkan semua ID koleksi di root database Firestore "my-database"."
  • "Hapus dokumen 3VyGFIAPRHUNeuH5h2eb di koleksi book."
  • "List all databases under the project."
  • "Buat database Firestore Enterprise dengan mode kompatibilitas MongoDB di nam5."
  • "Cantumkan semua entri indeks untuk grup koleksi users."

Konfigurasi keamanan dan keselamatan opsional

MCP menimbulkan risiko dan pertimbangan keamanan baru karena berbagai tindakan yang dapat Anda lakukan dengan alat MCP. Untuk meminimalkan dan mengelola risiko ini, Google Cloud menawarkan setelan default dan kebijakan yang dapat disesuaikan untuk mengontrol penggunaan alat MCP di organisasi atau project Google CloudAnda.

Untuk mengetahui informasi selengkapnya tentang keamanan dan tata kelola MCP, lihat Keamanan dan keselamatan AI.

Menggunakan Model Armor

Model Armor adalah Google Cloud layanan yang dirancang untuk meningkatkan keamanan dan keselamatan aplikasi AI Anda. Model Armor bekerja dengan menyaring perintah dan respons LLM secara proaktif, melindungi dari berbagai risiko, dan mendukung praktik AI yang bertanggung jawab. Baik Anda men-deploy AI di lingkungan cloud Anda, atau di penyedia cloud eksternal, Model Armor dapat membantu Anda mencegah input berbahaya, memverifikasi keamanan konten, melindungi data sensitif, mempertahankan kepatuhan, dan menerapkan kebijakan keamanan dan keselamatan AI Anda secara konsisten di seluruh lanskap AI Anda yang beragam.

Jika Model Armor diaktifkan dengan logging diaktifkan, Model Armor akan mencatat seluruh payload. Hal ini dapat mengekspos informasi sensitif di log Anda.

Pemilihan rute permintaan MCP ke Model Armor

Model Armor tersedia di wilayah tertentu. Jika Model Armor diaktifkan dan Anda menggunakan server MCP di wilayah yang tidak didukung Model Armor, perilaku perutean panggilan mungkin berbeda untuk server MCP yang berbeda dan dapat melanggar kepatuhan residensi data untuk data yang sedang digunakan dan dalam pengiriman. Untuk mengetahui informasi selengkapnya tentang perilaku masing-masing server MCP, lihat Produk yang didukung Model Armor.

Mengaktifkan Model Armor

Anda harus mengaktifkan API Model Armor sebelum dapat menggunakan Model Armor.

Konsol

  1. Aktifkan Model Armor API, jika belum diaktifkan.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    Mengaktifkan API

  2. Pilih project tempat Anda ingin mengaktifkan Model Armor.

gcloud

Sebelum memulai, ikuti langkah-langkah berikut menggunakan Google Cloud CLI dengan Model Armor API:

  1. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

    gcloud init

  2. Jalankan perintah berikut untuk menetapkan endpoint API untuk layanan Model Armor.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    Ganti LOCATION dengan region tempat Anda ingin menggunakan Model Armor.

Mengonfigurasi perlindungan untuk server MCP Google dan Google Cloud jarak jauh

Untuk membantu melindungi panggilan alat dan respons alat MCP, Anda dapat menggunakan setelan tingkat Model Armor. Setelan minimum menentukan filter keamanan minimum yang berlaku di seluruh project. Konfigurasi ini menerapkan serangkaian filter yang konsisten ke semua panggilan dan respons alat MCP dalam project.

Menyiapkan setelan tingkat Model Armor dengan sanitasi MCP yang diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi setelan batas Model Armor.

Lihat contoh perintah berikut:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

Ganti PROJECT_ID dengan project ID Google Cloud Anda.

Perhatikan setelan berikut:

  • INSPECT_AND_BLOCK: Jenis penegakan yang memeriksa konten untuk server MCP Google dan memblokir perintah dan respons yang cocok dengan filter.
  • ENABLED: Setelan yang mengaktifkan filter atau penerapan.
  • MEDIUM_AND_ABOVE: Tingkat keyakinan untuk setelan filter Responsible AI - Berbahaya. Anda dapat mengubah setelan ini, meskipun nilai yang lebih rendah dapat menghasilkan lebih banyak positif palsu. Untuk mengetahui informasi selengkapnya, lihat Tingkat keyakinan Model Armor.

Menonaktifkan pemindaian traffic MCP dengan Model Armor

Untuk menghentikan Model Armor memindai traffic secara otomatis ke dan dari server MCP Google berdasarkan setelan dasar project, jalankan perintah berikut:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

Ganti PROJECT_ID dengan project ID Google Cloud . Model Armor tidak otomatis menerapkan aturan yang ditentukan dalam setelan dasar project ini ke traffic server MCP Google mana pun.

Setelan batas bawah dan konfigurasi umum Model Armor dapat memengaruhi lebih dari sekadar MCP. Karena Model Armor terintegrasi dengan layanan seperti Vertex AI, setiap perubahan yang Anda buat pada setelan batas dapat memengaruhi pemindaian traffic dan perilaku keamanan di semua layanan terintegrasi, bukan hanya MCP.

Mengontrol penggunaan MCP dengan kebijakan IAM

Kebijakan penolakan dan kebijakan izin Identity and Access Management (IAM) membantu Anda mengamankan Google Cloud dan server MCP Google.

Anda dapat menggabungkan beberapa kriteria untuk membuat kebijakan keamanan dan tata kelola yang disesuaikan dengan mengizinkan atau menolak akses berdasarkan hal berikut:

  • Akun utama.
  • Properti alat seperti atribut hanya baca.
  • Nama layanan atau nama alat.
  • Client ID klien OAuth aplikasi.

Untuk mengetahui informasi selengkapnya, lihat Mengontrol penggunaan MCP dengan Identity and Access Management.

Memantau penggunaan MCP

Anda dapat memantau penggunaan dan latensi alat MCP Firestore melalui Cloud Monitoring. Metrik berikut tersedia untuk resource yang dimonitor firestore.googleapis.com/Database:

  • mcp/request_count (Beta): jumlah panggilan MCP Firestore.
  • mcp/request_latencies (Beta): distribusi latensi untuk panggilan MCP Firestore.

Anda dapat mengelompokkan dan memfilter metrik ini berdasarkan label berikut:

  • tool_name: nama alat MCP yang melakukan panggilan MCP.

Untuk mengetahui informasi selengkapnya tentang metrik Firestore, lihat Metrik Firestore.

Langkah berikutnya