Firebase MCP server has 9 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names follow verb_noun convention (firestore_add_document, auth_get_user). Descriptions are present but generic, most lack context on WHEN to use the tool or what happens on failure. Parameter descriptions are minimal (e.g., 'Collection name' for 'collection' param). No output schemas documented. Error handling is absent, no guidance on retryability, user-fixable errors, or recovery paths. Destructive operations (firestore_delete_document) lack confirmation patterns. No tool annotations (readOnlyHint, destructiveHint). Pagination support exists (limit, pageToken) but no total count or next_cursor guidance in descriptions.
Get a user by ID or email from Firebase Authentication
Add a document to a Firestore collection
Delete a document from a Firestore collection
Get a document from a Firestore collection
List collections in Firestore. If documentPath is provided, returns subcollections under that document; otherwise returns root collections.
List documents from a Firestore collection with optional filtering
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., document IDs for chaining). Every tool lacks a documented return type.
Destructive operations (firestore_delete_document) lack confirmation or dry-run patterns. No error guidance on what happens on failure or how to recover.
Parameter descriptions are minimal and lack constraints. E.g., 'Collection name' does not explain valid format, length limits, or naming rules. 'operator' in filters has no enum or examples.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Update a document in a Firestore collection
Get file information including metadata and download URL
List files in a given path in Firebase Storage
Tool descriptions lack context on WHEN to use each tool and what distinguishes it from similar tools. E.g., firestore_get_document vs firestore_list_documents, when should an LLM pick one over the other?
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot determine which tools are safe to retry or which modify state without explicit hints.