Firebase CLI (MCP)

by Firebase (open source) · Claude Desktop, Claude Code, OpenCode, Windows, macOS, Linux, Node.js 14+

MCP MCP Servers Open Source v15.28.1 · 19.08.2026 активный

Официальный Firebase Command Line Tools с MCP-сервером — управление проектами Firebase (Firestore, Auth, Hosting, Functions) из AI-агентов.

v15.28.1
19.08.2026 current

Установка
# Установка через npm
npm install -g firebase-tools

# Установка автономного бинарного файла
curl -sL firebase.tools | bash
показать оригинал переведено ИИ

Firebase CLI и MCP-сервер Статус действий Версия Node.js ![Версия NPM][npm-badge] Установить MCP-сервер

Интерфейс командной строки Firebase (CLI) можно использовать для тестирования, управления и развёртывания вашего проекта Firebase из командной строки. Этот репозиторий также является домом для официального Firebase MCP-сервера. Для получения дополнительной информации ознакомьтесь с документацией Firebase MCP-сервера.

  • Развёртывание кода и ресурсов в ваших проектах Firebase
  • Запуск локального веб-сервера для вашего сайта Firebase Hosting
  • Взаимодействие с данными в вашей базе данных Firebase
  • Импорт/экспорт пользователей в Firebase Auth и из него

Чтобы начать работу с Firebase CLI, ознакомьтесь с полным списком команд ниже или изучите документацию.

Установка

Node-пакет

Вы можете установить Firebase CLI с помощью npm (менеджера пакетов Node). Обратите внимание, что вам потребуется установить Node.js и npm. Установка Node.js должна также установить npm.

Чтобы загрузить и установить Firebase CLI, выполните следующую команду:

npm install -g firebase-tools

Это предоставит вам глобально доступную команду firebase.

Автономный бинарный файл

Автономный бинарный дистрибутив Firebase CLI позволяет загрузить исполняемый файл firebase без каких-либо зависимостей.

Чтобы загрузить и установить CLI, выполните следующую команду:

curl -sL firebase.tools | bash

Команды

Команда firebase --help выводит список доступных команд, а firebase <command> --help показывает более подробную информацию по отдельной команде.

Если команда специфична для проекта, вы должны либо находиться внутри каталога проекта с активным псевдонимом проекта, либо указать идентификатор проекта Firebase с помощью флага -P <project_id>.

Ниже приведён краткий список доступных команд и их функций:

Команды конфигурации

Команда Описание
login Аутентификация в вашем аккаунте Firebase. Требует доступа к веб-браузеру.
logout Выход из Firebase CLI.
login:ci Генерация токена аутентификации для использования в неинтерактивных средах.
login:add Авторизация CLI для дополнительного аккаунта.
login:list Список авторизованных аккаунтов CLI.
login:use Установка аккаунта по умолчанию для использования в этом проекте.
use Установка активного проекта Firebase, управление псевдонимами проектов.
open Быстрое открытие браузера для доступа к соответствующим ресурсам проекта.
init Настройка нового проекта Firebase в текущем каталоге. Эта команда создаст файл конфигурации firebase.json в вашем текущем каталоге.
help Отображение справочной информации о CLI или конкретных командах.

Добавьте флаг --no-localhost к команде входа (например, firebase login --no-localhost), чтобы копировать и вставлять код вместо запуска локального сервера для аутентификации. Это может быть полезно, если вы подключаетесь по SSH к какому-либо серверу и вам нужно аутентифицироваться в Firebase на этой машине.

Команды управления проектами

Команда Описание
apps:create Создать новое приложение Firebase в проекте.
apps:list Вывести список зарегистрированных приложений проекта Firebase.
apps:sdkconfig Вывести конфигурацию приложения Firebase.
projects:addfirebase Добавить ресурсы Firebase в проект Google Cloud Platform.
projects:create Создать новый проект Firebase.
projects:list Вывести список всех ваших проектов Firebase.

Развёртывание и локальная эмуляция

Эти команды позволяют развёртывать и взаимодействовать с вашими сервисами Firebase.

Команда Описание
emulators:exec Запустить локальные эмуляторы Firebase, выполнить тестовый скрипт, затем завершить работу эмуляторов.
emulators:start Запустить локальные эмуляторы Firebase.
deploy Развернуть ваш проект Firebase. Зависит от конфигурации firebase.json и локальной папки проекта.
serve Запустить локальный сервер с конфигурацией Firebase Hosting и Cloud Functions, запускаемыми по HTTPS. Зависит от firebase.json.
setup:emulators:database Загрузить эмулятор базы данных.
setup:emulators:firestore Загрузить эмулятор Firestore.

Команды распространения приложений

Команда Описание
appdistribution:distribute Загрузить бинарный файл релиза и при необходимости распространить его среди тестировщиков и запустить автоматизированные тесты.
appdistribution:testers:list Вывести список тестировщиков в проекте.
appdistribution:testers:add Добавить тестировщиков в проект (и в группу, если она указана через флаг).
appdistribution:testers:remove Удалить тестировщиков из проекта (или из группы, если она указана через флаг).
appdistribution:groups:list Вывести список групп (тестировщиков).
appdistribution:groups:create Создать группу (тестировщиков).
appdistribution:groups:delete Удалить группу (тестировщиков).
appdistribution:testcases:export Экспортировать тест-кейсы в файл YAML.
appdistribution:testcases:import Импортировать тест-кейсы из файла YAML.

Команды аутентификации

Команда Описание
auth:import Пакетный импорт учётных записей в Firebase из файла данных.
auth:export Пакетный экспорт учётных записей из Firebase в файл данных.

Подробная документация доступна здесь.

Команды Realtime Database

Команда Описание
database:get Получить данные из базы данных текущего проекта и отобразить их в формате JSON. Поддерживает запросы к индексированным данным.
database:set Заменить все данные по указанному пути в базе данных текущего проекта. Принимает ввод из файла, STDIN или аргумента командной строки.
database:push Добавить новые данные в список по указанному пути в базе данных текущего проекта. Принимает ввод из файла, STDIN или аргумента командной строки.
database:remove Удалить все данные по указанному пути в базе данных текущего проекта.
database:update Выполнить частичное обновление по указанному пути в базе данных текущего проекта. Принимает ввод из файла, STDIN или аргумента командной строки.
database:profile Профилировать использование базы данных и сгенерировать отчёт.
database:instances:create Создать экземпляр базы данных Realtime Database.
database:instances:list Вывести список экземпляров базы данных Realtime Database.
database:settings:get Прочитать настройку базы данных Realtime Database по указанному пути.
database:settings:set Установить настройку базы данных Realtime Database по указанному пути.

Команды расширений

Команда Описание
ext Показать информацию о том, как использовать команды расширений и установленные расширения в вашем проекте.
ext:configure Настроить существующий экземпляр расширения.
ext:info Показать информацию о расширении по имени (например, extensionName@x.y.z для конкретной версии).
ext:install Установить расширение.
ext:sdk:install Установить SDK для расширения, чтобы можно было определить расширение в кодовой базе функций.
ext:list Вывести список всех расширений, установленных в вашем проекте Firebase.
ext:uninstall Удалить расширение, установленное в вашем проекте Firebase, по идентификатору экземпляра.
ext:update Обновить существующий экземпляр расширения до последней версии.

Команды Cloud Firestore

Команда Описание
firestore:delete Удалить документы или коллекции из базы данных текущего проекта. Поддерживает рекурсивное удаление подколлекций.
firestore:indexes Вывести список всех развёрнутых индексов в текущем проекте.

Команды Cloud Functions

Команда Описание
functions:log Просмотреть логи развёрнутых облачных функций.
functions:list Вывести список всех развёрнутых функций в вашем проекте Firebase.
functions:config:set Сохранить значения конфигурации времени выполнения для облачных функций текущего проекта.
functions:config:get Получить существующие значения конфигурации для облачных функций текущего проекта.
functions:config:unset Удалить значения из конфигурации времени выполнения текущего проекта.
functions:config:clone Копирование конфигурации времени выполнения из одной среды проекта в другую.
functions:secrets:set Создание или обновление секрета для использования в Cloud Functions для Firebase.
functions:secrets:get Получение метаданных секрета и его версий.
functions:secrets:access Доступ к значению секрета по его имени и версии. По умолчанию используется последняя версия.
functions:secrets:prune Удаление неиспользуемых секретов.
functions:secrets:destroy Уничтожение секрета. По умолчанию уничтожается последняя версия.
functions:delete Удаление одной или нескольких Cloud Functions по имени или имени группы.
functions:shell Локальная эмуляция функций и запуск Node.js-шелла, где эти локальные функции могут быть вызваны с тестовыми данными.

Команды Hosting

Команда Описание
hosting:disable Остановка обслуживания трафика Firebase Hosting для активного проекта. После выполнения этой команды на URL-адресе хостинга проекта будет отображаться сообщение «Сайт не найден».

Команды Remote Config

Команда Описание
remoteconfig:get Получение шаблона Remote Config для проекта Firebase.
remoteconfig:versions:list Получение списка последних опубликованных версий шаблона Firebase Remote Config.
remoteconfig:rollback Откат опубликованного шаблона Remote Config проекта к версии, указанной в флаге --version_number.
remoteconfig:experiments:get Получение эксперимента Remote Config.
remoteconfig:experiments:list Получение списка экспериментов Remote Config.
remoteconfig:experiments:delete Удаление эксперимента Remote Config.
remoteconfig:rollouts:get Получение развёртывания Remote Config.
remoteconfig:rollouts:list Получение списка развёртываний Remote Config.
remoteconfig:rollouts:delete Удаление развёртывания Remote Config.

Используйте firebase:deploy --only remoteconfig для обновления и публикации шаблона Firebase Remote Config проекта.

Аутентификация

Общие сведения

Firebase CLI может использовать один из четырёх методов аутентификации, перечисленных в порядке убывания приоритета:

  • Токен пользователя - УСТАРЕЛО: этот метод аутентификации будет удалён в будущей основной версии firebase-tools; вместо него используйте учётную запись службы - предоставьте явный долгосрочный токен пользователя Firebase, сгенерированный с помощью firebase login:ci. Обратите внимание, что эти токены являются крайне чувствительными долгосрочными учётными данными и не являются подходящим вариантом для большинства случаев. Рассмотрите возможность использования авторизации через учётную запись службы. Токен можно задать одним из двух способов:
    • Укажите флаг --token для любой команды, например firebase --token="<token>" projects:list.
    • Задайте переменную окружения FIREBASE_TOKEN.
  • Локальный вход - выполните команду firebase login, чтобы войти в CLI непосредственно от своего имени. CLI сохранит авторизованные учётные данные пользователя на вашем устройстве.

  • Учётная запись службы — задайте переменную окружения GOOGLE_APPLICATION_CREDENTIALS, указав путь к файлу ключа учётной записи службы в формате JSON. Подробнее см. в руководстве Google Cloud Начало работы с аутентификацией.
  • Учётные данные по умолчанию для приложений — если вы используете CLI gcloud и выполнили вход с помощью gcloud auth application-default login, Firebase CLI будет использовать их при отсутствии других учётных данных.

Несколько учётных записей

По умолчанию firebase login настраивает одну глобальную учётную запись для всех проектов. Если у вас несколько учётных записей Google, которые вы используете для проектов Firebase, вы можете авторизовать несколько учётных записей и применять их для каждого проекта или команды отдельно.

Чтобы авторизовать дополнительную учётную запись для использования с CLI, выполните firebase login:add. Просмотреть список авторизованных учётных записей можно с помощью firebase login:list.

Чтобы задать учётную запись по умолчанию для конкретного каталога проекта Firebase, выполните firebase login:use внутри этого каталога и выберите нужную учётную запись. Чтобы проверить учётную запись по умолчанию для каталога, выполните firebase login:list — учётная запись по умолчанию для текущего контекста будет указана первой.

Чтобы задать учётную запись для конкретного вызова команды, используйте флаг --account с любой командой. Например: firebase --account=user@domain.com deploy. Указанная учётная запись должна быть предварительно добавлена в Firebase CLI с помощью firebase login:add.

Эмулятор Cloud Functions

Эмулятор Cloud Functions доступен через команды, такие как emulators:start, serve и functions:shell. Эмулируемые Cloud Functions запускаются как независимые процессы node на вашем компьютере для разработки, что означает наличие собственного механизма обнаружения учётных данных.

По умолчанию эти процессы node не могут обнаруживать учётные данные, полученные через firebase login. Для улучшения опыта разработки, когда вы выполнили вход в CLI через firebase login, мы берём учётные данные пользователя и создаём временные учётные данные, которые передаём в эмулятор через GOOGLE_APPLICATION_CREDENTIALS. Это делается только в том случае, если вы не задали переменную окружения GOOGLE_APPLICATION_CREDENTIALS самостоятельно.

Использование за прокси-сервером

CLI поддерживает HTTP(S)-прокси через переменные окружения. Чтобы использовать прокси, задайте значение HTTPS_PROXY или HTTP_PROXY в вашем окружении, указав URL прокси (например, HTTP_PROXY=http://127.0.0.1:12345).

Использование в системах CI

Для аутентификации Firebase CLI требуется браузер, но полностью совместим с CI и другими средами без графического интерфейса.

Выполните следующие шаги, чтобы запускать команды Firebase в среде CI. Подробные инструкции для каждого шага см. в руководстве Google Cloud Начало работы с аутентификацией.

  1. Создайте учётную запись службы и предоставьте ей соответствующий уровень доступа к вашему проекту.
  2. Создайте ключ учётной записи службы (файл JSON) для этой учётной записи.
  3. Сохраните файл ключа в безопасном и доступном месте в вашей системе CI.
  4. Задайте GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json в вашей системе CI при выполнении команд Firebase.

Чтобы отключить доступ для учётной записи службы, найдите учётную запись службы для вашего проекта в Google Cloud Console, а затем удалите ключ или отключите либо удалите учётную запись.

Использование в качестве модуля

Firebase CLI также можно использовать программно как стандартный модуль Node. Каждая команда представлена в виде функции, которая принимает позиционные аргументы, за которыми следует объект параметров, и возвращает Promise.

Если мы выполним эту команду в командной строке:

$ firebase --project="foo" apps:list ANDROID

То в Node это будет выглядеть так:

const client = require("firebase-tools");
client.apps
  .list("ANDROID", { project: "foo" })
  .then((data) => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Объект параметров должен быть последним аргументом, а любые неуказанные позиционные аргументы получат значение по умолчанию "". Следующие два вызова эквивалентны:

const client = require("firebase-tools");

// #1 - No arguments or options, defaults will be inferred
client.apps.list();

// #2 - Explicitly provide "" for all arguments and {} for options
client.apps.list("", {});

Примечание: при использовании в ограниченной среде, такой как Cloud Functions, не все команды firebase-tools будут работать программно, так как для этого требуется доступ к локальной файловой системе.


![npm-версия][npm-badge]

Firebase CLI (MCP)

Инструмент командной строки для Firebase.

Установка

Вариант 1 (рекомендуется): Установка через npm

```bash
curl -sL firebase.tools | bash

### Вариант 2: Установка с помощью Yarn

```bash
```bash
$ firebase --project="foo" apps:list ANDROID

### Вариант 3: Установка автономного бинарного файла

Загрузите автономный бинарный файл для своей платформы с [страницы релизов](https://github.com/firebase/firebase-tools/releases).

### Вариант 4: Использование Docker

```bash
```js
const client = require("firebase-tools");
client.apps
  .list("ANDROID", { project: "foo" })
  .then((data) => {
    // ...
  })
  .catch((err) => {
    // ...
  });

## Использование

```bash
```js
const client = require("firebase-tools");

// #1 - No arguments or options, defaults will be inferred
client.apps.list();

// #2 - Explicitly provide "" for all arguments and {} for options
client.apps.list("", {});

Запустите `firebase --help`, чтобы получить список всех доступных команд.

### Вход в систему

```bash

Инициализация проекта


Развёртывание


Документация

Полную документацию по Firebase CLI можно найти на официальном сайте Firebase.

Лицензия

MIT


Дополнительные команды

Локальный запуск функций


Запуск эмуляторов


Просмотр логов


Поддержка

Если у вас возникли проблемы или вопросы, обратитесь за помощью на Stack Overflow с тегом firebase или откройте issue в репозитории GitHub.

Участие в разработке

Мы приветствуем ваши pull request! Пожалуйста, ознакомьтесь с руководством по участию, прежде чем вносить изменения.


Примечание: Для использования Firebase CLI требуется Node.js версии 14 или выше.


多语言支持 (Поддержка нескольких языков)

Войдите, чтобы оставить комментарий