Вы можете использовать сервер Firebase MCP, чтобы предоставить инструментам разработки на базе ИИ возможность работать с вашими проектами Firebase и кодовой базой вашего приложения.
Сервер Firebase MCP работает с любым инструментом, который может выступать в роли клиента MCP, включая: Firebase Studio, Gemini CLI и Gemini Code Assist, Claude Code и Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf и другие!
Перейти к инструкциям по настройке
Преимущества сервера MCP
Редактор, настроенный на использование сервера Firebase MCP, может использовать его возможности искусственного интеллекта, чтобы помочь вам:
- Создавайте и управляйте проектами Firebase
- Управление пользователями аутентификации Firebase
- Работа с данными в Cloud Firestore и Firebase Data Connect
- Извлечение схем Firebase Data Connect
- Изучите правила безопасности для Firestore и Cloud Storage для Firebase.
- Отправка сообщений с помощью Firebase Cloud Messaging
Некоторые инструменты используют Gemini в Firebase, чтобы помочь вам:
- Генерация схемы и операций Firebase Data Connect
- Проконсультируйтесь с Gemini по поводу продуктов Firebase
Это лишь частичные списки; полный список инструментов, доступных вашему редактору, смотрите в разделе «Возможности сервера» .
Настройте свой MCP-клиент
Сервер Firebase MCP может работать с любым клиентом MCP, который поддерживает стандартный ввод-вывод (stdio) в качестве транспортной среды.
При вызовах инструментов сервер Firebase MCP использует те же учётные данные пользователя, которые используются для авторизации Firebase CLI в среде, где он запущен. Это могут быть данные вошедшего в систему пользователя или учётные данные приложения по умолчанию , в зависимости от среды.
Прежде чем начать
Убедитесь, что у вас установлена рабочая версия Node.js и npm.
Базовая конфигурация
Ниже приведены базовые инструкции по настройке для использования сервера Firebase MCP с некоторыми популярными инструментами на базе искусственного интеллекта:
Gemini CLI
Рекомендуемый способ настройки Gemini CLI для использования сервера Firebase MCP — установка расширения Firebase для Gemini CLI :
gemini extensions install https://github.com/gemini-cli-extensions/firebase/Установка расширения Firebase автоматически настраивает сервер Firebase MCP, а также содержит файл контекста, который может повысить производительность разработки приложений Gemini Firebase.
В качестве альтернативы вы можете настроить Gemini CLI для использования сервера Firebase MCP (но не файла контекста расширения Firebase), отредактировав или создав один из файлов конфигурации:
- В вашем проекте:
.gemini/settings.json - В вашем домашнем каталоге:
~/.gemini/settings.json
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Gemini Code Assist
Рекомендуемый способ настройки Gemini Code Assist для использования сервера Firebase MCP — установка расширения Firebase для Gemini CLI :
gemini extensions install https://github.com/gemini-cli-extensions/firebase/Установка расширения Firebase автоматически настраивает сервер Firebase MCP, а также содержит файл контекста, который может повысить производительность разработки приложений Gemini Firebase.
Кроме того, вы можете настроить Gemini Code Assist на использование сервера Firebase MCP (но не файла контекста расширения Firebase), отредактировав или создав один из файлов конфигурации:
- В вашем проекте:
.gemini/settings.json - В вашем домашнем каталоге:
~/.gemini/settings.json
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Студия Firebase
Чтобы настроить Firebase Studio для использования сервера Firebase MCP, отредактируйте или создайте файл конфигурации: .idx/mcp.json .
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Клод
Клод Код
Чтобы настроить Claude Code для использования сервера Firebase MCP, выполните следующую команду в папке вашего приложения:
claude mcp add firebase npx -- -y firebase-tools@latest mcpПроверить установку можно, выполнив:
claude mcp listДолжно быть показано:
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Клод Десктоп
Чтобы настроить Claude Desktop для использования сервера Firebase MCP, отредактируйте файл claude_desktop_config.json . Вы можете открыть или создать этот файл в меню Claude > Настройки . Выберите вкладку «Разработчик» и нажмите «Изменить конфигурацию» .
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Клайн
Чтобы настроить Cline для использования сервера Firebase MCP, отредактируйте файл cline_mcp_settings.json . Вы можете открыть или создать этот файл, щёлкнув значок «Серверы MCP» в верхней части панели Cline, а затем нажав кнопку «Настроить серверы MCP» .
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"],
"disabled": false
}
}
}
Курсор
Нажмите следующую кнопку, чтобы добавить сервер Firebase MCP в глобальную конфигурацию курсора.
Если вы предпочитаете добавить конфигурацию вручную или хотите настроить ее для конкретного проекта, вы можете отредактировать файл mcp.json .
- Для конкретного проекта : отредактируйте
.cursor/mcp.json - Для всех проектов (глобальных) : Редактировать
~/.cursor/mcp.json
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
VS Code Copilot
Чтобы настроить отдельный проект, отредактируйте файл .vscode/mcp.json в рабочей области:
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
Чтобы сделать сервер доступным в каждом открываемом проекте, измените настройки пользователя, например:
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Виндсерфинг
Чтобы настроить Windsurf Editor, отредактируйте файл ~/.codeium/windsurf/mcp_config.json :
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
Дополнительная конфигурация
Помимо базовой конфигурации для каждого клиента, показанной ранее, вы можете указать два дополнительных параметра:
--dir ABSOLUTE_DIR_PATH: Абсолютный путь к каталогу, содержащемуfirebase.json, для установки контекста проекта для сервера MCP. Если не указан, становятся доступны инструментыget_project_directoryиset_project_directory, а каталогом по умолчанию будет рабочий каталог, в котором был запущен сервер MCP.--only FEATURE_1 , FEATURE_2: список групп функций, которые необходимо активировать, разделённый запятыми. Используйте это, чтобы ограничить доступ к инструментам только теми функциями, которые вы активно используете. Обратите внимание, что основные инструменты всегда доступны.
Например:
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
Возможности сервера MCP
Сервер Firebase MCP предоставляет три различные категории функций MCP:
Подсказки : библиотека готовых подсказок, которые вы можете запустить. Они оптимизированы для разработки и запуска приложений с помощью Firebase.
Инструменты : набор инструментов, предназначенных для использования магистрами права, которые помогают им работать напрямую с вашим проектом Firebase (с вашего одобрения!)
Ресурсы : файлы документации, предназначенные для использования магистрами права (LLM) в качестве дополнительных рекомендаций и контекста для выполнения задачи или достижения цели.
Подсказки
Сервер Firebase MCP поставляется с библиотекой готовых подсказок, оптимизированных для разработки и запуска приложений с Firebase. Вы можете запускать эти подсказки для выполнения различных распространённых задач или достижения целей.
В следующей таблице описываются подсказки, которые выводит сервер MCP.
Большинство инструментов разработки, поддерживающих MCP, предоставляют удобный способ вызова этих команд. Например, в Gemini CLI эти команды доступны в виде слэш-команд:
/firebase:init
В Gemini CLI начните вводить /firebase: чтобы увидеть список доступных команд.
| Имя подсказки | Группа функций | Описание |
|---|---|---|
| firebase:deploy | основной | Используйте эту команду для развертывания ресурсов в Firebase. Аргументы: <prompt> (необязательно): любые конкретные инструкции, которые вы хотите предоставить по развертыванию |
| firebase:init | основной | Используйте эту команду для настройки служб Firebase, таких как функции бэкэнда и ИИ. |
| firebase:consult | основной | Используйте эту команду для обращения к Firebase Assistant с доступом к подробной актуальной документации по платформе Firebase. Аргументы: <prompt>: вопрос для передачи модели Gemini в Firebase |
| crashlytics:подключиться | крашлитики | Доступ к данным Crashlytics приложения Firebase. |
Инструменты
Сервер Firebase MCP также предоставляет ряд инструментов, предназначенных для LLM-программистов, которые помогают им работать напрямую с вашим проектом Firebase (с вашего разрешения!). В отличие от командных запросов, вы не вызываете эти инструменты напрямую; вместо этого модели, поддерживающие вызов инструментов (например, Gemini, Claude и GPT), могут автоматически вызывать их для выполнения задач разработки при необходимости.
В следующей таблице описываются инструменты, предоставляемые сервером MCP.
| Название инструмента | Группа функций | Описание |
|---|---|---|
| firebase_login | основной | Используйте эту функцию для входа пользователя в Firebase CLI и сервер Firebase MCP. Для этого требуется учётная запись Google, которая также необходима для создания и работы с проектами Firebase. |
| firebase_logout | основной | Используйте это для выхода пользователя из Firebase CLI и сервера Firebase MCP. |
| firebase_validate_security_rules | основной | Используйте это для проверки правил безопасности Firebase для Firestore, Storage или Realtime Database на наличие ошибок синтаксиса и проверки. |
| firebase_get_project | основной | Используйте это для получения информации о текущем активном проекте Firebase. |
| firebase_list_apps | основной | Используйте этот метод для получения списка приложений Firebase, зарегистрированных в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или веб-приложений. |
| firebase_list_projects | основной | Используйте это для получения списка проектов Firebase, к которым имеет доступ вошедший в систему пользователь. |
| firebase_get_sdk_config | основной | Используйте этот метод для получения информации о конфигурации Firebase для приложения Firebase. Необходимо указать ЛИБО платформу, ЛИБО идентификатор приложения Firebase для приложения Firebase, зарегистрированного в текущем активном проекте Firebase. |
| firebase_create_project | основной | Используйте это для создания нового проекта Firebase. |
| firebase_create_app | основной | Используйте это, чтобы создать новое приложение Firebase в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или веб-приложения. |
| firebase_create_android_sha | основной | Используйте это для добавления указанного хеша сертификата SHA в указанное приложение Firebase Android. |
| firebase_get_environment | основной | Используйте это для получения текущей конфигурации среды Firebase для Firebase CLI и сервера Firebase MCP, включая текущего аутентифицированного пользователя, каталог проекта, активный проект Firebase и многое другое. |
| firebase_update_environment | основной | Используйте эту функцию для обновления конфигурации среды для Firebase CLI и сервера Firebase MCP, например, каталога проекта, активного проекта, активной учётной записи пользователя, принятия условий обслуживания и т. д. Используйте firebase_get_environment для просмотра текущей настроенной среды. |
| firebase_init | основной | Используйте эту команду для инициализации выбранных сервисов Firebase в рабочей области (база данных Cloud Firestore, Firebase Data Connect, Firebase Realtime Database, Firebase AI Logic). Все сервисы необязательны; укажите только те продукты, которые вы хотите настроить. Вы можете инициализировать новые функции в существующем каталоге проекта, но повторная инициализация существующей функции может перезаписать конфигурацию. Чтобы развернуть инициализированные функции, выполните команду firebase deploy после инструмента firebase_init . |
| firebase_get_security_rules | основной | Используйте этот метод для получения правил безопасности для указанного сервиса Firebase. Если в продукте есть несколько экземпляров этого сервиса, возвращаются правила для экземпляра по умолчанию. |
| firebase_read_resources | основной | Используйте это для чтения содержимого firebase:// resources или для вывода списка доступных ресурсов. |
| firestore_delete_document | пожарный склад | Используйте эту функцию для удаления документов Firestore из базы данных текущего проекта по полному пути к документам. Используйте эту функцию, если вам известен точный путь к документу. |
| firestore_get_documents | пожарный склад | Используйте эту функцию для извлечения одного или нескольких документов Firestore из базы данных текущего проекта по полному пути к документам. Используйте эту функцию, если вам известен точный путь к документу. |
| firestore_list_collections | пожарный склад | Используйте это для получения списка коллекций из базы данных Firestore в текущем проекте. |
| firestore_query_collection | пожарный склад | Используйте этот метод для извлечения одного или нескольких документов Firestore из коллекции, которая находится в базе данных текущего проекта, по коллекции с полным путём к документу. Используйте этот метод, если вам известен точный путь к коллекции и нужный вам фильтр для документа. |
| auth_get_users | аутентификация | Используйте это для извлечения одного или нескольких пользователей Firebase Auth на основе списка UID или списка адресов электронной почты. |
| auth_update_user | аутентификация | Используйте это, чтобы отключить, включить или установить пользовательское утверждение для учетной записи конкретного пользователя. |
| auth_set_sms_region_policy | аутентификация | Используйте эту политику для настройки региона SMS для аутентификации Firebase, чтобы ограничить регионы, которым разрешено получать SMS-сообщения, на основе списка разрешенных или запрещенных кодов стран. Эта политика при установке переопределит все существующие политики. |
| dataconnect_build | подключение к данным | Используйте это для компиляции схемы, операций и/или коннекторов Firebase Data Connect, а также для проверки ошибок сборки. |
| dataconnect_generate_schema | подключение к данным | Используйте это для создания схемы Firebase Data Connect на основе описания приложения пользователем. |
| dataconnect_generate_operation | подключение к данным | Используйте это для создания одного запроса или мутации Firebase Data Connect на основе текущей развернутой схемы и предоставленного запроса. |
| dataconnect_list_services | подключение к данным | Используйте это для составления списка существующих локальных и внутренних служб Firebase Data Connect. |
| dataconnect_execute | подключение к данным | Используйте это для выполнения операции GraphQL над службой Data Connect или ее эмулятором. |
| storage_get_object_download_url | хранилище | Используйте это для получения URL-адреса загрузки объекта в контейнере Cloud Storage for Firebase. |
| отправка_сообщений | обмен сообщениями | Используйте это для отправки сообщения на регистрационный токен или тему Firebase Cloud Messaging. В одном вызове можно указать ТОЛЬКО ОДИН из registration_token или topic . |
| функции_получить_логи | функции | Используйте это для получения страницы записей журнала Cloud Functions с использованием расширенных фильтров Google Cloud Logging. |
| remoteconfig_get_template | удаленная конфигурация | Используйте это для извлечения указанного шаблона удаленной конфигурации Firebase из текущего активного проекта Firebase. |
| remoteconfig_update_template | удаленная конфигурация | Используйте это, чтобы опубликовать новый шаблон удаленной конфигурации или вернуться к определенной версии проекта. |
| crashlytics_create_note | крашлитики | Добавить заметку к проблеме из Crashlytics. |
| crashlytics_delete_note | крашлитики | Удалить заметку из проблемы Crashlytics. |
| crashlytics_get_issue | крашлитики | Получает данные по проблеме Crashlytics, которые можно использовать в качестве отправной точки для отладки. |
| crashlytics_list_events | крашлитики | Используйте это для вывода списка последних событий, соответствующих заданным фильтрам. Может использоваться для получения примеров сбоев и исключений для проблемы, который будет включать трассировки стека и другие данные, полезные для отладки. |
| crashlytics_batch_get_events | крашлитики | Получает определенные события по имени ресурса. Может использоваться для получения примеров сбоев и исключений для проблемы, который будет включать трассировки стека и другие данные, полезные для отладки. |
| crashlytics_list_notes | крашлитики | Используйте это для вывода списка всех заметок по проблеме в Crashlytics. |
| crashlytics_get_top_issues | крашлитики | Используйте это для подсчета событий и отдельных затронутых пользователей, сгруппированных по проблеме . Группы сортируются по количеству событий в порядке убывания. Учитываются только события, соответствующие заданным фильтрам. |
| crashlytics_get_top_variants | крашлитики | Подсчитывает события и отдельных затронутых пользователей, сгруппированных по варианту проблемы. Группы сортируются по количеству событий в порядке убывания. Учитываются только события, соответствующие заданным фильтрам. |
| crashlytics_get_top_versions | крашлитики | Подсчитывает события и отдельных затронутых пользователей, сгруппированных по версии . Группы сортируются по количеству событий в порядке убывания. Учитываются только события, соответствующие заданным фильтрам. |
| crashlytics_get_top_apple_devices | крашлитики | Подсчитывает события и отдельных затронутых пользователей, сгруппированных по устройству Apple. Группы сортируются по количеству событий в порядке убывания. Учитываются только события, соответствующие заданным фильтрам. Актуально только для приложений iOS, iPadOS и macOS. |
| crashlytics_get_top_android_devices | крашлитики | Подсчитывает события и отдельных затронутых пользователей, сгруппированных по устройствам Android. Группы сортируются по количеству событий в порядке убывания. Учитываются только события, соответствующие заданным фильтрам. Актуально только для приложений Android. |
| crashlytics_get_top_operating_systems | крашлитики | Подсчитывает события и отдельных затронутых пользователей, сгруппированных по операционной системе . Группы сортируются по количеству событий в порядке убывания. Учитываются только события, соответствующие заданным фильтрам. |
| crashlytics_update_issue | крашлитики | Используйте это для обновления состояния проблемы Crashlytics. |
| apphosting_fetch_logs | apphosting | Используйте этот параметр для получения последних журналов для указанного бэкэнда App Hosting. Если указан параметр buildLogs , возвращаются журналы процесса сборки для последней сборки. Самые последние журналы отображаются первыми. |
| apphosting_list_backends | apphosting | Используйте это для получения списка бэкендов App Hosting в текущем проекте. Пустой список означает, что бэкендов нет. uri — это публичный URL бэкенда. Работающий бэкенд будет иметь массив managed_resources , который будет содержать запись run_service . run_service.service — это имя ресурса службы Cloud Run, обслуживающей бэкенд App Hosting. Последний сегмент этого имени — идентификатор сервиса. domains — это список доменов, связанных с бэкендом. Они могут иметь тип CUSTOM или DEFAULT . У каждого бэкенда должен быть домен DEFAULT . Фактический домен, который пользователь будет использовать для подключения к бэкенду, — это последний параметр имени ресурса домена. Если пользовательский домен настроен правильно, его статусы будут заканчиваться на ACTIVE . |
| realtimedatabase_get_data | база данных в реальном времени | Используйте это для извлечения данных из указанного места в базе данных Firebase Realtime. |
| realtimedatabase_set_data | база данных в реальном времени | Используйте это для записи данных в указанное место в базе данных Firebase Realtime. |
Ресурсы
Сервер MCP предоставляет ресурсы — файлы документации, предназначенные для использования магистрами права (LLM). Модели, поддерживающие использование ресурсов, автоматически включают соответствующие ресурсы в контекст сеанса.
В следующей таблице описываются ресурсы, которые предоставляет сервер MCP.
| Имя ресурса | Описание |
|---|---|
| backend_init_guide | Руководство по инициализации бэкэнда Firebase: помогает программисту настроить бэкэнд-сервисы Firebase в текущем проекте. |
| ai_init_guide | Руководство по инициализации Firebase GenAI: помогает программисту настроить возможности GenAI в текущем проекте с использованием Firebase. |
| data_connect_init_guide | Руководство по инициализации Firebase Data Connect: помогает программисту настроить Data Connect для доступа к PostgreSQL в текущем проекте. |
| firestore_init_guide | Руководство по инициализации Firestore: помогает программисту настроить Firestore в текущем проекте. |
| firestore_rules_init_guide | Руководство по инициализации правил Firestore: помогает программисту настроить правила безопасности Firestore в проекте. |
| rtdb_init_guide | Руководство по инициализации базы данных Firebase Realtime: помогает программисту настроить базу данных Realtime в текущем проекте. |
| auth_init_guide | Руководство по инициализации аутентификации Firebase: помогает программисту настроить аутентификацию Firebase в текущем проекте. |
| hosting_init_guide | Руководство по развертыванию Firebase Hosting: помогает программисту выполнить развертывание на Firebase Hosting в текущем проекте. |
| документы | Firebase Docs: загружает текстовый контент из документации Firebase, например, https://firebase.google.com/docs/functions становится firebase://docs/functions |
Вы можете использовать сервер Firebase MCP, чтобы предоставить инструментам разработки на базе ИИ возможность работать с вашими проектами Firebase и кодовой базой вашего приложения.
Сервер Firebase MCP работает с любым инструментом, который может выступать в роли клиента MCP, включая: Firebase Studio, Gemini CLI и Gemini Code Assist, Claude Code и Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf и другие!
Перейти к инструкциям по настройке
Преимущества сервера MCP
Редактор, настроенный на использование сервера Firebase MCP, может использовать его возможности искусственного интеллекта, чтобы помочь вам:
- Создавайте и управляйте проектами Firebase
- Управление пользователями аутентификации Firebase
- Работа с данными в Cloud Firestore и Firebase Data Connect
- Извлечение схем Firebase Data Connect
- Изучите правила безопасности для Firestore и Cloud Storage для Firebase.
- Отправка сообщений с помощью Firebase Cloud Messaging
Некоторые инструменты используют Gemini в Firebase, чтобы помочь вам:
- Генерация схемы и операций Firebase Data Connect
- Проконсультируйтесь с Gemini по поводу продуктов Firebase
Это лишь частичные списки; полный список инструментов, доступных вашему редактору, смотрите в разделе «Возможности сервера» .
Настройте свой MCP-клиент
Сервер Firebase MCP может работать с любым клиентом MCP, который поддерживает стандартный ввод-вывод (stdio) в качестве транспортной среды.
При вызовах инструментов сервер Firebase MCP использует те же учётные данные пользователя, которые используются для авторизации Firebase CLI в среде, где он запущен. Это могут быть данные вошедшего в систему пользователя или учётные данные приложения по умолчанию , в зависимости от среды.
Прежде чем начать
Убедитесь, что у вас установлена рабочая версия Node.js и npm.
Базовая конфигурация
Ниже приведены базовые инструкции по настройке для использования сервера Firebase MCP с некоторыми популярными инструментами на базе искусственного интеллекта:
Gemini CLI
Рекомендуемый способ настройки Gemini CLI для использования сервера Firebase MCP — установка расширения Firebase для Gemini CLI :
gemini extensions install https://github.com/gemini-cli-extensions/firebase/Установка расширения Firebase автоматически настраивает сервер Firebase MCP, а также содержит файл контекста, который может повысить производительность разработки приложений Gemini Firebase.
В качестве альтернативы вы можете настроить Gemini CLI для использования сервера Firebase MCP (но не файла контекста расширения Firebase), отредактировав или создав один из файлов конфигурации:
- В вашем проекте:
.gemini/settings.json - В вашем домашнем каталоге:
~/.gemini/settings.json
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Gemini Code Assist
Рекомендуемый способ настройки Gemini Code Assist для использования сервера Firebase MCP — установка расширения Firebase для Gemini CLI :
gemini extensions install https://github.com/gemini-cli-extensions/firebase/Установка расширения Firebase автоматически настраивает сервер Firebase MCP, а также содержит файл контекста, который может повысить производительность разработки приложений Gemini Firebase.
Кроме того, вы можете настроить Gemini Code Assist на использование сервера Firebase MCP (но не файла контекста расширения Firebase), отредактировав или создав один из файлов конфигурации:
- В вашем проекте:
.gemini/settings.json - В вашем домашнем каталоге:
~/.gemini/settings.json
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Студия Firebase
Чтобы настроить Firebase Studio для использования сервера Firebase MCP, отредактируйте или создайте файл конфигурации: .idx/mcp.json .
Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Клод
Клод Код
Чтобы настроить Claude Code для использования сервера Firebase MCP, выполните следующую команду в папке вашего приложения:
claude mcp add firebase npx -- -y firebase-tools@latest mcpПроверить установку можно, выполнив:
claude mcp listДолжно быть показано:
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Клод Десктоп
Чтобы настроить Claude Desktop для использования сервера Firebase MCP, отредактируйте файл claude_desktop_config.json . Вы можете открыть или создать этот файл в меню Claude > Настройки . Выберите вкладку «Разработчик» и нажмите «Изменить конфигурацию» .
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Клайн
Чтобы настроить Cline для использования сервера Firebase MCP, отредактируйте файл cline_mcp_settings.json . Вы можете открыть или создать этот файл, щёлкнув значок «Серверы MCP» в верхней части панели Cline, а затем нажав кнопку «Настроить серверы MCP» .
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"],
"disabled": false
}
}
}
Курсор
Нажмите следующую кнопку, чтобы добавить сервер Firebase MCP в глобальную конфигурацию курсора.
Если вы предпочитаете добавить конфигурацию вручную или хотите настроить ее для конкретного проекта, вы можете отредактировать файл mcp.json .
- Для конкретного проекта : отредактируйте
.cursor/mcp.json - Для всех проектов (глобальных) : Редактировать
~/.cursor/mcp.json
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
VS Code Copilot
Чтобы настроить отдельный проект, отредактируйте файл .vscode/mcp.json в рабочей области:
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
Чтобы сделать сервер доступным в каждом открываемом проекте, измените настройки пользователя, например:
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Виндсерфинг
Чтобы настроить Windsurf Editor, отредактируйте файл ~/.codeium/windsurf/mcp_config.json :
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
Дополнительная конфигурация
Помимо базовой конфигурации для каждого клиента, показанной ранее, вы можете указать два дополнительных параметра:
--dir ABSOLUTE_DIR_PATH: Абсолютный путь к каталогу, содержащемуfirebase.json, для установки контекста проекта для сервера MCP. Если не указан, становятся доступны инструментыget_project_directoryиset_project_directory, а каталогом по умолчанию будет рабочий каталог, в котором был запущен сервер MCP.--only FEATURE_1 , FEATURE_2: список групп функций, которые необходимо активировать, разделённый запятыми. Используйте это, чтобы ограничить доступ к инструментам только теми функциями, которые вы активно используете. Обратите внимание, что основные инструменты всегда доступны.
Например:
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
Возможности сервера MCP
Сервер Firebase MCP предоставляет три различные категории функций MCP:
Подсказки : библиотека готовых подсказок, которые вы можете запустить. Они оптимизированы для разработки и запуска приложений с помощью Firebase.
Инструменты : набор инструментов, предназначенных для использования магистрами права, которые помогают им работать напрямую с вашим проектом Firebase (с вашего одобрения!)
Ресурсы : файлы документации, предназначенные для использования магистрами права (LLM) в качестве дополнительных рекомендаций и контекста для выполнения задачи или достижения цели.
Подсказки
Сервер Firebase MCP поставляется с библиотекой готовых подсказок, оптимизированных для разработки и запуска приложений с Firebase. Вы можете запускать эти подсказки для выполнения различных распространённых задач или достижения целей.
В следующей таблице описываются подсказки, которые выводит сервер MCP.
Большинство инструментов разработки, поддерживающих MCP, предоставляют удобный способ вызова этих команд. Например, в Gemini CLI эти команды доступны в виде слэш-команд:
/firebase:init
В Gemini CLI начните вводить /firebase: чтобы увидеть список доступных команд.
| Имя подсказки | Группа функций | Описание |
|---|---|---|
| firebase:deploy | основной | Используйте эту команду для развертывания ресурсов в Firebase. Аргументы: <prompt> (необязательно): любые конкретные инструкции, которые вы хотите предоставить по развертыванию |
| firebase:init | основной | Используйте эту команду для настройки служб Firebase, таких как функции бэкэнда и ИИ. |
| firebase:consult | основной | Используйте эту команду для обращения к Firebase Assistant с доступом к подробной актуальной документации по платформе Firebase. Аргументы: <prompt>: вопрос для передачи модели Gemini в Firebase |
| crashlytics:подключиться | крашлитики | Доступ к данным Crashlytics приложения Firebase. |
Инструменты
Сервер Firebase MCP также предоставляет ряд инструментов, предназначенных для LLM-программистов, которые помогают им работать напрямую с вашим проектом Firebase (с вашего разрешения!). В отличие от командных запросов, вы не вызываете эти инструменты напрямую; вместо этого модели, поддерживающие вызов инструментов (например, Gemini, Claude и GPT), могут автоматически вызывать их для выполнения задач разработки при необходимости.
В следующей таблице описываются инструменты, предоставляемые сервером MCP.
| Название инструмента | Группа функций | Описание |
|---|---|---|
| firebase_login | основной | Используйте эту функцию для входа пользователя в Firebase CLI и сервер Firebase MCP. Для этого требуется учётная запись Google, которая также необходима для создания и работы с проектами Firebase. |
| firebase_logout | основной | Используйте это для выхода пользователя из Firebase CLI и сервера Firebase MCP. |
| firebase_validate_security_rules | основной | Используйте это для проверки правил безопасности Firebase для Firestore, Storage или Realtime Database на наличие ошибок синтаксиса и проверки. |
| firebase_get_project | основной | Используйте это для получения информации о текущем активном проекте Firebase. |
| firebase_list_apps | основной | Используйте этот метод для получения списка приложений Firebase, зарегистрированных в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или веб-приложений. |
| firebase_list_projects | основной | Используйте это для получения списка проектов Firebase, к которым имеет доступ вошедший в систему пользователь. |
| firebase_get_sdk_config | основной | Используйте этот метод для получения информации о конфигурации Firebase для приложения Firebase. Необходимо указать ЛИБО платформу, ЛИБО идентификатор приложения Firebase для приложения Firebase, зарегистрированного в текущем активном проекте Firebase. |
| firebase_create_project | основной | Используйте это для создания нового проекта Firebase. |
| firebase_create_app | основной | Используйте это, чтобы создать новое приложение Firebase в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или веб-приложения. |
| firebase_create_android_sha | основной | Используйте это для добавления указанного хеша сертификата SHA в указанное приложение Firebase Android. |
| firebase_get_environment | основной | Используйте это для получения текущей конфигурации среды Firebase для Firebase CLI и сервера Firebase MCP, включая текущего аутентифицированного пользователя, каталог проекта, активный проект Firebase и многое другое. |
| firebase_update_environment | основной | Используйте эту функцию для обновления конфигурации среды для Firebase CLI и сервера Firebase MCP, например, каталога проекта, активного проекта, активной учётной записи пользователя, принятия условий обслуживания и т. д. Используйте firebase_get_environment для просмотра текущей настроенной среды. |
| firebase_init | основной | Используйте эту команду для инициализации выбранных сервисов Firebase в рабочей области (база данных Cloud Firestore, Firebase Data Connect, Firebase Realtime Database, Firebase AI Logic). Все сервисы необязательны; укажите только те продукты, которые вы хотите настроить. Вы можете инициализировать новые функции в существующем каталоге проекта, но повторная инициализация существующей функции может перезаписать конфигурацию. Чтобы развернуть инициализированные функции, выполните команду firebase deploy после инструмента firebase_init . |
| firebase_get_security_rules | основной | Используйте этот метод для получения правил безопасности для указанного сервиса Firebase. Если в продукте есть несколько экземпляров этого сервиса, возвращаются правила для экземпляра по умолчанию. |
| firebase_read_resources | основной | Используйте это для чтения содержимого firebase:// resources или для вывода списка доступных ресурсов. |
| firestore_delete_document | пожарный склад | Используйте эту функцию для удаления документов Firestore из базы данных текущего проекта по полному пути к документам. Используйте эту функцию, если вам известен точный путь к документу. |
| firestore_get_documents | пожарный склад | Используйте эту функцию для извлечения одного или нескольких документов Firestore из базы данных текущего проекта по полному пути к документам. Используйте эту функцию, если вам известен точный путь к документу. |
| firestore_list_collections | пожарный склад | Используйте это для получения списка коллекций из базы данных Firestore в текущем проекте. |
| firestore_query_collection | пожарный склад | Используйте этот метод для извлечения одного или нескольких документов Firestore из коллекции, которая находится в базе данных текущего проекта, по коллекции с полным путём к документу. Используйте этот метод, если вам известен точный путь к коллекции и нужный вам фильтр для документа. |
| auth_get_users | аутентификация | Используйте это для извлечения одного или нескольких пользователей Firebase Auth на основе списка UID или списка адресов электронной почты. |
| auth_update_user | аутентификация | Используйте это, чтобы отключить, включить или установить пользовательское утверждение для учетной записи конкретного пользователя. |
| auth_set_sms_region_policy | аутентификация | Используйте эту политику для настройки региона SMS для аутентификации Firebase, чтобы ограничить регионы, которым разрешено получать SMS-сообщения, на основе списка разрешенных или запрещенных кодов стран. Эта политика при установке переопределит все существующие политики. |
| dataconnect_build | подключение к данным | Используйте это для компиляции схемы, операций и/или коннекторов Firebase Data Connect, а также для проверки ошибок сборки. |
| dataconnect_generate_schema | подключение к данным | Используйте это для создания схемы Firebase Data Connect на основе описания приложения пользователем. |
| dataconnect_generate_operation | подключение к данным | Используйте это для создания одного запроса или мутации Firebase Data Connect на основе текущей развернутой схемы и предоставленного запроса. |
| dataconnect_list_services | подключение к данным | Используйте это для составления списка существующих локальных и внутренних служб Firebase Data Connect. |
| dataconnect_execute | подключение к данным | Используйте это для выполнения операции GraphQL над службой Data Connect или ее эмулятором. |
| storage_get_object_download_url | хранилище | Используйте это для получения URL-адреса загрузки объекта в контейнере Cloud Storage for Firebase. |
| отправка_сообщений | обмен сообщениями | Используйте это для отправки сообщения на регистрационный токен или тему Firebase Cloud Messaging. В одном вызове можно указать ТОЛЬКО ОДИН из registration_token или topic . |
| функции_получить_логи | функции | Используйте это для получения страницы записей журнала Cloud Functions с использованием расширенных фильтров Google Cloud Logging. |
| remoteconfig_get_template | удаленная конфигурация | Use this to retrieve the specified Firebase Remote Config template from the currently active Firebase Project. |
| remoteconfig_update_template | remoteconfig | Use this to publish a new remote config template or roll back to a specific version for the project |
| crashlytics_create_note | крашлитики | Add a note to an issue from crashlytics. |
| crashlytics_delete_note | крашлитики | Delete a note from a Crashlytics issue. |
| crashlytics_get_issue | крашлитики | Gets data for a Crashlytics issue, which can be used as a starting point for debugging. |
| crashlytics_list_events | крашлитики | Use this to list the most recent events matching the given filters. Can be used to fetch sample crashes and exceptions for an issue, which will include stack traces and other data useful for debugging. |
| crashlytics_batch_get_events | крашлитики | Gets specific events by resource name. Can be used to fetch sample crashes and exceptions for an issue, which will include stack traces and other data useful for debugging. |
| crashlytics_list_notes | крашлитики | Use this to list all notes for an issue in Crashlytics. |
| crashlytics_get_top_issues | крашлитики | Use this to count events and distinct impacted users, grouped by issue . Groups are sorted by event count, in descending order. Only counts events matching the given filters. |
| crashlytics_get_top_variants | крашлитики | Counts events and distinct impacted users, grouped by issue variant . Groups are sorted by event count, in descending order. Only counts events matching the given filters. |
| crashlytics_get_top_versions | крашлитики | Counts events and distinct impacted users, grouped by version . Groups are sorted by event count, in descending order. Only counts events matching the given filters. |
| crashlytics_get_top_apple_devices | крашлитики | Counts events and distinct impacted users, grouped by apple device . Groups are sorted by event count, in descending order. Only counts events matching the given filters. Only relevant for iOS, iPadOS and MacOS applications. |
| crashlytics_get_top_android_devices | крашлитики | Counts events and distinct impacted users, grouped by android device . Groups are sorted by event count, in descending order. Only counts events matching the given filters. Only relevant for Android applications. |
| crashlytics_get_top_operating_systems | крашлитики | Counts events and distinct impacted users, grouped by operating system . Groups are sorted by event count, in descending order. Only counts events matching the given filters. |
| crashlytics_update_issue | крашлитики | Use this to update the state of Crashlytics issue. |
| apphosting_fetch_logs | apphosting | Use this to fetch the most recent logs for a specified App Hosting backend. If buildLogs is specified, the logs from the build process for the latest build are returned. The most recent logs are listed first. |
| apphosting_list_backends | apphosting | Use this to retrieve a list of App Hosting backends in the current project. An empty list means that there are no backends. The uri is the public URL of the backend. A working backend will have a managed_resources array that will contain a run_service entry. That run_service.service is the resource name of the Cloud Run service serving the App Hosting backend. The last segment of that name is the service ID. domains is the list of domains that are associated with the backend. They either have type CUSTOM or DEFAULT . Every backend should have a DEFAULT domain. The actual domain that a user would use to conenct to the backend is the last parameter of the domain resource name. If a custom domain is correctly set up, it will have statuses ending in ACTIVE . |
| realtimedatabase_get_data | realtimedatabase | Use this to retrieve data from the specified location in a Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Use this to write data to the specified location in a Firebase Realtime Database. |
Ресурсы
The MCP server provides resources, which are documentation files intended for use by LLMs. Models that support using resources will automatically include relevant resources in the session context.
The following table describes the resources the MCP server makes available.
| Имя ресурса | Описание |
|---|---|
| backend_init_guide | Firebase Backend Init Guide: guides the coding agent through configuring Firebase backend services in the current project |
| ai_init_guide | Firebase GenAI Init Guide: guides the coding agent through configuring GenAI capabilities in the current project utilizing Firebase |
| data_connect_init_guide | Firebase Data Connect Init Guide: guides the coding agent through configuring Data Connect for PostgreSQL access in the current project |
| firestore_init_guide | Firestore Init Guide: guides the coding agent through configuring Firestore in the current project |
| firestore_rules_init_guide | Firestore Rules Init Guide: guides the coding agent through setting up Firestore security rules in the project |
| rtdb_init_guide | Firebase Realtime Database Init Guide: guides the coding agent through configuring Realtime Database in the current project |
| auth_init_guide | Firebase Authentication Init Guide: guides the coding agent through configuring Firebase Authentication in the current project |
| hosting_init_guide | Firebase Hosting Deployment Guide: guides the coding agent through deploying to Firebase Hosting in the current project |
| документы | Firebase Docs: loads plain text content from Firebase documentation, eg https://firebase.google.com/docs/functions becomes firebase://docs/functions |
You can use the Firebase MCP server to give AI-powered development tools the ability to work with your Firebase projects and your app's codebase.
The Firebase MCP server works with any tool that can act as an MCP client, including: Firebase Studio, Gemini CLI and Gemini Code Assist, Claude Code and Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf, and more!
Benefits of the MCP server
An editor configured to use the Firebase MCP server can use its AI capabilities to help you:
- Create and manage Firebase projects
- Manage your Firebase Authentication users
- Work with data in Cloud Firestore and Firebase Data Connect
- Retrieve Firebase Data Connect schemas
- Understand your security rules for Firestore and Cloud Storage for Firebase
- Send messages with Firebase Cloud Messaging
Some of the tools use Gemini in Firebase to help you:
- Generate Firebase Data Connect schema and operations
- Consult Gemini about Firebase products
These are only partial lists; see the server capabilities section for a complete list of tools available to your editor.
Set up your MCP client
The Firebase MCP server can work with any MCP client that supports standard I/O (stdio) as the transport medium.
When the Firebase MCP server makes tool calls, it uses the same user credentials that authorize the Firebase CLI in the environment where it's running. This could be a logged-in user or Application Default Credentials , depending on the environment.
Прежде чем начать
Make sure you have a working installation of Node.js and npm.
Базовая конфигурация
Here are basic configuration instructions for using the Firebase MCP server with some popular AI-assistive tools:
Gemini CLI
The recommended way to set up the Gemini CLI to use the Firebase MCP server is to install the Firebase extension for Gemini CLI :
gemini extensions install https://github.com/gemini-cli-extensions/firebase/Installing the Firebase extension automatically configures the Firebase MCP server and also comes with a context file that can improve Gemini's Firebase app development performance.
Alternatively, you can configure Gemini CLI to use the Firebase MCP server (but not the Firebase extension context file), by editing or creating one of the configuration files:
- In your project:
.gemini/settings.json - In your home directory:
~/.gemini/settings.json
If the file doesn't yet exist, create it by right-clicking the parent directory and selecting New file . Add the following contents to the file:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Gemini Code Assist
The recommended way to set up Gemini Code Assist to use the Firebase MCP server is to install the Firebase extension for Gemini CLI :
gemini extensions install https://github.com/gemini-cli-extensions/firebase/Installing the Firebase extension automatically configures the Firebase MCP server and also comes with a context file that can improve Gemini's Firebase app development performance.
Alternatively, you can configure Gemini Code Assist to use the Firebase MCP server (but not the Firebase extension context file), by editing or creating one of the configuration files:
- In your project:
.gemini/settings.json - In your home directory:
~/.gemini/settings.json
If the file doesn't yet exist, create it by right-clicking the parent directory and selecting New file . Add the following contents to the file:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Студия Firebase
To configure Firebase Studio to use the Firebase MCP server, edit or create the configuration file: .idx/mcp.json .
If the file doesn't yet exist, create it by right-clicking the parent directory and selecting New file . Add the following contents to the file:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Клод
Клод Код
To configure Claude Code to use the Firebase MCP server, run the following command under your app folder:
claude mcp add firebase npx -- -y firebase-tools@latest mcpYou can verify the installation by running:
claude mcp listIt should show:
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Клод Десктоп
To configure Claude Desktop to use the Firebase MCP server, edit the claude_desktop_config.json file. You can open or create this file from the Claude > Settings menu. Select the Developer tab, then click Edit Config .
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Клайн
To configure Cline to use the Firebase MCP server, edit the cline_mcp_settings.json file. You can open or create this file by clicking the MCP Servers icon at the top of the Cline pane, then clicking the Configure MCP Servers button.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"],
"disabled": false
}
}
}
Курсор
Click the following button to add the Firebase MCP server to your global Cursor configuration.
If you prefer to add the configuration manually or want to configure it for a specific project, you can edit your mcp.json file.
- For a specific project : Edit
.cursor/mcp.json - For all projects (global) : Edit
~/.cursor/mcp.json
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
VS Code Copilot
To configure a single project, edit the .vscode/mcp.json file in your workspace:
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
To make the server available in every project you open, edit your user settings, for example:
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Виндсерфинг
To configure Windsurf Editor, edit the file ~/.codeium/windsurf/mcp_config.json :
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
Дополнительная конфигурация
In addition to the basic configuration for each client, shown earlier, there are two optional parameters you can specify:
--dir ABSOLUTE_DIR_PATH: The absolute path of a directory containingfirebase.json, to set a project context for the MCP server. If unspecified, theget_project_directoryandset_project_directorytools become available and the default directory will be the working directory where the MCP server was started.--only FEATURE_1 , FEATURE_2: A comma-separated list of feature groups to activate. Use this to limit the tools exposed to only features you are actively using. Note that the core tools are always available
Например:
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
MCP server capabilities
The Firebase MCP server provides three different categories of MCP features:
Prompts : A library of pre-written prompts that you can run; they're optimized for developing and running an app with Firebase
Tools : A set of tools intended for use by LLMs that help them work directly with your Firebase project (with your approval!)
Resources : Documentation files intended for use by LLMs to give them more guidance and context to complete a task or goal
Подсказки
The Firebase MCP server comes with a library of pre-written prompts optimized for developing and running an app with Firebase. You can run these prompts to complete various common tasks or goals.
The following table describes the prompts the MCP server makes available.
Most development tools that support MCP provide some convenient way to run these prompts. For example, Gemini CLI makes these prompts available as slash commands:
/firebase:init
In the Gemini CLI, start typing /firebase: to see a list of available commands.
| Имя подсказки | Группа функций | Описание |
|---|---|---|
| firebase:deploy | основной | Use this command to deploy resources to Firebase. Аргументы: <prompt> (optional): any specific instructions you wish to provide about deploying |
| firebase:init | основной | Use this command to set up Firebase services, like backend and AI features. |
| firebase:consult | основной | Use this command to consult the Firebase Assistant with access to detailed up-to-date documentation for the Firebase platform. Аргументы: <prompt>: a question to pass to the Gemini in Firebase model |
| crashlytics:connect | крашлитики | Access a Firebase application's Crashlytics data. |
Инструменты
The Firebase MCP server also provides a number of tools intended for use by LLMs that help them work directly with your Firebase project (with your approval!). Unlike with prompts, you don't call these tools directly; rather, models that support tool calling (such as Gemini, Claude, and GPT) can automatically call these tools to perform development tasks when needed.
The following table describes the tools the MCP server makes available.
| Название инструмента | Группа функций | Описание |
|---|---|---|
| firebase_login | основной | Use this to sign the user into the Firebase CLI and Firebase MCP server. This requires a Google Account, and sign in is required to create and work with Firebase Projects. |
| firebase_logout | основной | Use this to sign the user out of the Firebase CLI and Firebase MCP server. |
| firebase_validate_security_rules | основной | Use this to check Firebase Security Rules for Firestore, Storage, or Realtime Database for syntax and validation errors. |
| firebase_get_project | основной | Use this to retrieve information about the currently active Firebase Project. |
| firebase_list_apps | основной | Use this to retrieve a list of the Firebase Apps registered in the currently active Firebase project. Firebase Apps can be iOS, Android, or Web. |
| firebase_list_projects | основной | Use this to retrieve a list of Firebase Projects that the signed-in user has access to. |
| firebase_get_sdk_config | основной | Use this to retrieve the Firebase configuration information for a Firebase App. You must specify EITHER a platform OR the Firebase App ID for a Firebase App registered in the currently active Firebase Project. |
| firebase_create_project | основной | Use this to create a new Firebase Project. |
| firebase_create_app | основной | Use this to create a new Firebase App in the currently active Firebase Project. Firebase Apps can be iOS, Android, or Web. |
| firebase_create_android_sha | основной | Use this to add the specified SHA certificate hash to the specified Firebase Android App. |
| firebase_get_environment | основной | Use this to retrieve the current Firebase environment configuration for the Firebase CLI and Firebase MCP server, including current authenticated user, project directory, active Firebase Project, and more. |
| firebase_update_environment | основной | Use this to update environment config for the Firebase CLI and Firebase MCP server, such as project directory, active project, active user account, accept terms of service, and more. Use firebase_get_environment to see the currently configured environment. |
| firebase_init | основной | Use this to initialize selected Firebase services in the workspace (Cloud Firestore database, Firebase Data Connect, Firebase Realtime Database, Firebase AI Logic). All services are optional; specify only the products you want to set up. You can initialize new features into an existing project directory, but re-initializing an existing feature may overwrite configuration. To deploy the initialized features, run the firebase deploy command after firebase_init tool. |
| firebase_get_security_rules | основной | Use this to retrieve the security rules for a specified Firebase service. If there are multiple instances of that service in the product, the rules for the defualt instance are returned. |
| firebase_read_resources | основной | Use this to read the contents of firebase:// resources or list available resources |
| firestore_delete_document | пожарный склад | Use this to delete a Firestore documents from a database in the current project by full document paths. Use this if you know the exact path of a document. |
| firestore_get_documents | пожарный склад | Use this to retrieve one or more Firestore documents from a database in the current project by full document paths. Use this if you know the exact path of a document. |
| firestore_list_collections | пожарный склад | Use this to retrieve a list of collections from a Firestore database in the current project. |
| firestore_query_collection | пожарный склад | Use this to retrieve one or more Firestore documents from a collection is a database in the current project by a collection with a full document path. Use this if you know the exact path of a collection and the filtering clause you would like for the document. |
| auth_get_users | аутентификация | Use this to retrieve one or more Firebase Auth users based on a list of UIDs or a list of emails. |
| auth_update_user | аутентификация | Use this to disable, enable, or set a custom claim on a specific user's account. |
| auth_set_sms_region_policy | аутентификация | Use this to set an SMS region policy for Firebase Authentication to restrict the regions which can receive text messages based on an ALLOW or DENY list of country codes. This policy will override any existing policies when set. |
| dataconnect_build | dataconnect | Use this to compile Firebase Data Connect schema, operations, and/or connectors and check for build errors. |
| dataconnect_generate_schema | dataconnect | Use this to generate a Firebase Data Connect Schema based on the users description of an app. |
| dataconnect_generate_operation | dataconnect | Use this to generate a single Firebase Data Connect query or mutation based on the currently deployed schema and the provided prompt. |
| dataconnect_list_services | dataconnect | Use this to list existing local and backend Firebase Data Connect services |
| dataconnect_execute | dataconnect | Use this to execute a GraphQL operation against a Data Connect service or its emulator. |
| storage_get_object_download_url | хранилище | Use this to retrieve the download URL for an object in a Cloud Storage for Firebase bucket. |
| messaging_send_message | обмен сообщениями | Use this to send a message to a Firebase Cloud Messaging registration token or topic. ONLY ONE of registration_token or topic may be supplied in a specific call. |
| functions_get_logs | функции | Use this to retrieve a page of Cloud Functions log entries using Google Cloud Logging advanced filters. |
| remoteconfig_get_template | remoteconfig | Use this to retrieve the specified Firebase Remote Config template from the currently active Firebase Project. |
| remoteconfig_update_template | remoteconfig | Use this to publish a new remote config template or roll back to a specific version for the project |
| crashlytics_create_note | крашлитики | Add a note to an issue from crashlytics. |
| crashlytics_delete_note | крашлитики | Delete a note from a Crashlytics issue. |
| crashlytics_get_issue | крашлитики | Gets data for a Crashlytics issue, which can be used as a starting point for debugging. |
| crashlytics_list_events | крашлитики | Use this to list the most recent events matching the given filters. Can be used to fetch sample crashes and exceptions for an issue, which will include stack traces and other data useful for debugging. |
| crashlytics_batch_get_events | крашлитики | Gets specific events by resource name. Can be used to fetch sample crashes and exceptions for an issue, which will include stack traces and other data useful for debugging. |
| crashlytics_list_notes | крашлитики | Use this to list all notes for an issue in Crashlytics. |
| crashlytics_get_top_issues | крашлитики | Use this to count events and distinct impacted users, grouped by issue . Groups are sorted by event count, in descending order. Only counts events matching the given filters. |
| crashlytics_get_top_variants | крашлитики | Counts events and distinct impacted users, grouped by issue variant . Groups are sorted by event count, in descending order. Only counts events matching the given filters. |
| crashlytics_get_top_versions | крашлитики | Counts events and distinct impacted users, grouped by version . Groups are sorted by event count, in descending order. Only counts events matching the given filters. |
| crashlytics_get_top_apple_devices | крашлитики | Counts events and distinct impacted users, grouped by apple device . Groups are sorted by event count, in descending order. Only counts events matching the given filters. Only relevant for iOS, iPadOS and MacOS applications. |
| crashlytics_get_top_android_devices | крашлитики | Counts events and distinct impacted users, grouped by android device . Groups are sorted by event count, in descending order. Only counts events matching the given filters. Only relevant for Android applications. |
| crashlytics_get_top_operating_systems | крашлитики | Counts events and distinct impacted users, grouped by operating system . Groups are sorted by event count, in descending order. Only counts events matching the given filters. |
| crashlytics_update_issue | крашлитики | Use this to update the state of Crashlytics issue. |
| apphosting_fetch_logs | apphosting | Use this to fetch the most recent logs for a specified App Hosting backend. If buildLogs is specified, the logs from the build process for the latest build are returned. The most recent logs are listed first. |
| apphosting_list_backends | apphosting | Use this to retrieve a list of App Hosting backends in the current project. An empty list means that there are no backends. The uri is the public URL of the backend. A working backend will have a managed_resources array that will contain a run_service entry. That run_service.service is the resource name of the Cloud Run service serving the App Hosting backend. The last segment of that name is the service ID. domains is the list of domains that are associated with the backend. They either have type CUSTOM or DEFAULT . Every backend should have a DEFAULT domain. The actual domain that a user would use to conenct to the backend is the last parameter of the domain resource name. If a custom domain is correctly set up, it will have statuses ending in ACTIVE . |
| realtimedatabase_get_data | realtimedatabase | Use this to retrieve data from the specified location in a Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Use this to write data to the specified location in a Firebase Realtime Database. |
Ресурсы
The MCP server provides resources, which are documentation files intended for use by LLMs. Models that support using resources will automatically include relevant resources in the session context.
The following table describes the resources the MCP server makes available.
| Имя ресурса | Описание |
|---|---|
| backend_init_guide | Firebase Backend Init Guide: guides the coding agent through configuring Firebase backend services in the current project |
| ai_init_guide | Firebase GenAI Init Guide: guides the coding agent through configuring GenAI capabilities in the current project utilizing Firebase |
| data_connect_init_guide | Firebase Data Connect Init Guide: guides the coding agent through configuring Data Connect for PostgreSQL access in the current project |
| firestore_init_guide | Firestore Init Guide: guides the coding agent through configuring Firestore in the current project |
| firestore_rules_init_guide | Firestore Rules Init Guide: guides the coding agent through setting up Firestore security rules in the project |
| rtdb_init_guide | Firebase Realtime Database Init Guide: guides the coding agent through configuring Realtime Database in the current project |
| auth_init_guide | Firebase Authentication Init Guide: guides the coding agent through configuring Firebase Authentication in the current project |
| hosting_init_guide | Firebase Hosting Deployment Guide: guides the coding agent through deploying to Firebase Hosting in the current project |
| документы | Firebase Docs: loads plain text content from Firebase documentation, eg https://firebase.google.com/docs/functions becomes firebase://docs/functions |