借助 Firebase Crashlytics MCP 工具和提示,您可以使用支持 MCP 的 AI 赋能的开发工具(例如 Gemini CLI、Claude Code 或 Cursor)与 Crashlytics 数据进行交互。这些 CrashlyticsMCP 工具和提示可为 AI 工具提供关键背景信息,帮助您管理、确定问题优先解决顺序、调试和修复问题。
设置 Firebase MCP 服务器后,您可以将 MCP 功能用于 Crashlytics:
什么是 MCP? Model Context Protocol (MCP) 是一种标准化方式,可供 AI 工具访问外部工具和数据源。
准备工作:设置 Firebase MCP 服务器
本部分介绍 Firebase MCP 服务器的基本设置,以便您可以使用 Crashlytics 特定的 MCP 命令、提示和工具(所有这些内容将在本页后面部分中介绍)。
前提条件
确保您的环境符合以下要求:
已安装正常运行的 Node.js 和 npm。安装 Node.js 时会自动安装 npm 命令工具。
您的 AI 赋能型开发工具支持 MCP 集成。
如果您使用的是 Unity 项目,请查看有关加载 Crashlytics MCP 工具和提示的常见问题解答。
将 AI 工具配置为使用 Firebase 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 Code Assist
建议您通过安装 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"]
}
}
}
Firebase Studio
如需将 Firebase Studio 配置为使用 Firebase MCP 服务器,请编辑或新建配置文件:.idx/mcp.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"]
}
}
除了上述每种 AI 工具的基本配置之外,您还可以指定可选参数。
(推荐)引导式工作流程,用于排定 crashlytics:connect 的问题优先级并予以修正
Crashlytics 提供对话式灵活引导工作流程,帮助您确定应用中 Crashlytics 问题的优先级并加以解决。例如,AI 工具可以提取问题、说明问题、确定潜在的修复方案,甚至为您进行代码更改。
此引导式工作流可通过 crashlytics:connect MCP 命令使用。
访问和使用命令
crashlytics:connect 指导式工作流程完成任务。如果您尚未设置 Firebase MCP 服务器,请先进行设置,然后启动 AI 工具。
运行
crashlytics:connectMCP 命令。大多数 AI 工具都提供便捷的方式来访问此工作流。 例如,如果您使用的是 Gemini CLI,请运行斜杠命令
/crashlytics:connect使用 AI 工具帮助确定 Crashlytics 问题的优先级并予以修正,例如:
- 查看按优先级排序的问题列表。
- 通过提供特定问题的 ID 或网址来调试该问题。
- 请求有关崩溃的更多信息。
- 询问代理针对建议的根本原因的推理过程。
自由格式的对话式调试
虽然我们建议使用 crashlytics:connect 以获得最佳调试体验,但您也可以通过与可访问 Crashlytics MCP 工具的 AI 工具进行自由对话来调试问题。对于尚不支持 MCP 提示(通常称为斜杠命令或自定义命令)的 AI 工具,这一点尤为重要。
设置 Firebase MCP 服务器后,您可以尝试以下一些示例。
获取问题和崩溃上下文
当 AI 工具可以访问 Crashlytics MCP 工具时,它可以提取关键的 Crashlytics 问题数据,例如用户和事件计数、堆栈轨迹、元数据和应用版本信息。
以下是一些示例提示:
A customer reported an issue during login when using our latest release. What Crashlytics issues do I have that could be related to this login trouble?- 为了回答这个问题,AI 工具可能会读取您的代码,了解登录发生的位置,并使用各种 Crashlytics MCP 工具来检索问题数据。然后,AI 工具会尝试确定最新版本中是否存在与登录流程相关的问题。
The previous on-call engineer was investigating issue abc123 but wasn't able to resolve it. She said she left some notes -- let's pick up where she left off.- 为了回答这个问题,AI 工具将使用各种 Crashlytics MCP 工具来检索问题背景信息以及针对该问题发布的任何备注。它还可能会提取崩溃示例,以继续调查问题。
记录调试调查
在调试问题时,记录自己或团队的调试过程通常很有帮助。Crashlytics 在 Firebase 控制台中提供此功能,配备 Crashlytics MCP 工具的 AI 工具也可以提供帮助,例如:总结调查结果、添加包含有用元数据(例如指向 Jira 或 GitHub 问题)的注释,或在问题修复后关闭问题。
以下是一些示例提示:
Add a note to issue abc123 summarizing this investigation and the proposed fix.We weren't able to get to the bottom of this issue today, summarize what we learned and attach it to issue abc123 to pick back up later.Close issue abc123 and leave a note including the link to the PR that fixed the issue.
Crashlytics MCP 工具参考文档
下表列出了可通过 Firebase MCP 服务器使用的 Crashlytics MCP 工具。
设置 Firebase MCP 服务器后,AI 工具可以使用这些 MCP 工具来帮助您了解、调试和管理问题。这些 MCP 工具既可用于 crashlytics:connect 指导式工作流程,也可用于与 AI 工具进行自由对话。
在大多数使用情形下,这些 MCP 工具仅供 LLM 使用,而不供人类开发者直接使用。LLM 会根据您与 AI 工具的互动来决定何时使用这些 MCP 工具。
管理 Crashlytics 个问题
下表介绍了可用于管理 Crashlytics 问题的工具。
| 工具名称 | 特征组 | 说明 |
|---|---|---|
| crashlytics_create_note | crashlytics | 为 Crashlytics 中的问题添加备注。 |
| crashlytics_delete_note | crashlytics | 从 Crashlytics 问题中删除备注。 |
| crashlytics_update_issue | crashlytics | 使用此方法可更新 Crashlytics 问题的状态。 |
提取 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 | 按操作系统分组,统计事件数和受影响的唯一用户数。 各组按事件数降序排序。 仅统计与指定过滤条件匹配的事件。 |
其他信息
我们如何使用您的数据
数据治理取决于您使用的 AI 赋能的开发工具,并受相应 AI 工具所定义条款的约束。
价格
Firebase 不会向您收取使用 Crashlytics MCP 工具和提示的费用,也不会向您收取从我们的公共 API 中提取 Crashlytics 数据的费用。
任何费用均由您使用的 AI 赋能的开发工具决定,并且可能取决于 AI 工具使用的 Crashlytics 数据量。请注意,Firebase 没有提供明确的方法来控制加载到上下文中的数据量,但我们确实为模型提供了合理的默认指导。