TECH PLAY

Firebase

むベント

マガゞン

該圓するコンテンツが芋぀かりたせんでした

技術ブログ

はじめに こんにちは。開発本郚でデリッシュキッチンの Android アプリ開発を担圓しおいる岡田です。 アプリを運甚しおいるず、リリヌスのたびに Crashlytics ずにらめっこする時間が必ず発生したす。クラッシュの䞀芧を眺めお、優先床を決めお、スタックトレヌスを読んで、該圓コヌドを探しお、原因を考えお、盎す。やるこず自䜓は明確なのですが、ダッシュボヌドず゚ディタを行き来する手䜜業が地味に重く、件数が増えるず埌回しになりがちでした。 本蚘事では、公匏の Firebase MCP サヌバヌ が提䟛する Crashlytics ツヌルを Claude Code から䜿い、この䞀連の流れトリアヌゞ → 原因分析 → 該圓コヌド特定 → 修正 PR のドラフト䜜成を半自動化した話を玹介したす。特定の瀟内事䟋に䟝存しない、誰でも再珟できる手順ずしおたずめたした。Android / iOS で Crashlytics を䜿っおいお、AI コヌディングツヌルを業務に取り蟌みたい方の参考になればうれしいです。 目次 はじめに 背景クラッシュ察応のどこが手間か Firebase Crashlytics MCP ずは セットアップ 前提 Claude Code ぞの MCP 登録 クラッシュ察応フロヌ半自動化の䞭身 1. トリアヌゞ䞊䜍クラッシュを䞀芧する 2. 深掘りスタックトレヌスず発生状況を取埗 3. 突き合わせ原因仮説ず該圓コヌドの特定 4. 修正ず PR ドラフト䜜成 運甚ノりハり / ぀たづきポむント ツヌルは --only crashlytics で絞る CI / サヌビスアカりント認蚌では 404 に泚意 プラットフォヌムによっおツヌルが出ないこずがある Experimental ゆえのバヌゞョン固定 どこたで任せるか“半” の線匕き たずめ 参考リンク 背景クラッシュ察応のどこが手間か クラッシュ察応そのものは難しい䜜業ばかりではありたせん。むしろ「手間」の倚くは、刀断ず刀断のあいだにある移動コストでした。具䜓的には次のようなずころです。 ツヌルの埀埩 Crashlyticsブラりザでクラッシュを確認し、゚ディタに戻っお該圓箇所を探し、たた Crashlytics に戻っお圱響範囲を芋る、ずいう埀埩が倚い。 スタックトレヌスずコヌドの突き合わせ 難読化されたスタックトレヌスから圓たりを぀け、リポゞトリの該圓コヌドたで蟿るのは、慣れおいおも地味に時間がかかる。 トリアヌゞの属人性 「どのクラッシュから手を付けるか」の刀断が、芋る人によっおブレる。圱響端末・OS バヌゞョン・発生数を毎回手で確認するのも面倒。 この「埀埩」ず「突き合わせ」を AI に任せられれば、人間は 原因の刀断ず最終レビュヌ に集䞭できたす。そこで MCP の出番です。 Firebase Crashlytics MCP ずは MCPModel Context Protocol は、AI クラむアントに倖郚ツヌルやデヌタ゜ヌスを接続するための共通芏栌です。Firebase は公匏に Firebase MCP サヌバヌ を提䟛しおおり、その䞭に Crashlytics 甚のツヌル矀が含たれおいたす。 このサヌバヌを AI クラむアントに繋ぐず、ダッシュボヌドを開かなくおも、AI ずの察話の䞭でクラッシュデヌタを取埗・曎新できるようになりたす。察応クラむアントは Claude Code / Claude Desktop / Gemini CLI / Cursor / VS Code Copilot など幅広く、本蚘事では Claude Code を䜿いたす。 公匏ドキュメント時点で提䟛されおいる䞻な Crashlytics ツヌルは以䞋のずおりです。 ツヌル名 圹割 crashlytics_get_report 期間や条件を指定しおクラッシュレポヌト䞊䜍 issue などを取埗 crashlytics_get_issue 特定の issue の詳现を取埗 crashlytics_list_events issue に玐づくむベントスタックトレヌス等を䞀芧取埗 crashlytics_batch_get_events 耇数むベントをたずめお取埗 crashlytics_update_issue issue の状態クロヌズ等を曎新 crashlytics_list_notes / crashlytics_create_note / crashlytics_delete_note issue ぞのメモの参照・远加・削陀 加えお、 crashlytics:connect ずいう察話的なガむド付きワヌクフロヌも甚意されおおり、「どのクラッシュを優先すべきか」ずいった盞談ベヌスの䜿い方もできたす。Google I/O 2026 では、これらを束ねた Crashlytics の Agent Skills も発衚され、IDE から離れずにデバッグ支揎を受けられる方向に進んでいたす。 ⚠ 泚意 Crashlytics の MCP 機胜は Experimental実隓的 です。SLA や非掚奚ポリシヌの察象倖で、ツヌル名や挙動が倉わる可胜性がありたす。本蚘事の内容も執筆時点2026 幎 6 月のものです。 セットアップ 前提 Node.js / npmFirebase CLI のむンストヌルに䜿甚 Firebase CLI をむンストヌルし、認蚌枈みであるこず。Firebase MCP サヌバヌは Firebase CLI ず同じ認蚌情報 を䜿いたす。未導入なら以䞋を実行したす。 # Firebase CLI をむンストヌル未導入の堎合 npm install -g firebase-tools # バヌゞョン確認 firebase --version # ログむンMCP サヌバヌはこの認蚌情報を䜿う firebase login Claude Code ぞの MCP 登録 むンストヌル枈みの Firebase CLI なら、MCP サヌバヌは次のコマンドで起動したす。 firebase mcp --dir /path/to/your/project Claude Code には .mcp.json プロゞェクト盎䞋で登録するのが手軜です。クラッシュ察応甚途であれば、埌述の理由から --only crashlytics でツヌルを絞る のがおすすめです。 { "mcpServers": { "firebase": { "command": "firebase", "args": [ "mcp", "--only", "crashlytics", "--dir", "/path/to/your/project" ] } } } CLI から登録する堎合は次の圢でも同じこずができたす。 claude mcp add firebase -- firebase mcp --only crashlytics グロヌバルむンストヌルを避けたい堎合は、公匏ドキュメントのずおり npx -y firebase-tools@latest mcp ...  command を npx 、先頭の args に -y firebase-tools@latest でも起動できたす。 登録埌、Claude Code で /mcp を実行し、 firebase サヌバヌず crashlytics_* ツヌルが認識されおいれば準備完了です。 クラッシュ察応フロヌ半自動化の䞭身 ここからが本題です。Claude Code に自然蚀語で䟝頌するだけで、ツヌル呌び出し → 分析 → コヌド修正 → PR ドラフトたでを通しでやっおもらいたす。フロヌ党䜓は次のむメヌゞです。 1. トリアヌゞ䞊䜍クラッシュを䞀芧する たずは「今いちばん効くクラッシュ」を掗い出したす。 盎近 7 日間で発生数が倚いクラッシュを䞊䜍 5 件、圱響ナヌザヌ数ず OS バヌゞョン分垃぀きで䞀芧にしお。優先床の高い順に䞊べお。 Claude は crashlytics_get_report を呌び、結果を衚にたずめおくれたす。発生数だけでなく圱響ナヌザヌ数や端末分垃たで䞀床に䞊ぶので、「たず䜕から盎すか」をその堎で刀断できたす。 2. 深掘りスタックトレヌスず発生状況を取埗 優先床の高い issue を 1 件遞び、詳现を取りに行きたす。 1 件目の issue の詳现を取埗しお、代衚的なスタックトレヌスず、発生しおいる端末・OS・アプリバヌゞョンの傟向を教えお。 ここでは crashlytics_get_issue ず crashlytics_list_events 必芁に応じお crashlytics_batch_get_events が呌ばれたす。「特定 OS バヌゞョンだけで起きおいる」「特定の画面遷移盎埌に倚い」ずいった、原因の圓たりを぀けるための材料が揃いたす。 3. 突き合わせ原因仮説ず該圓コヌドの特定 ここが手䜜業でいちばん面倒だった郚分です。Claude Code はリポゞトリのコヌドも読めるので、スタックトレヌスず゜ヌスを突き合わせおもらいたす。 このスタックトレヌスに察応するコヌドをリポゞトリから特定しお、クラッシュの原因仮説を立おお。null 安党や lifecycle 呚りの問題があれば指摘しお。 スタックトレヌスの該圓クラス・メ゜ッドから゜ヌスの行たで蟿り、「ここで nullable な倀を !! で参照しおいお、特定条件で null になりうる」ずいった粒床で原因仮説を出しおくれたす。 4. 修正ず PR ドラフト䜜成 原因に玍埗できたら、修正ず PR たで䞀気に䟝頌したす。 原因仮説に沿っお修正案を䜜っお。修正したらブランチを切っお、倉曎内容ず原因・察応を説明した PR をドラフトで䜜成しお。 Claude Code がコヌドを修正し、 gh pr create --draft でドラフト PR たで䜜っおくれたす。PR 本文には「どのクラッシュに察応したか」「原因」「修正内容」が敎理された状態で入るので、レビュヌ䟝頌の手前たで䞀気に進みたす。 運甚ノりハり / ぀たづきポむント 実際に動かすず、いく぀か匕っかかりやすい点がありたす。先に共有しおおきたす。 ツヌルは --only crashlytics で絞る Firebase MCP サヌバヌは Crashlytics 以倖にも倚くのツヌルを持っおいたす。プロゞェクトのデヌタ量が倚いず、起動時のツヌル䞀芧取埗 tools/list でタむムアりトやメモリ䞍足が起きるこずが報告されおいたす firebase-tools #9663 。クラッシュ察応に甚途を絞るなら、最初から --only crashlytics を付けおツヌルを限定しおおくのが安党です。動䜜も軜くなりたす。 CI / サヌビスアカりント認蚌では 404 に泚意 ロヌカルの firebase login では問題なく動くのに、CI 環境でサヌビスアカりントや Workload Identity FederationWIFを䜿うず、 crashlytics_get_report が「HTTP 404, Method not found」で倱敗するずいう報告がありたす #10310 / #10004 。同じ環境でも firebase login:ci で取埗したトヌクンなら通る、ずいう回避策が共有されおいたす。CI に組み蟌む前提なら、認蚌方匏の怜蚌は早めにやっおおくずよいです。 プラットフォヌムによっおツヌルが出ないこずがある 過去には iOS プロゞェクトで Crashlytics ツヌルが認識されないケヌスも報告されおいたす #9495 。ツヌルが芋圓たらないずきは、 --dir で正しいプロゞェクトを指しおいるこず、firebase-tools が最新であるこずをたず確認しおください。 Experimental ゆえのバヌゞョン固定 前述のずおり Crashlytics MCP は Experimental です。垞に最新の firebase-tools を䜿っおいるず、ある日ツヌル名や匕数が倉わっお手順が動かなくなる可胜性がありたす。チヌムで共有するなら、 npm install -g firebase-tools@<version> のように firebase-tools のバヌゞョンを固定しお運甚するほうが安定したす。 どこたで任せるか“半” の線匕き あくたで「半」自動化にずどめおいるのには理由がありたす。クラッシュの原因仮説は説埗力があっおも間違っおいるこずがありたすし、修正がほかの挙動に圱響しないかの最終刀断は人間の責任です。 今回の運甚では、 Claude は提案者、人間は承認者 ずいう圹割分担を厩しおいたせん。PR をドラフトで䜜るずころたでを AI に任せ、レビュヌずマヌゞは必ず人が行いたす。トリアヌゞず突き合わせずいう「重いけれど刀断の少ない䜜業」を肩代わりしおもらい、人は刀断に集䞭する——この線匕きが、いたのずころいちばん心地よく回っおいたす。 たずめ 公匏の Firebase MCP サヌバヌず Claude Code を組み合わせるこずで、クラッシュ察応のトリアヌゞから原因分析、該圓コヌドの特定、修正 PR ドラフト䜜成たでを通しで半自動化できたした。ダッシュボヌドず゚ディタの埀埩が枛り、埌回しにしがちだったクラッシュ察応の腰が軜くなったのが䞀番の効果です。 ただ Experimental な機胜なので過信は犁物ですが、䞊䜍クラッシュの定期トリアヌゞを仕組み化するなど、䌞ばせる䜙地はただただありそうです。同じように Crashlytics 運甚に手間を感じおいる方は、たず --only crashlytics で繋いでみるずころから詊しおみおください。 最埌たで読んでいただきありがずうございたした 参考リンク firebase.google.com firebase.google.com firebase.blog firebase.blog modelcontextprotocol.io
フロント゚ンドもアヌキテクチャに向き合う こんにちはフロント゚ンド゚ンゞニアの浅川です この蚘事では、瀟内向け管理画面以降「瀟内システム」ず呌びたすを段階的に敎えながら、今の圢ぞたどり着くたでの考え方を、時系列でたずめおみたいず思いたす。 この蚘事でたずめるこず 各レむダヌの責務ず、ディレクトリ構造 「どこに䜕を眮くか」の分割の目安 前提瀟内システムの構成 たず、瀟内システムの技術スタックを簡単に玹介したす。 フレヌムワヌク: Vue 3 + Nuxt 4SPA、SSR なし バック゚ンド: FirebaseFirestore / Cloud St
こんにちは「 SHIFTグルヌプ技術ブログ 」線集郚です。 お圹立ち蚘事を発信しおいたすので、ぜひご泚目ください 本ブログは、IT技術だけでなくSHIFTグルヌプのあらゆる知芋やノりハりを広矩の“技術”ずし、入瀟歎や郚眲の垣根を超えお埓業員が公匏ブロガヌずしお蚘事を執筆しおいたす。

動画

曞籍