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_issue和crashlytics_list_events获取问题详情、列出近期崩溃事件并添加备注。 - 验证和检索安全规则 — 使用
firebase_validate_security_rules检查 Firestore、Storage 或 Realtime Database 规则中的错误。 - 监控 App Hosting 后端 — 通过
apphosting_list_backends列出后端,并使用apphosting_fetch_logs获取最近的构建或运行时日志。
文档
Firebase MCP 服务器
Firebase 模型上下文协议 (MCP) 服务器让 AI 驱动的开发工具能够与您的 Firebase 项目和应用代码库协同工作。Firebase MCP 服务器可与任何能充当 MCP 客户端的工具配合使用,包括:Firebase Studio、Gemini CLI、Claude Code、Cline、Cursor、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 及其如何使用您的数据。
安装与设置
前提条件
基本配置
Firebase MCP 服务器可与任何支持标准 I/O (stdio) 作为传输媒介的 MCP 客户端配合使用。当 Firebase MCP 服务器进行工具调用时,它会使用在运行环境中授权 Firebase CLI 的相同用户凭据。
以下是流行 AI 辅助工具的配置说明:
Gemini CLI
gemini extensions install https://github.com/firebase/agent-skills
Claude Code
选项 1:通过插件安装(推荐)
在 Claude Code 中设置 Firebase MCP 服务器的最简单方法是安装官方 Firebase 插件:
-
添加 Claude 插件的 Firebase 市场:
claude plugin marketplace add firebase/firebase-tools -
安装 Firebase 的 Claude 插件:
claude plugin install firebase@firebase -
验证安装:
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_logs | apphosting | 使用此工具获取指定 App Hosting 后端的最新日志。如果指定了 buildLogs,将返回最新构建的构建过程日志。最新的日志会列在最前面。 |
| apphosting_list_backends | apphosting | 使用此工具检索当前项目中的 App Hosting 后端列表。空列表表示没有后端。uri 是后端的公开 URL。一个正常工作的后端会有一个 managed_resources 数组,其中包含一个 run_service 条目。该 run_service.service 是为 App Hosting 后端提供服务的 Cloud Run 服务的资源名称。该名称的最后一段是服务 ID。domains 是与后端关联的域名列表。它们的类型为 CUSTOM 或 DEFAULT。每个后端都应有一个 DEFAULT 域名。用户用于连接后端的实际域名是域名资源名称的最后一个参数。如果自定义域名设置正确,其状态将以 ACTIVE 结尾。 |
| auth_get_users | auth | 使用此工具根据 UID 列表或电子邮件列表检索一个或多个 Firebase Auth 用户。 |
| auth_update_user | auth | 使用此工具禁用、启用或设置特定用户账户的自定义声明。 |
| auth_set_sms_region_policy | auth | 使用此工具为 Firebase Authentication 设置短信区域政策,以根据国家/地区代码的允许或拒绝列表限制可以接收短信的区域。此政策设置后将覆盖任何现有政策。 |
| firebase_login | core | 使用此工具将用户登录到 Firebase CLI 和 Firebase MCP 服务器。这需要一个 Google 账户,登录后才能创建和使用 Firebase 项目。 |
| firebase_logout | core | 使用此工具将用户从 Firebase CLI 和 Firebase MCP 服务器中登出。 |
| firebase_validate_security_rules | core | 使用此工具检查 Firestore、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 应用 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 SQL Connect、Firebase Realtime Database、Firebase AI Logic)。所有服务均为可选;仅指定您要设置的产品。您可以在现有项目目录中初始化新功能,但重新初始化现有功能可能会覆盖配置。要部署已初始化的功能,请在 firebase_init 工具之后运行 firebase deploy 命令。 |
| firebase_get_security_rules | core | 使用此工具检索指定 Firebase 服务的安全规则。如果该产品中有多个该服务的实例,则返回默认实例的规则。 |
| firebase_read_resources | core | 使用此工具读取 firebase:// 资源的内容或列出可用资源 |
| 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_update_issue | crashlytics | 用于更新 Crashlytics 问题的状态。 |
| realtimedatabase_get_data | realtimedatabase | 用于从 Firebase Realtime Database 的指定位置检索数据。 |
| realtimedatabase_set_data | realtimedatabase | 用于将数据写入 Firebase Realtime Database 的指定位置。 |
| dataconnect_build | dataconnect | 用于编译 Firebase SQL Connect 的 schema、操作和/或连接器,并检查构建错误。 |
| dataconnect_list_services | dataconnect | 用于列出现有的本地和后端 Firebase SQL Connect 服务。 |
| dataconnect_execute | dataconnect | 用于针对 SQL Connect 服务或其模拟器执行 GraphQL 操作。 |
| firestore_delete_document | firestore | 用于通过完整文档路径,从当前项目的数据库中删除 Firestore 文档。如果你知道文档的准确路径,请使用此工具。 |
| firestore_get_documents | firestore | 用于通过完整文档路径,从当前项目的数据库中检索一个或多个 Firestore 文档。如果你知道文档的准确路径,请使用此工具。 |
| firestore_list_collections | firestore | 用于从当前项目的 Firestore 数据库中检索集合列表。 |
| firestore_query_collection | firestore | 用于通过具有完整文档路径的集合,从当前项目的数据库中的集合里检索一个或多个 Firestore 文档。如果你知道集合的准确路径以及你想要的文档过滤条件,请使用此工具。 |
| functions_get_logs | functions | 用于使用 Google Cloud Logging 高级过滤器检索一页 Cloud Functions 日志条目。 |
| functions_list_functions | functions | 列出 Firebase 项目中所有已部署的函数。 |
| messaging_send_message | messaging | 用于向 Firebase Cloud Messaging 注册令牌或主题发送消息。在单次调用中,只能提供 registration_token 或 topic 中的一个。 |
| remoteconfig_update_template | remoteconfig | 使用此工具为项目发布新的远程配置模板或回滚到特定版本。 |
| storage_get_object_download_url | storage | 使用此工具获取 Firebase 云存储桶中对象的下载 URL。 |
| --------------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| firebase:deploy | core | 使用此命令将资源部署到 Firebase。 参数: <prompt>(可选):您希望提供的关于部署的任何具体说明 |
| firebase:init | core | 使用此命令设置 Firebase 服务,例如后端和 AI 功能。 |
| firestore:generate_security_rules | firestore | 为您的项目生成安全的 Firebase Firestore 安全规则及相应的单元测试。 |
| storage:generate_security_rules | storage | 为您的项目生成安全的 Firebase Storage 安全规则及相应的单元测试。 |
| crashlytics:connect | crashlytics | 使用此命令访问 Firebase 应用程序的 Crashlytics 数据。 |
| 资源名称 | 描述 |
|---|---|
| app_id_guide | Firebase 应用 ID 指南:指导编码代理在当前项目中选择 Firebase 应用 ID |
| crashlytics_investigations_guide | Firebase Crashlytics 调查指南:在调查 Crashlytics 问题中报告的 bug 时指导编码代理,包括诊断和修复崩溃的流程。 |
| crashlytics_issues_guide | Firebase Crashlytics 问题指南:在处理 Crashlytics 问题时指导编码代理,包括优先级规则以及诊断和修复崩溃的流程。 |
| crashlytics_reports_guide | Firebase Crashlytics 报告指南:指导编码代理请求 Crashlytics 报告,包括设置适当的过滤器以及如何理解指标。代理在请求任何报告之前应阅读本指南。 |
| backend_init_guide | Firebase 后端初始化指南:指导编码代理在当前项目中配置 Firebase 后端服务 |
| ai_init_guide | Firebase GenAI 初始化指南:指导编码代理在当前项目中利用 Firebase 配置 GenAI 功能 |
| firestore_init_guide | Firestore 初始化指南:指导编码代理在当前项目中配置 Firestore |
| firestore_rules_init_guide | Firestore 规则初始化指南:指导编码代理在项目中设置 Firestore 安全规则 |
| auth_init_guide | Firebase 身份验证初始化指南:指导编码代理在当前项目中配置 Firebase 身份验证 |
| hosting_init_guide | Firebase Hosting 部署指南:指导编码代理在当前项目中部署到 Firebase Hosting |
| docs | Firebase 文档:加载来自 Firebase 文档的纯文本内容,例如 https://firebase.google.com/docs/functions 变为 firebase://docs/functions |