← Back to directory
F

Firebase MCP Server

Community
MCP server that lets AI assistants work directly with Firebase services
Category
Database #33 of 58
Stars
★ 247 Popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Node.js
Credentials
API key / credential required
License
MIT
Last commit
⚠
Tools
12
54FMRS · D

Maintained by community developer gannonh (not official Google tooling), MIT licensed, with reasonably complete tool coverage, detailed documentation, test CI, and Firebase emulator-based tests. Well suited to developers with existing Firebase projects using mainstream MCP clients; pay attention to service account key security and the known Zod validation log issue.

Strongest · Documentation 15/20 Weakest · Security and permissions 6/20

Reliability
9/20
Security and permissions
6/20
Maintenance
11/20
Documentation
15/20
Setup experience
13/20
Why each score
Reliability 9/20
The README shows a CI badge (Firebase Tests CI) and emulator-based test scripts, and the declared tools broadly match their described parameters, but no actual workflow file or test suite is available to verify coverage of key paths. The README itself discloses an unresolved Zod validation error on firestore_list_collections, indicating a known mismatch between declared/actual tool output and the MCP SDK's expectations. Per the static calibration, lacking verifiable execution evidence caps this dimension below 12.
Security and permissions 6/20
The server requires a full Firebase service-account key (broad admin privileges) with no evidence of scoping to specific collections, paths, or operation types. Irreversible/destructive operations such as firestore_delete_document and overwrite-capable storage_upload have no described confirmation or safety gating. The newly added HTTP transport describes session management but no authentication mechanism, creating exposure risk if reachable on an untrusted network. This does not reach red-line severity (no malware, credential theft, or identity fabrication), but the lack of least-privilege scoping, confirmation on destructive actions, and HTTP auth are clear gaps.
Maintenance 11/20
MIT licensed, not archived, and shows a CI test badge, indicating some ongoing maintenance activity; stars and open-issue counts (248/16) suggest visibility, but the README provides no release history, changelog, or documented security-response channel, leaving governance and update-path transparency incomplete.
Documentation 15/20
Documentation is well organized, covering install (npx and local), required/optional environment variables, a per-service tool/parameter reference table, troubleshooting, debug logging, project structure, and HTTP transport configuration, with proactive disclosure of a known bug. However, it lacks full parameter type/optional-field detail, cost/quota guidance, and security considerations for the HTTP transport, leaving some hidden assumptions.
Setup experience 13/20
Concrete JSON configuration examples are provided for both npx and local installs, with client-specific config paths for Claude Desktop, VS Code/Augment, and Cursor, making the steps generally clear. It still requires external prerequisite work (creating a Firebase project, generating a service-account key) and offers no verifiable proof of a successful run (e.g., automated test or screenshot), so per the static calibration this dimension is capped at 15.

Static review · not runListed 2026-09-07

Read the FMRS scoring method →

Fit and risk

What it can accessWrites / deletes local filesUses the networkConnects to a database

Best for

  • Developers with data already in Firebase who want AI assistants to read and write it directly
  • Users of MCP clients such as Claude Desktop, Cursor, VS Code, or Augment Code
  • Workflows combining document database, file storage, and user lookup

Not for

  • Users without a Firebase project or service account credentials
  • Firebase administration tasks such as project management or function deployment
  • Environments without an MCP client or the ability to configure environment variables

Required permissions

  • Requires a Firebase service account private key JSON file (SERVICE_ACCOUNT_KEY_PATH)
  • The service account must have proper permissions for Firestore, Storage, and Authentication services
  • Requires a Firebase Storage bucket name, either configured or defaulted

Risks and side effects

  • Service account private keys carry broad privileges; misconfiguration or leakage can expose full data access
  • AI assistants can delete Firestore documents and upload/overwrite storage files, creating risk of unintended operations
  • The firestore_list_collections tool may trigger a Zod validation error in client logs (a known MCP SDK issue that does not affect functionality but may cause confusion)
  • Some Firestore queries require manually creating composite indexes in the Firebase Console

Setup

Before you start

Runtime:Node.js

SERVICE_ACCOUNT_KEY_PATH requiredsecret Absolute path to your Firebase service account key JSON; generate it in Firebase Console → Project Settings → Service Accounts.
Other optional settings (6)
FIREBASE_STORAGE_BUCKET optional Firebase Storage bucket name, defaults to [projectId].appspot.com; confirm in Firebase Console → Storage.
MCP_TRANSPORT optional Transport type, stdio or http; defaults to stdio.
MCP_HTTP_PORT optional Port for HTTP transport; defaults to 3000.
MCP_HTTP_HOST optional Host for HTTP transport; defaults to localhost.
MCP_HTTP_PATH optional Path for HTTP transport; defaults to /mcp.
DEBUG_LOG_FILE optional Set to true to log to ~/.firebase-mcp/debug.log, or a custom file path to enable file logging.
  1. In the Firebase Console, go to Project Settings → Service Accounts and generate a new private key JSON file; store it securely.
  2. Add the server configuration to your MCP client settings file (e.g., Claude Desktop's claude_desktop_config.); npx is recommended: command 'npx', args ["-y","@gannonh/firebase-mcp"].
  3. Set the required SERVICE_ACCOUNT_KEY_PATH environment variable (absolute path to the key JSON) and optionally FIREBASE_STORAGE_BUCKET (defaults to [projectId].appspot.com).
  4. Optionally configure HTTP transport (MCP_TRANSPORT=http, MCP_HTTP_PORT, etc.) or debug logging (DEBUG_LOG_FILE).
  5. Verify installation by asking your AI client to test all Firebase MCP tools.
claude_desktop_config.json
{"firebase-mcp":{"command":"npx","args":["-y","@gannonh/firebase-mcp"],"env":{"SERVICE_ACCOUNT_KEY_PATH":"/absolute/path/to/serviceAccountKey.","FIREBASE_STORAGE_BUCKET":"your-project-id.firebasestorage.app"}}}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "firebase-mcp": {
    "command": "npx",
    "args": [
      "-y",
      "@gannonh/firebase-mcp"
    ],
    "env": {
      "SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.",
      "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app"
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Check that it works

After installing, ask your AI client: "Please test all Firebase MCP tools." or check that tools like firestore_get_document appear in the client's tool list.

Troubleshooting

  1. For 'The specified bucket does not exist', verify the bucket name in the Firebase Console and set FIREBASE_STORAGE_BUCKET correctly
  2. For 'Firebase is not initialized', check that the service account key path is a correct absolute path and the account has proper permissions
  3. For composite index errors, follow the URL in the error message to create the index in the Firebase Console, then retry
  4. The Zod validation error on firestore_list_collections is a known log-level issue and does not affect functionality
  5. Enable file logging via DEBUG_LOG_FILE (default ~/.firebase-mcp/debug.log) or use MCP Inspector for interactive debugging

Things to try

Once connected, you can ask your AI assistant things like:

  • Add a document to the users collection in Firestore with a name and email field
  • List all files in the reports directory of my Firebase Storage
  • Look up this user's details by their email address
  • Upload https://example.com/file.pdf to the docs path in Storage

Tools 12

firestore_add_document writes
Add a document to a collection
firestore_list_documents read-only
List documents in a collection with filtering
firestore_get_document read-only
Get a specific document
firestore_update_document writes
Update an existing document
firestore_delete_document destructive
Delete a document
firestore_list_collections read-only
List root collections
firestore_query_collection_group read-only
Query across subcollections
storage_list_files read-only
List files in a directory
Show 4 more tools
storage_get_file_info read-only
Get file metadata and URL
storage_upload writes
Upload file from content
storage_upload_from_url writes
Upload file from URL
auth_get_user read-only
Get user by ID or email

Use cases

CRUD operations and subcollection queries on Firestore through an AI assistant
Managing files in Firebase Storage: listing, retrieving metadata, uploading from content or URL
Looking up Firebase Authentication users by ID or email
Running as a standalone HTTP service shared by multiple clients

Supported clients

Claude Desktop
Augment Code
VS Code
Cursor

Listed from the project's documentation, not tested by this site.

Overview

Firebase MCP is an open-source (MIT licensed) Model Context Protocol server that enables AI assistants to work directly with Firebase services, including Firestore document database operations, Firebase Storage file management with robust upload capabilities, and Authentication user lookup. It can be installed via npx or locally with Node.js, uses stdio transport by default, and also supports HTTP transport for shared multi-client access. It works with MCP clients such as Claude Desktop, Augment Code, VS Code, and Cursor.

Similar servers

Source revision 43272314daf5 Data synced 2026-10-19 Read the FMRS scoring method