fix(crashlytics-autotriage): single trigger + activate Crashlytics MCP tools#88
Merged
Merged
Conversation
…e runs) The workflow triggered on both `opened` and `labeled`, so an issue created *with* the crashlytics-auto label fired two triage runs — doubling Claude API spend per crash. Trigger on `labeled` only: the Cloud Function applies the label when it files a crash, so `labeled` reliably catches every case, and a human can still add the label to an existing issue. Also refreshes the stale "NOT YET ENABLED" header comment.
…nly crashlytics) The Crashlytics tools are experimental and NOT in the Firebase MCP server's default tool set (verified: `mcp --generate-tool-list` shows 63 tools, none crashlytics; `--only crashlytics` surfaces crashlytics_get_issue/list_events/etc). Without this flag the server connects but the crashlytics_* tools never appear, so Claude triages with no stacktrace (observed on issue #87). Core tools remain available alongside the crashlytics group.
labeled only — kill duplicate runs
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Two corrections found during the Phase 0 live test (issue #87):
1. Trigger on
labeledonly (kill duplicate runs)The workflow triggered on both
issues: openedandissues: labeled. Because the Cloud Function creates each crash issue with thecrashlytics-autolabel, both fired — two triage runs per crash, doubling Claude API spend. Now triggers onlabeledonly; the function applies the label when it files a crash, so it reliably catches every case, and a human can still label an existing issue. Also refreshed the staleNOT YET ENABLEDheader comment.2. Activate the Crashlytics MCP tool group (
--only crashlytics)On #87 the run succeeded but Claude reported the Crashlytics MCP tools never surfaced, so it triaged with no stacktrace. Verified the cause: those tools are experimental and not in the Firebase MCP server's default set.
Added
--only crashlyticsto.github/firebase-mcp.json. Core tools stay available alongside the crashlytics group.Type of Change
How Has This Been Tested?
openedrun and alabeledrun);labeled-only yields one run.mcp --generate-tool-list(output above).crashlytics-autolabeling should now let Claude fetch the real stacktrace.Dependency note
For the Crashlytics tools to actually return data, the
GCP_SA_KEYservice account needsroles/firebasecrashlytics.viewerand the project's Crashlytics API must be enabled — already set up pergh-crashlytics-reader.Checklist