Firebase MCP Server

официальный

Вы можете использовать Firebase MCP server, чтобы предоставить инструментам разработки на основе ИИ возможность работать с вашими проектами Firebase и кодовой базой вашего приложения.

Что можно делать с Firebase MCP?

  • Создание и управление проектами Firebase — Попросите ассистента инициализировать новый проект с помощью firebase_create_project или вывести список существующих проектов и приложений.
  • Управление пользователями Authentication — Получайте данные пользователей с помощью auth_get_users, обновляйте пользовательские утверждения или отключайте учетные записи через auth_update_user.
  • Запросы и обновление Firestore или Realtime Database — Читайте, записывайте и управляйте документами с помощью firebase_read_resources и инструментов, связанных с базами данных.
  • Отладка сбоев с Crashlytics — Получайте сведения о проблемах, просматривайте последние события сбоев и добавляйте заметки с помощью crashlytics_get_issue и crashlytics_list_events.
  • Проверка и получение правил безопасности — Проверяйте правила Firestore, Storage или Realtime Database на ошибки с помощью firebase_validate_security_rules.
  • Мониторинг бэкендов App Hosting — Выводите список бэкендов через apphosting_list_backends и получайте последние логи сборки или выполнения с помощью apphosting_fetch_logs.

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

Firebase MCP Server

License Install MCP Server

Firebase Model Context Protocol (MCP) Server предоставляет инструментам разработки на базе ИИ возможность работать с вашими проектами Firebase и кодовой базой приложения. Сервер Firebase MCP работает с любым инструментом, который может выступать в роли MCP-клиента, включая: Firebase Studio, Gemini CLI, Claude Code, Cline, Cursor, VS Code Copilot, Windsurf и другие!

Возможности

Редактор, настроенный на использование Firebase MCP Server, может задействовать свои ИИ-возможности, чтобы помочь вам:

  • Создавать и управлять проектами Firebase — инициализировать новые проекты, просматривать существующие и управлять приложениями Firebase
  • Управлять пользователями Firebase Authentication — получать, обновлять и администрировать учётные записи пользователей
  • Работать с Cloud Firestore и Firebase SQL Connect — запрашивать, читать, записывать и управлять документами базы данных
  • Получать схемы Firebase SQL Connect — генерировать схемы и операции с помощью ИИ
  • Понимать правила безопасности — проверять и извлекать правила безопасности для Firestore, Cloud Storage и Realtime Database
  • Отправлять сообщения через Firebase Cloud Messaging — отправлять push-уведомления на устройства и в темы
  • Получать доступ к данным Crashlytics — отлаживать проблемы, просматривать отчёты о сбоях и управлять аналитикой сбоев
  • Развёртывать в App Hosting — отслеживать бэкенды и получать логи
  • Работать с Realtime Database — читать и записывать данные в реальном времени
  • Запрашивать логи Cloud Functions — извлекать и анализировать логи выполнения функций
  • Управлять Remote Config — получать и обновлять шаблоны удалённой конфигурации

Некоторые инструменты используют Gemini в Firebase, чтобы помочь вам:

  • Генерировать схему и операции Firebase SQL Connect
  • Консультироваться с Gemini по продуктам Firebase

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

Установка и настройка

Предварительные требования

Убедитесь, что у вас установлены Node.js и npm.

Базовая конфигурация

Firebase MCP Server может работать с любым MCP-клиентом, поддерживающим стандартный ввод-вывод (stdio) в качестве транспорта. Когда Firebase MCP Server выполняет вызовы инструментов, он использует те же учётные данные пользователя, которые авторизуют Firebase CLI в среде его выполнения.

Ниже приведены инструкции по настройке для популярных ИИ-ассистентов:

Gemini CLI

Установите расширение Firebase для Gemini CLI:

gemini extensions install https://github.com/firebase/agent-skills

Claude Code

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

Самый простой способ настроить Firebase MCP Server в Claude Code — установить официальный плагин Firebase:

  1. Добавьте маркетплейс Firebase для плагинов Claude:

    claude plugin marketplace add firebase/firebase-tools
    
  2. Установите плагин Claude для Firebase:

    claude plugin install firebase@firebase
    
  3. Проверьте установку:

    claude plugin
    
Вариант 2: Настройка MCP-сервера вручную

В качестве альтернативы вы можете настроить Firebase MCP Server вручную, выполнив:

claude mcp add firebase npx -- -y firebase-tools@latest mcp

Проверить установку можно командой:

claude mcp list

Она должна показать:

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

Cursor

Добавьте в .cursorrules в директории вашего проекта или настройте в параметрах Cursor:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Windsurf

Добавьте в ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

Firebase Studio

Чтобы настроить Firebase Studio на использование Firebase MCP Server, отредактируйте или создайте файл конфигурации: .idx/mcp.json

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "mcp"]
    }
  }
}

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

После настройки MCP-сервер автоматически предоставит вашему ИИ-ассистенту возможности Firebase. Вы сможете:

  • Попросить ИИ помочь настроить сервисы Firebase
  • Запрашивать данные из вашей базы Firestore
  • Управлять пользователями аутентификации
  • Развёртывать приложения в Firebase Hosting
  • Отлаживать проблемы в Crashlytics
  • И многое другое!

Полный список доступных инструментов и ресурсов см. в разделе Возможности сервера ниже.

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

Для получения дополнительной информации посетите официальную документацию Firebase MCP Server.

Возможности сервера

Firebase MCP Server предоставляет три типа возможностей: Инструменты (функции, выполняющие действия), Подсказки (переиспользуемые шаблоны команд) и Ресурсы (файлы документации для ИИ-моделей).

Название инструментаГруппа функцийОписание
apphosting_fetch_logsapphostingИспользуйте для получения последних логов указанного бэкенда App Hosting. Если указан buildLogs, возвращаются логи процесса сборки последней сборки. Самые свежие логи идут первыми.
apphosting_list_backendsapphostingИспользуйте для получения списка бэкендов App Hosting в текущем проекте. Пустой список означает отсутствие бэкендов. uri — это публичный URL бэкенда. Работающий бэкенд будет иметь массив managed_resources, содержащий запись run_service. Этот run_service.service является именем ресурса сервиса Cloud Run, обслуживающего бэкенд App Hosting. Последний сегмент этого имени — идентификатор сервиса. domains — это список доменов, связанных с бэкендом. Они имеют тип либо CUSTOM, либо DEFAULT. Каждый бэкенд должен иметь домен DEFAULT. Фактический домен, который пользователь будет использовать для подключения к бэкенду, является последним параметром имени ресурса домена. Если пользовательский домен настроен правильно, его статусы будут заканчиваться на ACTIVE.
auth_get_usersauthИспользуйте для получения одного или нескольких пользователей Firebase Auth по списку UID или списку email-адресов.
auth_update_userauthИспользуйте для отключения, включения или установки пользовательского утверждения (custom claim) для учётной записи конкретного пользователя.
auth_set_sms_region_policyauthИспользуйте для установки региональной политики SMS для Firebase Authentication, чтобы ограничить регионы, которые могут получать текстовые сообщения, на основе списка ALLOW или DENY кодов стран. Эта политика при установке переопределит все существующие политики.
firebase_logincoreИспользуйте для входа пользователя в Firebase CLI и Firebase MCP сервер. Требуется аккаунт Google, вход необходим для создания и работы с проектами Firebase.
firebase_logoutcoreИспользуйте для выхода пользователя из Firebase CLI и Firebase MCP сервера.
firebase_validate_security_rulescoreИспользуйте для проверки правил безопасности Firebase для Firestore, Storage или Realtime Database на наличие синтаксических ошибок и ошибок валидации.
firebase_get_projectcoreИспользуйте для получения информации о текущем активном проекте Firebase.
firebase_list_appscoreИспользуйте для получения списка приложений Firebase, зарегистрированных в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или Web.
firebase_list_projectscoreИспользуйте для получения списка проектов Firebase, к которым у вошедшего пользователя есть доступ.
firebase_get_sdk_configcoreИспользуйте для получения конфигурационной информации Firebase для приложения Firebase. Необходимо указать ЛИБО платформу, ЛИБО идентификатор приложения Firebase, зарегистрированного в текущем активном проекте Firebase.
firebase_create_projectcoreИспользуйте для создания нового проекта Firebase.
firebase_create_appcoreИспользуйте для создания нового приложения Firebase в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или Web.
firebase_create_android_shacoreИспользуйте для добавления указанного хеша SHA-сертификата в указанное Android-приложение Firebase.
firebase_get_environmentcoreИспользуйте для получения текущей конфигурации окружения Firebase для Firebase CLI и Firebase MCP сервера, включая текущего аутентифицированного пользователя, директорию проекта, активный проект Firebase и многое другое. Все инструменты требуют аутентификации пользователя, но не вся информация требуется для всех инструментов. Обратите внимание на требования инструментов к тому, какие именно данные необходимы.
firebase_update_environmentcoreИспользуйте для обновления конфигурации окружения Firebase CLI и Firebase MCP сервера, такой как директория проекта, активный проект, активная учетная запись пользователя, принятие условий обслуживания и многое другое. Используйте firebase_get_environment для просмотра текущей конфигурации окружения.
firebase_initcoreИспользуйте для инициализации выбранных сервисов Firebase в рабочем пространстве (база данных Cloud Firestore, Firebase SQL Connect, Firebase Realtime Database, Firebase AI Logic). Все сервисы опциональны; укажите только те продукты, которые хотите настроить. Вы можете инициализировать новые функции в существующей директории проекта, но повторная инициализация существующей функции может перезаписать конфигурацию. Для развертывания инициализированных функций выполните команду firebase deploy после инструмента firebase_init.
firebase_get_security_rulescoreИспользуйте для получения правил безопасности для указанного сервиса Firebase. Если в продукте существует несколько экземпляров этого сервиса, возвращаются правила для экземпляра по умолчанию.
firebase_read_resourcescoreИспользуйте для чтения содержимого ресурсов firebase:// или вывода списка доступных ресурсов
crashlytics_create_notecrashlyticsДобавление заметки к проблеме из Crashlytics.
crashlytics_delete_notecrashlyticsУдаление заметки из проблемы Crashlytics.
crashlytics_get_issuecrashlyticsПолучает данные о проблеме Crashlytics, которые можно использовать в качестве отправной точки для отладки.
crashlytics_list_eventscrashlyticsИспользуйте для вывода списка последних событий, соответствующих заданным фильтрам.
Может использоваться для получения образцов сбоев и исключений для проблемы,
которые будут включать трассировку стека и другие данные, полезные для отладки.
crashlytics_batch_get_eventscrashlyticsПолучает конкретные события по имени ресурса.
Может использоваться для получения образцов сбоев и исключений для проблемы,
которые будут включать трассировку стека и другие данные, полезные для отладки.
crashlytics_list_notescrashlyticsИспользуйте для вывода списка всех заметок для проблемы в Crashlytics.
crashlytics_get_reportcrashlyticsИспользуйте для запроса числовых отчётов из Crashlytics. Результат агрегирует сумму событий и затронутых пользователей, сгруппированных по измерению, подходящему для этого отчёта. Агенты должны прочитать Руководство по отчётам Firebase Crashlytics с помощью инструмента firebase_read_resources перед вызовом, чтобы понять критические предварительные требования для запроса отчётов и способы интерпретации результатов.
crashlytics_update_issuecrashlyticsИспользуйте для обновления состояния проблемы Crashlytics.
realtimedatabase_get_datarealtimedatabaseИспользуйте для получения данных из указанного расположения в Firebase Realtime Database.
realtimedatabase_set_datarealtimedatabaseИспользуйте для записи данных в указанное расположение в Firebase Realtime Database.
dataconnect_builddataconnectИспользуйте для компиляции схемы, операций и/или коннекторов Firebase SQL Connect и проверки ошибок сборки.
dataconnect_list_servicesdataconnectИспользуйте для вывода списка существующих локальных и серверных сервисов Firebase SQL Connect
dataconnect_executedataconnectИспользуйте для выполнения операции GraphQL в сервисе SQL Connect или его эмуляторе.
firestore_delete_documentfirestoreИспользуйте для удаления документов Firestore из базы данных в текущем проекте по полным путям документов. Используйте, если знаете точный путь к документу.
firestore_get_documentsfirestoreИспользуйте для получения одного или нескольких документов Firestore из базы данных в текущем проекте по полным путям документов. Используйте, если знаете точный путь к документу.
firestore_list_collectionsfirestoreИспользуйте для получения списка коллекций из базы данных Firestore в текущем проекте.
firestore_query_collectionfirestoreИспользуйте для получения одного или нескольких документов Firestore из коллекции в базе данных текущего проекта по коллекции с полным путём документа. Используйте, если знаете точный путь к коллекции и условие фильтрации, которое хотите применить к документу.
functions_get_logsfunctionsИспользуйте для получения страницы записей журнала Cloud Functions с помощью расширенных фильтров Google Cloud Logging.
functions_list_functionsfunctionsВыводит список всех развёрнутых функций в вашем проекте Firebase.
messaging_send_messagemessagingИспользуйте для отправки сообщения на регистрационный токен или тему Firebase Cloud Messaging. В одном вызове можно указать ТОЛЬКО ОДИН из registration_token или topic.
remoteconfig_get_templateremoteconfigИспользуйте для получения указанного шаблона Firebase Remote Config из текущего активного проекта Firebase.
remoteconfig_update_templateremoteconfigИспользуйте для публикации нового шаблона Remote Config или отката к определенной версии для проекта.
storage_get_object_download_urlstorageИспользуйте для получения URL-адреса для скачивания объекта в бакете Cloud Storage for Firebase.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
firebase:deploycoreИспользуйте эту команду для развертывания ресурсов в Firebase.

Аргументы:
<prompt> (необязательно): любые конкретные инструкции по развертыванию, которые вы хотите предоставить
firebase:initcoreИспользуйте эту команду для настройки сервисов Firebase, таких как бэкенд и функции ИИ.
firestore:generate_security_rulesfirestoreСгенерируйте безопасные правила безопасности Firestore и соответствующие модульные тесты для вашего проекта.
storage:generate_security_rulesstorageСгенерируйте безопасные правила безопасности Storage и соответствующие модульные тесты для вашего проекта.
crashlytics:connectcrashlyticsИспользуйте эту команду для доступа к данным Crashlytics приложения Firebase.
Название ресурсаОписание
app_id_guideРуководство по идентификатору приложения Firebase: помогает агенту по кодированию выбрать идентификатор приложения Firebase в текущем проекте
crashlytics_investigations_guideРуководство по расследованиям Crashlytics: помогает агенту по кодированию при расследовании ошибок, зарегистрированных в проблемах Crashlytics, включая процедуры диагностики и исправления сбоев.
crashlytics_issues_guideРуководство по проблемам Crashlytics: помогает агенту по кодированию при работе с проблемами Crashlytics, включая правила приоритизации и процедуры диагностики и исправления сбоев.
crashlytics_reports_guideРуководство по отчетам Crashlytics: помогает агенту по кодированию при запросе отчетов Crashlytics, включая настройку соответствующих фильтров и понимание метрик. Агент должен прочитать это руководство перед запросом любого отчета.
backend_init_guideРуководство по инициализации бэкенда Firebase: помогает агенту по кодированию настроить сервисы бэкенда Firebase в текущем проекте
ai_init_guideРуководство по инициализации GenAI Firebase: помогает агенту по кодированию настроить возможности GenAI в текущем проекте с использованием Firebase
firestore_init_guideРуководство по инициализации Firestore: помогает агенту по кодированию настроить Firestore в текущем проекте
firestore_rules_init_guideРуководство по инициализации правил Firestore: помогает агенту по кодированию настроить правила безопасности Firestore в проекте
auth_init_guideРуководство по инициализации аутентификации Firebase: помогает агенту по кодированию настроить аутентификацию Firebase в текущем проекте
hosting_init_guideРуководство по развертыванию хостинга Firebase: помогает агенту по кодированию выполнить развертывание на хостинге Firebase в текущем проекте
docsДокументация Firebase: загружает текстовое содержимое из документации Firebase, например, https://firebase.google.com/docs/functions становится firebase://docs/functions