MCP server that registers Firebase developer support tools for documentation search, error code lookup, security rules analysis, service status checking, and bug report generation
Firebase support tool has 5 tools with reasonable naming (verb_noun pattern) and descriptions (avg ~150 chars). However, schemas are incomplete: search_docs and analyze_security_rules lack proper Zod schema definitions in the visible code; lookup_error_code and check_firebase_status have minimal/empty schemas. Parameter descriptions exist but lack constraints (enums, ranges, formats). Output schemas are undocumented, LLMs cannot predict response structure. Error handling is minimal (check_firebase_status has a try-catch but no recovery guidance). No tool annotations (readOnlyHint/destructiveHint). create_bug_report is WRITE but unmarked. Overall: functional but below production baseline.
Analyze Firestore or Realtime Database security rules for common issues, anti-patterns, and best practices. Use this when a developer shares their security rules or has permission-denied errors.
Check the current operational status of Firebase services. Use this when a developer reports widespread issues that might be caused by a Firebase outage.
Generate a structured bug report from the conversation. Use this when the developer has an issue that cannot be resolved and needs to be tracked.
Look up a specific Firebase error code to get its cause, resolution steps, and related documentation. Use this when a developer shares an error message or error code from Firebase.
Search the Firebase documentation knowledge base for relevant guides, API references, and code examples. Use this tool when a developer asks how to do something with Firebase, needs code examples, or wants to understand a Firebase feature.
Output schemas undocumented. LLMs cannot predict response structure (fields, types, pagination). search_docs, lookup_error_code, check_firebase_status return JSON.stringify(results) with no schema definition.
check_firebase_status has empty inputSchema ({}). No parameters documented. Violates pattern:tool-description requirement that every tool parameter have a description.
No tool annotations (readOnlyHint/destructiveHint). create_bug_report is WRITE but unmarked; LLM cannot distinguish safe vs destructive tools. search_docs, lookup_error_code, check_firebase_status, analyze_security_rules are READ_ONLY but not annotated.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Parameter constraints missing. search_docs.topK has no min/max (unbounded); product enum is documented in description but not enforced as Zod enum; analyze_security_rules.dbType is Zod enum but description repeats the enum instead of explaining when to use each.
Error handling lacks recovery guidance. check_firebase_status catch block returns generic 'Unable to fetch Firebase status' with no retry hint or fallback. lookup_error_code has no error path if searchDocs fails.