Firebase MCP Server

官方

你可以使用 Firebase MCP 服务器,让 AI 驱动的开发工具能够操作你的 Firebase 项目以及应用的代码库。

你可以用 Firebase MCP 做什么?

  • 创建和管理 Firebase 项目 — 通过 firebase_create_project 让助手初始化新项目,或列出已有项目和应用。
  • 管理 Authentication 用户 — 使用 auth_get_users 获取用户详情,通过 auth_update_user 更新自定义声明或禁用账户。
  • 查询和更新 Firestore 或 Realtime Database — 使用 firebase_read_resources 及数据库相关工具读取、写入和管理文档。
  • 使用 Crashlytics 调试崩溃 — 通过 crashlytics_get_issuecrashlytics_list_events 获取问题详情、列出近期崩溃事件并添加备注。
  • 验证和检索安全规则 — 使用 firebase_validate_security_rules 检查 Firestore、Storage 或 Realtime Database 规则中的错误。
  • 监控 App Hosting 后端 — 通过 apphosting_list_backends 列出后端,并使用 apphosting_fetch_logs 获取最近的构建或运行时日志。

文档

Firebase MCP 服务器

License Install MCP Server

Firebase 模型上下文协议 (MCP) 服务器让 AI 驱动的开发工具能够与您的 Firebase 项目和应用代码库协同工作。Firebase MCP 服务器可与任何能充当 MCP 客户端的工具配合使用,包括:Firebase StudioGemini CLIClaude CodeClineCursor、VS Code Copilot、Windsurf 等等!

功能特性

配置为使用 Firebase MCP 服务器的编辑器可以利用其 AI 能力帮助您:

  • 创建和管理 Firebase 项目 - 初始化新项目、列出现有项目以及管理 Firebase 应用
  • 管理 Firebase Authentication 用户 - 检索、更新和管理用户账号
  • 使用 Cloud Firestore 和 Firebase SQL Connect - 查询、读取、写入和管理数据库文档
  • 检索 Firebase SQL Connect 架构 - 借助 AI 辅助生成架构和操作
  • 理解安全规则 - 验证和检索 Firestore、Cloud Storage 和 Realtime Database 的安全规则
  • 使用 Firebase Cloud Messaging 发送消息 - 向设备和主题发送推送通知
  • 访问 Crashlytics 数据 - 调试问题、查看崩溃报告和管理崩溃分析
  • 部署到 App Hosting - 监控后端并检索日志
  • 使用 Realtime Database - 实时读取和写入数据
  • 查询 Cloud Functions 日志 - 检索和分析函数执行日志
  • 管理 Remote Config - 获取和更新远程配置模板

部分工具使用 Firebase 中的 Gemini 来帮助您:

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

重要提示: Firebase 中的 Gemini 可能生成看似合理但实际不正确的输出。它可能会回应不准确的信息,这些信息不代表 Google 的观点。在使用之前,请验证 Gemini 的所有输出,并且不要在生产环境中使用未经测试的生成代码。不要在聊天中输入个人身份信息 (PII) 或用户数据。
详细了解 Firebase 中的 Gemini 及其如何使用您的数据

安装与设置

前提条件

确保您已安装可正常工作的 Node.jsnpm

基本配置

Firebase MCP 服务器可与任何支持标准 I/O (stdio) 作为传输媒介的 MCP 客户端配合使用。当 Firebase MCP 服务器进行工具调用时,它会使用在运行环境中授权 Firebase CLI 的相同用户凭据。

以下是流行 AI 辅助工具的配置说明:

Gemini CLI

安装 Gemini CLI 的 Firebase 扩展

gemini extensions install https://github.com/firebase/agent-skills

Claude Code

选项 1:通过插件安装(推荐)

在 Claude Code 中设置 Firebase MCP 服务器的最简单方法是安装官方 Firebase 插件:

  1. 添加 Claude 插件的 Firebase 市场:

    claude plugin marketplace add firebase/firebase-tools
    
  2. 安装 Firebase 的 Claude 插件:

    claude plugin install firebase@firebase
    
  3. 验证安装:

    claude plugin
    
选项 2:手动配置 MCP 服务器

或者,您可以通过运行以下命令手动配置 Firebase MCP 服务器:

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

您可以通过运行以下命令验证安装:

claude mcp list

它应该显示:

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

Cursor

添加到项目目录中的 .cursorrules 或在 Cursor 设置中进行配置:

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

Windsurf

添加到 ~/.codeium/windsurf/mcp_config.json

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

Firebase Studio

要配置 Firebase Studio 使用 Firebase MCP 服务器,请编辑或创建配置文件:.idx/mcp.json

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

使用方法

配置完成后,MCP 服务器将自动为您的 AI 助手提供 Firebase 功能。您可以:

  • 让 AI 帮助设置 Firebase 服务
  • 查询您的 Firestore 数据库
  • 管理身份验证用户
  • 部署到 Firebase Hosting
  • 调试 Crashlytics 问题
  • 以及更多!

有关可用工具和资源的完整列表,请参阅下面的服务器能力部分。

文档

有关更多信息,请访问官方 Firebase MCP 服务器文档

服务器能力

Firebase MCP 服务器提供三种类型的能力:工具(执行操作的函数)、提示(可重用的命令模板)和资源(供 AI 模型使用的文档文件)。

工具名称功能组描述
apphosting_fetch_logsapphosting使用此工具获取指定 App Hosting 后端的最新日志。如果指定了 buildLogs,将返回最新构建的构建过程日志。最新的日志会列在最前面。
apphosting_list_backendsapphosting使用此工具检索当前项目中的 App Hosting 后端列表。空列表表示没有后端。uri 是后端的公开 URL。一个正常工作的后端会有一个 managed_resources 数组,其中包含一个 run_service 条目。该 run_service.service 是为 App Hosting 后端提供服务的 Cloud Run 服务的资源名称。该名称的最后一段是服务 ID。domains 是与后端关联的域名列表。它们的类型为 CUSTOMDEFAULT。每个后端都应有一个 DEFAULT 域名。用户用于连接后端的实际域名是域名资源名称的最后一个参数。如果自定义域名设置正确,其状态将以 ACTIVE 结尾。
auth_get_usersauth使用此工具根据 UID 列表或电子邮件列表检索一个或多个 Firebase Auth 用户。
auth_update_userauth使用此工具禁用、启用或设置特定用户账户的自定义声明。
auth_set_sms_region_policyauth使用此工具为 Firebase Authentication 设置短信区域政策,以根据国家/地区代码的允许或拒绝列表限制可以接收短信的区域。此政策设置后将覆盖任何现有政策。
firebase_logincore使用此工具将用户登录到 Firebase CLI 和 Firebase MCP 服务器。这需要一个 Google 账户,登录后才能创建和使用 Firebase 项目。
firebase_logoutcore使用此工具将用户从 Firebase CLI 和 Firebase MCP 服务器中登出。
firebase_validate_security_rulescore使用此工具检查 Firestore、Storage 或 Realtime Database 的 Firebase 安全规则是否存在语法和验证错误。
firebase_get_projectcore使用此工具检索当前活跃的 Firebase 项目的信息。
firebase_list_appscore使用此工具检索当前活跃的 Firebase 项目中注册的 Firebase 应用列表。Firebase 应用可以是 iOS、Android 或 Web 类型。
firebase_list_projectscore使用此工具检索已登录用户有权访问的 Firebase 项目列表。
firebase_get_sdk_configcore使用此工具检索 Firebase 应用的配置信息。您必须为当前活跃的 Firebase 项目中注册的 Firebase 应用指定平台或 Firebase 应用 ID。
firebase_create_projectcore使用此工具创建新的 Firebase 项目。
firebase_create_appcore使用此工具在当前活跃的 Firebase 项目中创建新的 Firebase 应用。Firebase 应用可以是 iOS、Android 或 Web 类型。
firebase_create_android_shacore使用此工具将指定的 SHA 证书哈希添加到指定的 Firebase Android 应用。
firebase_get_environmentcore使用此工具检索 Firebase CLI 和 Firebase MCP 服务器的当前 Firebase 环境配置,包括当前已认证用户、项目目录、活跃的 Firebase 项目等。所有工具都要求用户已认证,但并非所有信息都是所有工具必需的。请注意各工具对所需信息的要求。
firebase_update_environmentcore使用此工具更新 Firebase CLI 和 Firebase MCP 服务器的环境配置,例如项目目录、活跃项目、活跃用户账户、接受服务条款等。使用 firebase_get_environment 查看当前配置的环境。
firebase_initcore使用此工具在工作区中初始化选定的 Firebase 服务(Cloud Firestore 数据库、Firebase SQL Connect、Firebase Realtime Database、Firebase AI Logic)。所有服务均为可选;仅指定您要设置的产品。您可以在现有项目目录中初始化新功能,但重新初始化现有功能可能会覆盖配置。要部署已初始化的功能,请在 firebase_init 工具之后运行 firebase deploy 命令。
firebase_get_security_rulescore使用此工具检索指定 Firebase 服务的安全规则。如果该产品中有多个该服务的实例,则返回默认实例的规则。
firebase_read_resourcescore使用此工具读取 firebase:// 资源的内容或列出可用资源
crashlytics_create_notecrashlytics向 Crashlytics 中的问题添加备注。
crashlytics_delete_notecrashlytics从 Crashlytics 问题中删除备注。
crashlytics_get_issuecrashlytics获取 Crashlytics 问题的数据,可作为调试的起点。
crashlytics_list_eventscrashlytics使用此工具列出与给定筛选条件匹配的最近事件。
可用于获取问题的示例崩溃和异常,
其中将包含堆栈跟踪和其他有助于调试的数据。
crashlytics_batch_get_eventscrashlytics按资源名称获取特定事件。
可用于获取问题的示例崩溃和异常,
其中将包含堆栈跟踪和其他有助于调试的数据。
crashlytics_list_notescrashlytics使用此工具列出 Crashlytics 中某个问题的所有备注。
crashlytics_update_issuecrashlytics用于更新 Crashlytics 问题的状态。
realtimedatabase_get_datarealtimedatabase用于从 Firebase Realtime Database 的指定位置检索数据。
realtimedatabase_set_datarealtimedatabase用于将数据写入 Firebase Realtime Database 的指定位置。
dataconnect_builddataconnect用于编译 Firebase SQL Connect 的 schema、操作和/或连接器,并检查构建错误。
dataconnect_list_servicesdataconnect用于列出现有的本地和后端 Firebase SQL Connect 服务。
dataconnect_executedataconnect用于针对 SQL Connect 服务或其模拟器执行 GraphQL 操作。
firestore_delete_documentfirestore用于通过完整文档路径,从当前项目的数据库中删除 Firestore 文档。如果你知道文档的准确路径,请使用此工具。
firestore_get_documentsfirestore用于通过完整文档路径,从当前项目的数据库中检索一个或多个 Firestore 文档。如果你知道文档的准确路径,请使用此工具。
firestore_list_collectionsfirestore用于从当前项目的 Firestore 数据库中检索集合列表。
firestore_query_collectionfirestore用于通过具有完整文档路径的集合,从当前项目的数据库中的集合里检索一个或多个 Firestore 文档。如果你知道集合的准确路径以及你想要的文档过滤条件,请使用此工具。
functions_get_logsfunctions用于使用 Google Cloud Logging 高级过滤器检索一页 Cloud Functions 日志条目。
functions_list_functionsfunctions列出 Firebase 项目中所有已部署的函数。
messaging_send_messagemessaging用于向 Firebase Cloud Messaging 注册令牌或主题发送消息。在单次调用中,只能提供 registration_tokentopic 中的一个。
remoteconfig_update_templateremoteconfig使用此工具为项目发布新的远程配置模板或回滚到特定版本。
storage_get_object_download_urlstorage使用此工具获取 Firebase 云存储桶中对象的下载 URL。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
firebase:deploycore使用此命令将资源部署到 Firebase。

参数:
<prompt>(可选):您希望提供的关于部署的任何具体说明
firebase:initcore使用此命令设置 Firebase 服务,例如后端和 AI 功能。
firestore:generate_security_rulesfirestore为您的项目生成安全的 Firebase Firestore 安全规则及相应的单元测试。
storage:generate_security_rulesstorage为您的项目生成安全的 Firebase Storage 安全规则及相应的单元测试。
crashlytics:connectcrashlytics使用此命令访问 Firebase 应用程序的 Crashlytics 数据。
资源名称描述
app_id_guideFirebase 应用 ID 指南:指导编码代理在当前项目中选择 Firebase 应用 ID
crashlytics_investigations_guideFirebase Crashlytics 调查指南:在调查 Crashlytics 问题中报告的 bug 时指导编码代理,包括诊断和修复崩溃的流程。
crashlytics_issues_guideFirebase Crashlytics 问题指南:在处理 Crashlytics 问题时指导编码代理,包括优先级规则以及诊断和修复崩溃的流程。
crashlytics_reports_guideFirebase Crashlytics 报告指南:指导编码代理请求 Crashlytics 报告,包括设置适当的过滤器以及如何理解指标。代理在请求任何报告之前应阅读本指南。
backend_init_guideFirebase 后端初始化指南:指导编码代理在当前项目中配置 Firebase 后端服务
ai_init_guideFirebase GenAI 初始化指南:指导编码代理在当前项目中利用 Firebase 配置 GenAI 功能
firestore_init_guideFirestore 初始化指南:指导编码代理在当前项目中配置 Firestore
firestore_rules_init_guideFirestore 规则初始化指南:指导编码代理在项目中设置 Firestore 安全规则
auth_init_guideFirebase 身份验证初始化指南:指导编码代理在当前项目中配置 Firebase 身份验证
hosting_init_guideFirebase Hosting 部署指南:指导编码代理在当前项目中部署到 Firebase Hosting
docsFirebase 文档:加载来自 Firebase 文档的纯文本内容,例如 https://firebase.google.com/docs/functions 变为 firebase://docs/functions