Firebase MCP Server
Firestore, Storage, and Auth management for AI assistants via service accounts.
Data last scanned today · Reviewed yesterday
Overview
Firebase MCP allows AI clients like Claude Desktop, Cursor, and VS Code to interact directly with Firebase services. It supports document database operations in Firestore, file management tasks in Firebase Storage, and user authentication management.
Our verdict
This server carries a high-risk security score of 19/100, primarily due to the complete lack of an authentication method, meaning anyone with access to your configuration can command the server. Additionally, it lacks a read-only mode, providing full write access by default. It is not recommended for production environments or systems handling sensitive user data, and should only be used by developers in isolated, local testing contexts.
- Native support for Firestore, Storage, and Authentication services
- Small supply-chain surface with only 5 direct dependencies
- Compatible with major MCP clients like Claude and Cursor
- No authentication layer allows unauthorized access if config is exposed
- Missing read-only mode grants full write permissions to the client
- Community-maintained project with no official Firebase affiliation
- Last repository commit occurred over eight months ago
Setup
{
"mcpServers": {
"firebase-mcp": {
"args": [
"-y",
"@gannonh/firebase-mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| firestore_add_document | Add a document to a collection | medium |
| firestore_list_documents | List documents with filtering | low |
| firestore_get_document | Get a specific document | low |
| firestore_update_document | Update an existing document | medium |
| firestore_delete_document | Delete a document | high |
| firestore_list_collections | List root collections | low |
| firestore_query_collection_group | Query across subcollections | low |
| storage_list_files | List files in a directory | low |
| storage_get_file_info | Get file metadata and URL | low |
| storage_upload | Upload file from content | medium |
| storage_upload_from_url | Upload file from URL | medium |
| auth_get_user | Get user by ID or email | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What prerequisites are needed to run this MCP server?
You need a Node.js environment and a Firebase project with generated service account credentials.
›How do I configure the server to work with Firebase Storage?
You must provide the FIREBASE_STORAGE_BUCKET environment variable in your configuration, which defaults to [projectId].appspot.com if not specified.
›Are there any known issues with the tools?
The firestore_list_collections tool may trigger a Zod validation error in client logs due to an MCP SDK issue, but the query functionality works correctly.
›Can I enable debug logging for this server?
Yes, you can set the DEBUG_LOG_FILE environment variable to true to log to a default location, or provide a specific file path for custom logging.
›What transport modes does the server support?
The server supports both stdio and http transport modes, which can be configured using the MCP_TRANSPORT environment variable.
Alternatives
Changelog
Badge
Maintain this server? Add the live badge to your README.