MCPcopy Index your code
hub / github.com/firebase/firebase-tools

github.com/firebase/firebase-tools @v15.22.4 sqlite

repository ↗ · DeepWiki ↗ · release v15.22.4 ↗
6,079 symbols 19,763 edges 1,487 files 385 documented · 6% 9 cross-repo links
README

Firebase CLI and MCP Server [![Actions Status][gh-actions-badge]][gh-actions] [![Node Version][node-badge]][npm] [![NPM version][npm-badge]][npm] Install MCP Server

The Firebase Command Line Interface (CLI) Tools can be used to test, manage, and deploy your Firebase project from the command line. This repository is also the home of the official Firebase MCP Server. For more information, please see the Firebase MCP Server documentation.

  • Deploy code and assets to your Firebase projects
  • Run a local web server for your Firebase Hosting site
  • Interact with data in your Firebase database
  • Import/Export users into/from Firebase Auth

To get started with the Firebase CLI, read the full list of commands below or check out the documentation.

Installation

Node Package

You can install the Firebase CLI using npm (the Node Package Manager). Note that you will need to install Node.js and npm. Installing Node.js should install npm as well.

To download and install the Firebase CLI run the following command:

npm install -g firebase-tools

This will provide you with the globally accessible firebase command.

Standalone Binary

The standalone binary distribution of the Firebase CLI allows you to download a firebase executable without any dependencies.

To download and install the CLI run the following command:

curl -sL firebase.tools | bash

Commands

The command firebase --help lists the available commands and firebase <command> --help shows more details for an individual command.

If a command is project-specific, you must either be inside a project directory with an active project alias or specify the Firebase project id with the -P <project_id> flag.

Below is a brief list of the available commands and their function:

Configuration Commands

Command Description
login Authenticate to your Firebase account. Requires access to a web browser.
logout Sign out of the Firebase CLI.
login:ci Generate an authentication token for use in non-interactive environments.
login:add Authorize the CLI for an additional account.
login:list List authorized CLI accounts.
login:use Set the default account to use for this project
use Set active Firebase project, manage project aliases.
open Quickly open a browser to relevant project resources.
init Setup a new Firebase project in the current directory. This command will create a firebase.json configuration file in your current directory.
help Display help information about the CLI or specific commands.

Append --no-localhost to login (i.e., firebase login --no-localhost) to copy and paste code instead of starting a local server for authentication. A use case might be if you SSH into an instance somewhere and you need to authenticate to Firebase on that machine.

Project Management Commands

Command Description
apps:create Create a new Firebase app in a project.
apps:list List the registered apps of a Firebase project.
apps:sdkconfig Print the configuration of a Firebase app.
projects:addfirebase Add Firebase resources to a Google Cloud Platform project.
projects:create Create a new Firebase project.
projects:list Print a list of all of your Firebase projects.

Deployment and Local Emulation

These commands let you deploy and interact with your Firebase services.

Command Description
emulators:exec Start the local Firebase emulators, run a test script, then shut down the emulators.
emulators:start Start the local Firebase emulators.
deploy Deploys your Firebase project. Relies on firebase.json configuration and your local project folder.
serve Start a local server with your Firebase Hosting configuration and HTTPS-triggered Cloud Functions. Relies on firebase.json.
setup:emulators:database Downloads the database emulator.
setup:emulators:firestore Downloads the firestore emulator.

App Distribution Commands

Command Description
appdistribution:distribute Upload a release binary and optionally distribute it to testers and run automated tests.
appdistribution:testers:list List testers in project.
appdistribution:testers:add Add testers to project (and group, if specified via flag).
appdistribution:testers:remove Remove testers from a project (or group, if specified via flag).
appdistribution:groups:list List groups (of testers).
appdistribution:groups:create Create a group (of testers).
appdistribution:groups:delete Delete a group (of testers).
appdistribution:testcases:export Export test cases as a YAML file.
appdistribution:testcases:import Import test cases from YAML file.

Auth Commands

Command Description
auth:import Batch importing accounts into Firebase from data file.
auth:export Batch exporting accounts from Firebase into data file.

Detailed doc is here.

Realtime Database Commands

Command Description
database:get Fetch data from the current project's database and display it as JSON. Supports querying on indexed data.
database:set Replace all data at a specified location in the current project's database. Takes input from file, STDIN, or command-line argument.
database:push Push new data to a list at a specified location in the current project's database. Takes input from file, STDIN, or command-line argument.
database:remove Delete all data at a specified location in the current project's database.
database:update Perform a partial update at a specified location in the current project's database. Takes input from file, STDIN, or command-line argument.
database:profile Profile database usage and generate a report.
database:instances:create Create a realtime database instance.
database:instances:list List realtime database instances.
database:settings:get Read the realtime database setting at path
database:settings:set Set the realtime database setting at path.

Extensions Commands

Command Description
ext Display information on how to use ext commands and extensions installed to your project.
ext:configure Configure an existing extension instance.
ext:info Display information about an extension by name (extensionName@x.y.z for a specific version)
ext:install Install an extension.
ext:sdk:install Install and SDK for an extension so you can define the extension in a functions codebase.
ext:list List all the extensions that are installed in your Firebase project.
ext:uninstall Uninstall an extension that is installed in your Firebase project by Instance ID.
ext:update Update an existing extension instance to the latest version.

Cloud Firestore Commands

Command Description
firestore:delete Delete documents or collections from the current project's database. Supports recursive deletion of subcollections.
firestore:indexes List all deployed indexes from the current project.

Cloud Functions Commands

Command Description
functions:log Read logs from deployed Cloud Functions.
functions:list List all deployed functions in your Firebase project.
functions:config:set Store runtime configuration values for the current project's Cloud Functions.
functions:config:get Retrieve existing configuration values for the current project's Cloud Functions.
functions:config:unset Remove values from the current project's runtime configuration.
functions:config:clone Copy runtime configuration from one project environment to another.
functions:secrets:set Create or update a secret for use in Cloud Functions for Firebase.
functions:secrets:get Get metadata for secret and its versions.
functions:secrets:access Access secret value given secret and its version. Defaults to accessing the latest version.

Extension points exported contracts — how you extend this code

EmulatorInstance (Interface)
(no doc) [26 implementers]
src/emulator/types.ts
RemoveRemote (Interface)
(no doc) [5 implementers]
src/database/removeRemote.ts
Executor (Interface)
(no doc) [4 implementers]
src/deploy/functions/release/executor.ts
FileSystem (Interface)
(no doc) [4 implementers]
src/frameworks/compose/discover/types.ts
serviceName (Interface)
(no doc) [3 implementers]
src/dataconnect/names.ts
GlobalSignal (Interface)
(no doc) [3 implementers]
firebase-vscode/src/utils/globals.ts
Site (Interface)
* See * https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites#Site
src/fetchWebSetup.ts
IamOptions (Interface)
* @param name Fully qualified name of the Function. * @param policy The [policy](https://cloud.google.com/functions/doc
src/gcp/cloudfunctions.ts

Core symbols most depended-on inside this repo

get
called by 863
src/localFunction.ts
post
called by 772
src/localFunction.ts
send
called by 584
firebase-vscode/common/messaging/broker.ts
toString
called by 482
src/dataconnect/names.ts
expectStatusCode
called by 467
src/emulator/auth/testing/helpers.ts
log
called by 330
src/emulator/types.ts
on
called by 324
firebase-vscode/common/messaging/broker.ts
before
called by 311
src/command.ts

Shape

Function 3,307
Method 1,352
Interface 944
Class 385
Enum 91

Languages

TypeScript100%

Modules by API surface

src/emulator/auth/operations.ts87 symbols
src/emulator/auth/state.ts83 symbols
src/emulator/functionsEmulator.ts75 symbols
src/utils.ts73 symbols
src/api.ts70 symbols
src/gcp/apphosting.ts56 symbols
src/deploy/functions/backend.ts54 symbols
src/deploy/functions/params.ts48 symbols
src/profileReport.ts45 symbols
src/emulator/functionsEmulatorRuntime.ts45 symbols
src/dataconnect/types.ts45 symbols
src/auth.ts44 symbols

Dependencies from manifests, versioned

@angular-devkit/architect0.1402.2 · 1×
@angular-devkit/build-angular19.2.0 · 1×
@angular-devkit/core14.2.2 · 1×
@angular/animations19.2.0 · 1×
@angular/cli19.2.0 · 1×
@angular/common19.2.0 · 1×
@angular/compiler19.2.0 · 1×
@angular/compiler-cli19.2.0 · 1×
@angular/core19.2.0 · 1×
@angular/forms19.2.0 · 1×
@angular/localize19.2.0 · 1×
@angular/platform-browser19.2.0 · 1×

For agents

$ claude mcp add firebase-tools \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact