使用 Firestore 遠端 MCP 伺服器
本文說明如何使用 Firestore 遠端 Model Context Protocol (MCP) 伺服器,連線至 AI 應用程式,包括 Gemini 指令列介面 (CLI)、ChatGPT、Claude,以及您正在開發的自訂應用程式。透過 Firestore 遠端 MCP 伺服器,您可以從 AI 應用程式與 Firestore 資料庫中儲存的文件互動。 啟用 Firestore API 時,系統會啟用 Firestore 遠端 MCP 伺服器。Model Context Protocol (MCP) 規範大型語言模型 (LLM) 和 AI 應用程式/代理程式連結外部資料來源的標準方式。MCP 伺服器可讓您使用工具、資源和提示,從後端服務採取行動及取得最新資料。
本機和遠端 MCP 伺服器有何不同?
- 本機 MCP 伺服器
- 通常在本機電腦上執行,並使用標準輸入和輸出串流 (stdio),在同一部裝置上的服務之間進行通訊。
- 遠端 MCP 伺服器
- 在服務的基礎架構上執行,並為 AI 應用程式提供 HTTP 端點,供 AI MCP 用戶端與 MCP 伺服器之間的通訊。如要進一步瞭解 MCP 架構,請參閱 MCP 架構。
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Firestore API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Firestore API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init - 選取要使用的原生模式 Firestore 資料庫,或建立一個。只有 Enterprise 或 Standard 版的原生模式資料庫支援遠端 MCP 伺服器。
必要的角色
如要取得使用 Firestore MCP 伺服器及與 Firestore 文件互動所需的權限,請要求管理員在您要使用 Firestore MCP 伺服器的專案中,授予下列 IAM 角色:
-
發出 MCP 工具呼叫:
MCP 工具使用者 (
roles/mcp.toolUser) -
讀取及編輯 Firestore 文件:
Firestore 使用者 (
roles/datastore.user)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備使用 Firestore MCP 伺服器及與 Firestore 文件互動所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要使用 Firestore MCP 伺服器及與 Firestore 文件互動,必須具備下列權限:
-
發出 MCP 工具呼叫:
mcp.tools.call -
讀取及編輯 Firestore 文件:
-
datastore.entities.allocateIds -
datastore.entities.create -
datastore.entities.delete -
datastore.entities.get -
datastore.entities.list -
datastore.entities.update
-
驗證及授權
Firestore 遠端 MCP 伺服器會使用 OAuth 2.0 通訊協定,搭配 Identity and Access Management (IAM) 進行驗證和授權。所有Google Cloud 身分都支援 MCP 伺服器的驗證。建議您使用 MCP 工具為代理建立個別身分,以便控管及監控資源存取權。如要進一步瞭解驗證,請參閱「向 MCP 伺服器進行驗證」。
Firestore MCP OAuth 範圍
OAuth 2.0 會使用範圍和憑證,判斷經過驗證的主體是否有權對資源執行特定動作。如要進一步瞭解 Google 的 OAuth 2.0 範圍,請參閱「使用 OAuth 2.0 存取 Google API」。
Firestore 具有下列 MCP 工具 OAuth 範圍:
| gcloud CLI 的範圍 URI | 說明 |
|---|---|
https://www.googleapis.com/auth/cloud-platform |
查看、編輯、設定及刪除您的 Google Cloud 資料,以及查看您的 Google 帳戶電子郵件地址。 |
在工具呼叫期間存取的資源可能需要其他範圍。如要查看 Firestore 要求的範圍清單,請參閱 Firestore API。
設定 MCP 用戶端,以便使用 Firestore MCP 伺服器
AI 應用程式和代理 (例如 Claude 或 Antigravity) 可以例項化 MCP 用戶端,並連至單一 MCP 伺服器。AI 應用程式可有多個用戶端,連至不同的 MCP 伺服器。如果您的應用程式未列在特定用戶端指南中,則可以使用下列資訊,從大多數應用程式連線。
在 AI 應用程式中,尋找新增或連線至遠端 MCP 伺服器的方法。 如果是 Firestore MCP 伺服器,請視需要輸入下列資訊:
- 伺服器名稱:Firestore MCP 伺服器
- 伺服器網址或端點:https://firestore.googleapis.com/mcp
- 傳輸:HTTP
- 驗證詳細資料:視驗證方式而定,您可以輸入 Google Cloud 憑證、OAuth 用戶端 ID 和密鑰,或是代理程式身分和憑證。如要進一步瞭解驗證,請參閱「向 MCP 伺服器進行驗證」。
- OAuth 範圍:連線至 Firestore MCP 伺服器時要使用的 OAuth 2.0 範圍。
如需設定及連線至 MCP 伺服器的應用程式專屬指引,請參閱用戶端專屬指引。
如需更多一般指引,請參閱下列資源:
在 Python 中透過 ADK 使用 Firestore MCP 伺服器
您可以使用 Python 適用的 Agent Development Kit (ADK),與 Firestore 遠端 MCP 伺服器互動。
以下範例說明如何使用 Firestore MCP 伺服器設定代理程式,並執行提示。
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)
可用的工具
如要查看 Firestore MCP 伺服器的可用 MCP 工具詳細資料和說明,請參閱 Firestore MCP 參考資料。
清單工具
使用 MCP 檢查器列出工具,或直接將 tools/list HTTP 要求傳送至 Firestore 遠端 MCP 伺服器。tools/list 方法不需要驗證。
POST /mcp HTTP/1.1
Host: firestore.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
應用實例
以下是 Firestore MCP 伺服器的應用實例和提示範例:
- 「Firestore MCP 伺服器提供哪些工具?」
- 「在 Firestore 資料庫『my-database』下,新增集合『book』的文件,並使用專案『my-project』和產生的書籍資訊。」 Google Cloud
- 「從書本集合中取得 ID 為 3VyGFIAPRHUNeuH5h2eb 的書本資訊。」
- 「將文件 3VyGFIAPRHUNeuH5h2eb 的年份欄位更新為 1995 年。」
- 「列出書籍收藏中的所有書籍。」
- 「列出『my-database』Firestore 資料庫根目錄下的所有集合 ID。」
- 「Delete the document 3VyGFIAPRHUNeuH5h2eb under the book collection.」(刪除書籍集錦中的文件 3VyGFIAPRHUNeuH5h2eb。)
- 「列出專案中的所有資料庫。」
- 「在 nam5 中建立與 MongoDB 相容模式的 Firestore Enterprise 資料庫。」
- 列出產品素材資源集合群組使用者的所有索引項目。
選用的安全防護設定
由於 MCP 工具可執行的動作種類繁多,因此會帶來新的安全風險和考量。為盡量減少及管理這些風險,Google Cloud 提供預設設定和可自訂的政策,控管機構或專案中 MCP 工具的使用情形。 Google Cloud
如要進一步瞭解 MCP 安全性和控管措施,請參閱「AI 安全性」。
使用 Model Armor
Model Armor 是一項Google Cloud 服務,旨在提升 AI 應用程式的安全性。這項功能會主動篩選 LLM 提示詞和回覆,防範各種風險並支援負責任的 AI 做法。無論您是在雲端環境或外部雲端供應商部署 AI,Model Armor 都能協助您防範惡意輸入、驗證內容安全性、保護私密資料、維持法規遵循狀態,以及在多元的 AI 環境中,持續強制執行 AI 安全政策。
啟用 Model Armor 並啟用記錄功能後,Model Armor 會記錄整個酬載。這可能會導致記錄中出現私密資訊。
啟用 Model Armor
您必須先啟用 Model Armor API,才能使用 Model Armor。
控制台
gcloud
開始前,請使用 Google Cloud CLI 搭配 Model Armor API 執行下列步驟:
在 Google Cloud 控制台中啟用 Cloud Shell。
控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。 Google Cloud Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。
-
執行下列指令,為 Model Armor 服務設定 API 端點。
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
將
LOCATION替換為要使用 Model Armor 的區域。
設定 Google 和遠端 MCP 伺服器的防護功能 Google Cloud
如要保護 MCP 工具呼叫和回應,可以使用 Model Armor 底限設定。底限設定會定義適用於整個專案的最低安全性篩選條件。這項設定會對專案中的所有 MCP 工具呼叫和回覆套用一致的篩選器。
設定啟用 MCP 消毒功能的 Model Armor 底限設定。詳情請參閱「設定 Model Armor 底價」。
請參閱下列指令範例:
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"}]'
將 PROJECT_ID 替換為 Google Cloud 專案 ID。
請注意下列設定:
INSPECT_AND_BLOCK:強制執行類型,可檢查 Google MCP 伺服器的內容,並封鎖符合篩選器的提示和回覆。ENABLED:啟用篩選器或強制執行的設定。MEDIUM_AND_ABOVE:負責任的 AI 技術 - 危險篩選器設定的信心水準。您可以修改這項設定,但較低的值可能會導致更多誤判。詳情請參閱「Model Armor 信心水準」。
停用使用 Model Armor 掃描 MCP 流量
如要停止讓 Model Armor 根據專案的底層設定,自動掃描往返 Google MCP 伺服器的流量,請執行下列指令:
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--remove-integrated-services=GOOGLE_MCP_SERVER
將 PROJECT_ID 替換為 Google Cloud 專案 ID。Model Armor 不會自動將這個專案底價設定中定義的規則,套用至任何 Google MCP 伺服器流量。
Model Armor 底價設定和一般設定不僅會影響 MCP,由於 Model Armor 會與 Vertex AI 等服務整合,因此您對底線設定所做的任何變更,都會影響所有整合服務 (不只是 MCP) 的流量掃描和安全行為。
使用 IAM 拒絕政策控管 MCP 使用情形
身分與存取權管理 (IAM) 拒絕政策可協助您保護 Google Cloud 遠端 MCP 伺服器。設定這些政策,即可封鎖不必要的 MCP 工具存取權。
舉例來說,您可以根據下列條件拒絕或允許存取:
- 主體
- 工具屬性 (例如唯讀)
- 應用程式的 OAuth 用戶端 ID
詳情請參閱「使用 Identity and Access Management 控制 MCP 使用情形」。
監控 MCP 使用情況
您可以透過 Cloud Monitoring 監控 Firestore MCP 工具的使用情形和延遲時間。受監控資源提供下列指標:firestore.googleapis.com/Database
mcp/request_count(Beta):Firestore MCP 呼叫次數。mcp/request_latencies(Beta 版):Firestore MCP 呼叫的延遲時間分布。
您可以依下列標籤將這些指標分組及進行篩選:
tool_name:發出 MCP 呼叫的 MCP 工具名稱。
如要進一步瞭解 Firestore 指標,請參閱「Firestore 指標」。
後續步驟
- 參閱 Firestore MCP 參考說明文件。
- 進一步瞭解 Google Cloud MCP 伺服器。
- 瞭解如何使用 AI 提示詞草擬安全性規則