Firebase MCP 服务器

您可以使用 Firebase MCP 服务器让 AI 赋能的开发工具能够与 Firebase 项目和应用的代码库协同工作。

Firebase MCP 服务器可与任何可充当 MCP 客户端的工具配合使用,包括:Firebase Studio、Gemini CLI 和 Gemini Code Assist、Claude Code 和 Claude Desktop、Cline、Cursor、VS Code Copilot、Windsurf 等!

跳转到设置说明

MCP 服务器的优势

已配置为使用 Firebase MCP 服务器的编辑器可以使用 AI 功能来帮助您:

  • 创建和管理 Firebase 项目
  • 管理您的 Firebase Authentication 用户
  • 在 Cloud Firestore 和 Firebase Data Connect 中处理数据
  • 检索 Firebase Data Connect 架构
  • 了解适用于 Firestore 和 Cloud Storage for Firebase 的安全规则
  • 使用 Firebase Cloud Messaging 发送消息

部分工具使用 Gemini in Firebase 来为您提供帮助:

  • 生成 Firebase Data Connect 架构和操作
  • 就 Firebase 产品咨询 Gemini

这只是部分列表;如需查看完整的编辑器可用工具列表,请参阅服务器功能部分。

设置 MCP 客户端

Firebase MCP 服务器可以与任何支持标准 I/O (stdio) 作为传输媒介的 MCP 客户端配合使用。

当 Firebase MCP 服务器调用工具时,它会使用在当前运行环境中授权 Firebase CLI 所用的用户凭证。这可以是已登录的用户,也可以是应用默认凭据,具体取决于环境。

准备工作

确保您已安装正常运行的 Node.js 和 npm。

基本配置

以下是将 Firebase MCP 服务器与一些热门 AI 辅助工具搭配使用的基本配置说明:

Firebase Studio

如需将 Firebase Studio 配置为使用 Firebase MCP 服务器,请编辑或新建配置文件:.idx/mcp.json

如果该文件尚不存在,请右键点击父目录,选择新建文件来创建该文件。将以下内容添加到文件中:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Gemini CLI

建议您通过安装 Gemini CLI 的 Firebase 扩展程序来设置 Gemini CLI 以使用 Firebase MCP 服务器:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

安装 Firebase 扩展程序会自动配置 Firebase MCP 服务器,并且附带一个上下文文件,可提升 Gemini 的 Firebase 应用开发性能。

或者,您也可以通过修改或创建以下配置文件之一,将 Gemini CLI 配置为使用 Firebase MCP 服务器(但不使用 Firebase 扩展程序上下文文件):

  • 在项目中:.gemini/settings.json
  • 在您的主目录中:~/.gemini/settings.json

如果该文件尚不存在,请右键点击父目录,选择新建文件来创建该文件。将以下内容添加到文件中:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Gemini 代码助手

建议您通过安装 Gemini CLI 的 Firebase 扩展程序来设置 Gemini Code Assist 以使用 Firebase MCP 服务器:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

安装 Firebase 扩展程序会自动配置 Firebase MCP 服务器,并且附带一个上下文文件,可提升 Gemini 的 Firebase 应用开发性能。

或者,您也可以通过修改或创建以下配置文件之一,将 Gemini Code Assist 配置为使用 Firebase MCP 服务器(但不是 Firebase 扩展程序上下文文件):

  • 在项目中:.gemini/settings.json
  • 在您的主目录中:~/.gemini/settings.json

如果该文件尚不存在,请右键点击父目录,选择新建文件来创建该文件。将以下内容添加到文件中:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Claude

Claude Code

如需将 Claude Code 配置为使用 Firebase MCP 服务器,请在应用文件夹下运行以下命令:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

您可以运行以下命令来验证安装是否成功:

claude mcp list

输出应如下所示:

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

Claude Desktop

如需将 Claude Desktop 配置为使用 Firebase MCP 服务器,请修改 claude_desktop_config.json 文件。您可以从 Claude > 设置菜单中打开或创建此文件。选择开发者标签页,然后点击修改配置

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Cline

如需将 Cline 配置为使用 Firebase MCP 服务器,请修改 cline_mcp_settings.json 文件。您可以通过点击 Cline 窗格顶部的 MCP Servers 图标,然后点击配置 MCP 服务器按钮来打开或创建此文件。

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"],
      "disabled": false
    }
  }
}

光标

如需将 Cursor 配置为使用 Firebase MCP 服务器,请修改文件 .cursor/mcp.json(用于仅配置特定项目)或 ~/.cursor/mcp.json(用于使 MCP 服务器在所有项目中可用):

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

VS Code Copilot

如需配置单个项目,请修改工作区中的 .vscode/mcp.json 文件:

"servers": {
  "firebase": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

如需使服务器在您打开的每个项目中可用,请修改用户设置

"mcp": {
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Windsurf

如需配置 Windsurf 编辑器,请修改 ~/.codeium/windsurf/mcp_config.json 文件:

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "mcp"]
  }
}

可选配置

除了前面显示的每个客户端的基本配置之外,您还可以指定两个可选参数:

  • --dir ABSOLUTE_DIR_PATH:包含 firebase.json 的目录的绝对路径,用于为 MCP 服务器设置项目上下文。如果未指定,将启用 get_project_directoryset_project_directory 工具,默认目录为启动 MCP 服务器时的工作目录。

  • --only FEATURE_1,FEATURE_2:要激活的功能组的逗号分隔列表。使用此参数可将显示的工具限制为您正在使用的功能。请注意,核心工具始终可用

例如:

"firebase": {
  "command": "npx",
  "args": [
    "-y",
    "firebase-tools@latest", "mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

MCP 服务器功能

Firebase MCP 服务器提供三类不同的 MCP 功能:

  • 提示:一个预先编写的提示库,您可以运行这些提示;它们经过优化,可用于使用 Firebase 开发和运行应用

  • 工具:一组旨在供 LLM 使用的工具,可帮助 LLM 直接与您的 Firebase 项目协同工作(经您批准!)。

  • 资源:旨在供 LLM 使用的文档文件,可为 LLM 提供更多指导和背景信息,以帮助其完成任务或实现目标

提示

Firebase MCP 服务器附带一个预先编写的提示库,这些提示经过优化,可用于开发和运行 Firebase 应用。您可以运行这些提示来完成各种常见任务或目标。

下表介绍了 MCP 服务器提供的提示。

大多数支持 MCP 的开发工具都提供了一些便捷的方式来运行这些提示。例如,Gemini CLI 会将这些提示作为斜杠命令提供:

/firebase:init

在 Gemini CLI 中,开始输入 /firebase:,即可查看可用命令的列表。

提示名称 特征组 说明
firebase:deploy core 使用此命令将资源部署到 Firebase。

实参:
<提示>(可选):您希望提供的有关部署的任何具体说明
firebase:init core 使用此命令设置 Firebase 服务,例如后端和 AI 功能。
firebase:consult core 使用此命令可咨询 Firebase 助理,并获取有关 Firebase 平台的详细最新文档。

实参:
<提示>:要传递给 Gemini in Firebase 模型的提示
crashlytics:connect crashlytics 访问 Firebase 应用的 Crashlytics 数据。

工具

Firebase MCP 服务器还提供了一些旨在供 LLM 使用的工具,可帮助 LLM 直接与您的 Firebase 项目协同工作(经您批准!)。与提示不同,您不会直接调用这些工具;而是由支持工具调用的模型(例如 Gemini、Claude 和 GPT)在需要时自动调用这些工具来执行开发任务。

下表介绍了 MCP 服务器提供的工具。

工具名称 特征组 说明
firebase_login core 使用此命令可让用户登录 Firebase CLI 和 Firebase MCP 服务器。这需要一个 Google 账号,并且您需要登录才能创建和使用 Firebase 项目。
firebase_logout core 使用此命令可让用户退出 Firebase CLI 和 Firebase MCP 服务器。
firebase_validate_security_rules core 使用此方法可检查 Firestore、Cloud Storage 或 Realtime Database 的 Firebase 安全规则是否存在语法和验证错误。
firebase_get_project core 使用此方法可检索当前有效的 Firebase 项目的相关信息。
firebase_list_apps core 使用此方法可检索当前活跃 Firebase 项目中注册的 Firebase 应用的列表。Firebase 应用可以是 iOS 应用、Android 应用或 Web 应用。
firebase_list_projects core 使用此方法可检索已登录用户有权访问的 Firebase 项目的列表。
firebase_get_sdk_config core 使用此方法可检索 Firebase 应用的 Firebase 配置信息。您必须为当前有效的 Firebase 项目中注册的 Firebase 应用指定平台或 Firebase 应用 ID。
firebase_create_project core 使用此方法可创建新的 Firebase 项目。
firebase_create_app core 使用此命令可在当前活跃的 Firebase 项目中创建新的 Firebase 应用。Firebase 应用可以是 iOS 应用、Android 应用或 Web 应用。
firebase_create_android_sha core 使用此方法可将指定的 SHA 证书哈希添加到指定的 Firebase Android 应用。
firebase_get_environment core 使用此方法可检索 Firebase CLI 和 Firebase MCP 服务器的当前 Firebase 环境配置,包括当前经过身份验证的用户、项目目录、有效 Firebase 项目等。
firebase_update_environment core 使用此命令更新 Firebase CLI 和 Firebase MCP 服务器的环境配置,例如项目目录、有效项目、有效用户账号、接受服务条款等。使用 firebase_get_environment 查看当前配置的环境。
firebase_init core 使用此功能可在工作区中初始化所选 Firebase 服务(Cloud Firestore 数据库、Firebase Data Connect、Firebase Realtime Database、Firebase AI Logic)。所有服务都是可选的;请仅指定您要设置的产品。您可以将新功能初始化到现有项目目录中,但重新初始化已有功能可能会覆盖其配置。如需部署已初始化的功能,请在运行 firebase_init 工具后再运行 firebase deploy 命令。
firebase_get_security_rules core 使用此方法可检索指定 Firebase 服务的安全规则。如果产品中存在该服务的多个实例,则返回默认实例的规则。
firebase_read_resources core 使用此方法可读取 firebase:// 资源的内容或列出可用资源
firestore_delete_document firestore 通过完整文档路径从当前项目的数据库中删除一个或多个 Firestore 文档。如果您知道文档的确切路径,请使用此功能。
firestore_get_documents firestore 使用此方法可通过完整文档路径从当前项目的数据库中检索一个或多个 Firestore 文档。如果您知道文档的确切路径,请使用此功能。
firestore_list_collections firestore 使用此方法可从当前项目中的 Firestore 数据库检索集合列表。
firestore_query_collection firestore 通过具有完整文档路径的集合,从当前项目中的数据库检索集合中的一个或多个 Firestore 文档。如果您知道集合的确切路径以及您希望为文档使用的过滤子句,请使用此功能。
auth_get_users auth 使用此方法可根据 UID 列表或电子邮件地址列表检索一个或多个 Firebase Auth 用户。
auth_update_user auth 使用此方法可停用、启用或为特定用户的账号设置自定义声明。
auth_set_sms_region_policy auth 使用此方法可为 Firebase Authentication 设置短信区域政策,以根据国家/地区代码的允许或拒绝列表,限制可接收短信的区域。此政策会在设置时覆盖任何现有政策。
dataconnect_build dataconnect 使用此命令编译 Firebase Data Connect 架构、操作和/或连接器,并检查是否存在 build 错误。
dataconnect_generate_schema dataconnect 使用此功能可根据用户对应用的描述生成 Firebase Data Connect 架构。
dataconnect_generate_operation dataconnect 使用此功能可根据当前已部署的架构和提供的提示生成单个 Firebase Data Connect 查询或变更。
dataconnect_list_services dataconnect 使用此方法可列出本地和后端现有的 Firebase Data Connect 服务
dataconnect_execute dataconnect 使用此方法针对 Data Connect 服务或其模拟器执行 GraphQL 操作。
storage_get_object_download_url 存储 使用此方法可检索 Cloud Storage for Firebase 存储分区中对象的下载网址。
messaging_send_message 消息传递 使用此方法向 Firebase Cloud Messaging 注册令牌或主题发送消息。在特定调用中,只能提供 registration_tokentopic 中的一个。
functions_get_logs 函数 使用此方法可通过 Google Cloud Logging 高级过滤条件检索一页 Cloud Functions 日志条目。
remoteconfig_get_template remoteconfig 使用此方法可从当前活跃的 Firebase 项目中检索指定的 Firebase Remote Config 模板。
remoteconfig_update_template remoteconfig 使用此方法可为项目发布新的 Remote Config 模板或回滚到特定版本
crashlytics_create_note crashlytics 为 Crashlytics 中的问题添加备注。
crashlytics_delete_note crashlytics 从 Crashlytics 问题中删除备注。
crashlytics_get_issue crashlytics 获取 Crashlytics 问题的数据,这些数据可用作调试的起点。
crashlytics_list_events crashlytics 使用此方法可列出与指定过滤条件匹配的最新事件。
可用于获取问题的示例崩溃和异常,
其中将包含有助于调试的堆栈轨迹和其他数据。
crashlytics_batch_get_events crashlytics 按资源名称获取特定活动。
可用于获取问题的示例崩溃和异常,
其中将包含有助于调试的堆栈轨迹和其他数据。
crashlytics_list_notes crashlytics 使用此方法可列出 Crashlytics 中某个问题的所有备注。
crashlytics_get_top_issues crashlytics 使用此函数可按问题对事件和受影响的唯一身份用户进行分组计数。
各组按事件数降序排序。
仅统计与指定过滤条件匹配的事件。
crashlytics_get_top_variants crashlytics 按问题变体对事件和不同的受影响用户进行计数。
各组按事件数降序排序。
仅统计与指定过滤条件匹配的事件。
crashlytics_get_top_versions crashlytics 版本分组,统计事件数和不同的受影响用户数。
各组按事件数降序排序。
仅统计与指定过滤条件匹配的事件。
crashlytics_get_top_apple_devices crashlytics 统计事件数和受影响的唯一身份用户数,按 Apple 设备分组。
各组按事件数降序排序。
仅统计与指定过滤条件匹配的事件。
仅适用于 iOS、iPadOS 和 macOS 应用。
crashlytics_get_top_android_devices crashlytics 统计事件数和不同的受影响用户数,按 Android 设备分组。
各组按事件数降序排序。
仅统计与指定过滤条件匹配的事件。
仅适用于 Android 应用。
crashlytics_get_top_operating_systems crashlytics 统计事件数和不同的受影响用户数,按操作系统分组。
各组按事件数降序排序。
仅统计与指定过滤条件匹配的事件。
crashlytics_update_issue crashlytics 用于更新 Crashlytics 问题的状态。
apphosting_fetch_logs apphosting 使用此方法可获取指定的 App Hosting 后端的最新日志。如果指定了 buildLogs,则会返回最新构建的构建流程日志。最新的日志会被首先列出。
apphosting_list_backends apphosting 使用此方法可检索当前项目中 App Hosting 后端的列表。如果列表为空,则表示没有后端。uri 是后端的公开网址。正常工作的后端将具有一个 managed_resources 数组,其中包含一个 run_service 条目。该 run_service.service 是为 App Hosting 后端提供服务的 Cloud Run 服务的资源名称。该名称的最后一个部分是服务 ID。domains 是与后端关联的网域的列表。它们的类型为 CUSTOMDEFAULT。每个后端都应该有一个 DEFAULT 网域。用户用于连接到后端的实际网域是网域资源名称的最后一个参数。如果自定义网域设置正确,其状态将以 ACTIVE 结尾。
realtimedatabase_get_data realtimedatabase 使用此方法可从 Firebase Realtime Database 中的指定位置检索数据。
realtimedatabase_set_data realtimedatabase 使用此方法将数据写入 Firebase Realtime Database 中的指定位置。

资源

MCP 服务器提供资源,这些资源是旨在供 LLM 使用的文档文件。支持使用资源的模型会自动在对话上下文中使用相关资源。

下表介绍了 MCP 服务器提供的资源。

资源名称 说明
backend_init_guide Firebase 后端初始化指南:引导编码代理在当前项目中配置 Firebase 后端服务
ai_init_guide Firebase GenAI Init 指南:引导编码代理在当前项目中利用 Firebase 配置 GenAI 功能
data_connect_init_guide Firebase Data Connect 初始化指南:引导编码代理在当前项目中配置 Data Connect 以实现 PostgreSQL 访问
firestore_init_guide Firestore 初始化指南:引导编码代理完成当前项目中的 Firestore 配置
firestore_rules_init_guide Firestore 规则初始化指南:引导编码代理在项目中设置 Firestore 安全规则
rtdb_init_guide Firebase Realtime Database 初始化指南:引导编码代理在当前项目中配置 Realtime Database
auth_init_guide Firebase Authentication 初始化指南:引导编码代理在当前项目中配置 Firebase Authentication
hosting_init_guide Firebase Hosting 部署指南:引导编码代理完成当前项目中的 Firebase Hosting 部署
文档 Firebase 文档:从 Firebase 文档加载纯文本内容,例如 https://firebase.google.com/docs/functions 变为 firebase://docs/functions