You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[MCP] Crashlytics tools not loaded for Android projects using Gradle version catalogs (libs.versions.toml) #11351
Crashlytics MCP tools are not loaded for Android projects that declare their dependencies via a Gradle version catalog (gradle/libs.versions.toml), which is the default for new Android Studio projects.
androidAppUsesCrashlytics() in src/mcp/util/crashlytics/availability.ts only scans build.gradle* files for firebase-crashlytics|firebase.crashlytics|com.google.firebase.crashlytics. With a version catalog, the build files only contain catalog accessors, for example:
So detection returns false and no crashlytics_* tools are exposed, although the app uses Crashlytics. The troubleshooting FAQ mentions "non-standard dependency management systems", but version catalogs are standard Gradle.
Suggested fix: also scan *.versions.toml files (e.g. gradle/libs.versions.toml) with the same pattern in androidAppUsesCrashlytics().
Bug Info
Affected Tool(s): all crashlytics_* tools (not loaded); auto feature detection
MCP Client: Claude Code 2.1.282 with the official Firebase plugin 1.1.0 (firebase-tools@15.32.1 mcp --dir .); detection code is unchanged in 15.34.1
Operating System: macOS 26.6.2
Steps to Reproduce
Use an Android project that uses Crashlytics and declares it only via a version catalog (libs.versions.toml), as shown above.
Start the Firebase MCP server in that directory without --only (e.g. via the Claude Code Firebase plugin).
List tools: no crashlytics_* tools are available.
Calling the detection directly confirms it:
platforms: [ 'ANDROID' ]
debug: Looking for whether crashlytics is installed...
debug: Found supported platforms ["ANDROID"], but did not find a Crashlytics dependency.
crashlytics: false
Workaround: start the server with --only core,crashlytics,.... This is not possible with the plugin's bundled MCP config without editing it.
Thanks for the detailed report @klemensz! Looking at the codebase, it seems like our logic for determining if your app uses Crashlytics is by parsing your build.gradle file -
The patterns we use would work if dependencies were kebab-case in TOML keys, but would fail if using camelCase. I think your suggestion of also parsing the *.versions.toml is a good solution since firebase-crashlytics would also be listed there - opened up a PR to get this updated.
Activity
aalej commentedon Oct 28, 2026
Thanks for the detailed report @klemensz! Looking at the codebase, it seems like our logic for determining if your app uses Crashlytics is by parsing your
build.gradlefile -firebase-tools/src/mcp/util/crashlytics/availability.ts
Lines 57 to 68 in 83ffba0
The patterns we use would work if dependencies were kebab-case in TOML keys, but would fail if using camelCase. I think your suggestion of also parsing the
*.versions.tomlis a good solution sincefirebase-crashlyticswould also be listed there - opened up a PR to get this updated.