Firebase MCP Server

Firebase's own MCP server, run from the Firebase CLI, for managing projects, data and deploys

Official · Firebase JavaScript Local · stdio Cloud platformsDatabasesDeveloper tools

105 popularity score ★ 4.5k ↓ 4.8M/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add firebase -- npx -y firebase-tools@latest mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": [
        "-y",
        "firebase-tools@latest",
        "mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": [
        "-y",
        "firebase-tools@latest",
        "mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "firebase-tools@latest",
        "mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.firebase]
command = "npx"
args = ["-y", "firebase-tools@latest", "mcp"]
Gemini CLITerminal
gemini mcp add --scope user firebase npx -- -y firebase-tools@latest mcp

Settings 1

GOOGLE_APPLICATION_CREDENTIALS Optional: Path to a service account key JSON file, used instead of a firebase login session or gcloud Application Default Credentials.

What it does

The Firebase MCP Server ships inside the Firebase CLI package (firebase-tools) and starts with its mcp subcommand. It runs on your machine over stdio and acts with the same credentials the CLI uses, so an assistant in an editor can work on your Firebase projects and the code in your project folder.

Its tools cover creating projects and apps, reading SDK config, running firebase init and deploys, checking and fetching security rules, Auth users, Firestore documents, databases and indexes, Realtime Database reads and writes, SQL Connect, Cloud Functions logs, Crashlytics issues, Remote Config templates, Cloud Messaging pushes and App Hosting logs. Besides tools it offers prompts such as firebase:init and firebase:deploy, and guide documents as resources.

Tools are grouped by feature. With --only you pick the groups to expose; the core group is always added. Without it, the server shows the groups it detects in your project and drops tools that report themselves unavailable. In the code at v15.33.0 (src/mcp/tools/index.ts and src/mcp/onemcp/index.ts), the Firestore, SQL Connect and developerknowledge groups also pull tool lists from Google-hosted MCP endpoints at start, so those tools run on Google's side. An apptesting group (run_tests, check_status) is registered only when the CLI's mcpalpha experiment is on, and is not in the docs' tool table.

What it needs

RuntimeNode.js 20+

Node.js 20 or later with npm, so npx can fetch firebase-tools. A Google account with access to a Firebase project, signed in with firebase login (or the firebase_login tool), or a service account key in GOOGLE_APPLICATION_CREDENTIALS, or gcloud Application Default Credentials. Some features need the matching product turned on in the project, such as Crashlytics or SQL Connect. An MCP client that supports stdio.

Limits

Stdio only: the docs give no HTTP mode. The docs' tool table lists 69 tools, and it prints the Firestore backup and backup-schedule rows twice. The firestore, dataconnect and developerknowledge tools come from Google-hosted endpoints, so they need sign-in and network access, and their list can change without a new CLI release. developerknowledge_answer_query has limited quota and returns 429 when that runs out. The apptesting tools only appear with the mcpalpha experiment on. Without --dir, the project directory defaults to the folder the server was started in.

Who it suits

Suits developers who already use Firebase and the Firebase CLI and want an assistant to set up services, deploy, read logs and Crashlytics issues, or edit data. Use --only to narrow it to a few groups, since the full set is large. It writes to live projects (deploys, Firestore and Realtime Database writes, deletes, push messages), so it suits a development project or an account with limited roles better than production. If you only need to read Firestore data from a non-Google client, a smaller single-purpose server may be easier to review, but this one is the version Firebase maintains.

Tools 60 of 69

apphosting_fetch_logs
Pulls recent service or build logs for an App Hosting backend
apphosting_list_backends
Lists App Hosting backends with their traffic settings and custom domains
auth_get_users
Looks up Auth users by UID, email or phone, or lists them all
auth_update_user
Disables or re-enables a user, or sets custom claims
auth_set_sms_region_policy
Allows or blocks SMS sign-in for chosen country codes
firebase_login
Signs in the CLI and server, or reports who is signed in
firebase_logout
Signs the CLI and server out
firebase_validate_security_rules
Checks Firestore, Storage or Realtime Database rules for errors
firebase_get_project
Shows details of the active project
firebase_list_apps
Lists the apps registered in the active project
firebase_list_projects
Lists projects the signed-in account can reach
firebase_get_sdk_config
Returns the SDK config or config file for an app
firebase_create_project
Creates a project or adds Firebase to a Google Cloud project
firebase_create_app
Registers a new iOS, Android or web app
firebase_create_android_sha
Adds a SHA-1 or SHA-256 hash to an Android app
firebase_get_environment
Shows the active project, account and directory
firebase_update_environment
Changes the project directory, active project or account
firebase_init
Sets up Firebase services in the local project folder
firebase_get_security_rules
Fetches the live rules for Firestore, Storage or Realtime Database
firebase_read_resources
Reads or lists the built-in firebase:// guide documents
firebase_deploy
Deploys what firebase.json configures to the project
firebase_deploy_status
Reports progress of a deploy running in the background
crashlytics_create_note
Adds a note to a Crashlytics issue
crashlytics_delete_note
Removes a note from a Crashlytics issue
crashlytics_get_issue
Fetches details of one Crashlytics issue
crashlytics_list_events
Lists recent crash events for an issue, with filters
crashlytics_batch_get_events
Fetches sample crash events by resource name
crashlytics_list_notes
Lists the notes on a Crashlytics issue
crashlytics_get_report
Builds aggregate counts for issues and events
crashlytics_update_issue
Sets an issue to OPEN or CLOSED
realtimedatabase_get_data
Reads data at a Realtime Database path
realtimedatabase_set_data
Writes JSON to a Realtime Database path
dataconnect_build
Compiles SQL Connect schemas and connectors to catch errors
dataconnect_list_services
Lists local and deployed SQL Connect services
dataconnect_execute
Runs a GraphQL query or mutation on a SQL Connect service or emulator
functions_get_logs
Fetches and filters Cloud Functions logs
functions_list_functions
Lists the deployed Cloud Functions
messaging_send_message
Sends a Cloud Messaging push to a device token or topic
remoteconfig_get_template
Fetches the current or a given Remote Config template
remoteconfig_update_template
Publishes a new Remote Config template or rolls back
storage_get_object_download_url
Returns a download URL for a Cloud Storage object
firestore_get_document
Reads one Firestore document
firestore_add_document
Creates a Firestore document
firestore_update_document
Changes a Firestore document
firestore_delete_document
Deletes a Firestore document
firestore_list_documents
Lists documents in a collection
firestore_list_collections
Lists collection IDs under a document
firestore_query_collection
Queries a collection with filters and ordering
firestore_run_aggregation_query
Runs COUNT, SUM or AVG over a query
firestore_create_database
Creates a Firestore database
firestore_get_database
Shows one Firestore database
firestore_list_databases
Lists Firestore databases
firestore_update_database
Changes a Firestore database's settings
firestore_delete_database
Deletes a Firestore database
firestore_create_index
Creates a composite index
firestore_list_indexes
Lists Firestore indexes
firestore_delete_index
Deletes a Firestore index
developerknowledge_search_documents
Searches Google developer documentation and returns matching passages
developerknowledge_answer_query
Returns a generated answer drawn from Google developer docs; quota is limited
developerknowledge_get_documents
Fetches the full text of up to 20 docs found by search

Similar servers