MCP server for Firebase Firestore with granular permissions
Firestore MCP has well-structured schemas and clear naming conventions, but descriptions lack depth and parameter documentation is inconsistent. All 11 tools have input schemas with proper JSON Schema types and enums where appropriate. Tool names follow verb_noun pattern (firestore-batch-write, firestore-query-collection). However, descriptions average ~60 chars (below the 194-char baseline for A+ tools) and lack context on WHEN to use each tool or what happens on failure. Parameter descriptions exist but are minimal (e.g., 'Full path to the document' without format guidance). No output schemas documented. Error handling and recovery guidance absent. Batch operations are well-composed, but individual field-value tools (increment, array-union, array-remove) could be consolidated or better differentiated.
Remove elements from an array field
Add elements to an array field without duplicates
Read multiple documents in a single operation
Execute multiple write operations in a single atomic batch
Delete a document from Firestore
Delete specific fields from a document
Execute multiple field value operations in a batch
No output schemas documented. LLMs cannot infer what fields are returned or plan downstream tool calls. Critical for batch operations and queries.
Descriptions are too brief (avg 60 chars vs 194-char baseline). Missing WHEN to use each tool and what happens on error. E.g., 'Execute multiple write operations in a single atomic batch' lacks guidance on atomicity guarantees or failure modes.
No error handling or recovery guidance. Tools lack descriptions of what errors can occur and what the LLM should do next (retry, ask user, etc.). Critical for destructive operations like delete.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Atomically increment a numeric field value
Query documents in a Firestore collection
Set a field to the server timestamp
Execute a transaction with read and write operations
Field-value tools (increment, array-union, array-remove, delete-field, server-timestamp) are granular but lack differentiation. LLMs may struggle to choose between firestore-increment-field and firestore-field-value-batch. Consider consolidating or adding clear guidance on when to use each.
Parameter descriptions lack format guidance. E.g., 'documentPath' is described as 'Full path to the document' but no example format (e.g., 'users/user123/posts/post456') or validation rules provided. LLMs may pass invalid paths.