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
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:
-
Добавьте маркетплейс Firebase для плагинов Claude:
claude plugin marketplace add firebase/firebase-tools -
Установите плагин Claude для Firebase:
claude plugin install firebase@firebase -
Проверьте установку:
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_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. |
| auth_get_users | auth | Используйте для получения одного или нескольких пользователей Firebase Auth по списку UID или списку email-адресов. |
| auth_update_user | auth | Используйте для отключения, включения или установки пользовательского утверждения (custom claim) для учётной записи конкретного пользователя. |
| auth_set_sms_region_policy | auth | Используйте для установки региональной политики SMS для Firebase Authentication, чтобы ограничить регионы, которые могут получать текстовые сообщения, на основе списка ALLOW или DENY кодов стран. Эта политика при установке переопределит все существующие политики. |
| firebase_login | core | Используйте для входа пользователя в Firebase CLI и Firebase MCP сервер. Требуется аккаунт Google, вход необходим для создания и работы с проектами Firebase. |
| firebase_logout | core | Используйте для выхода пользователя из Firebase CLI и Firebase MCP сервера. |
| firebase_validate_security_rules | core | Используйте для проверки правил безопасности Firebase для Firestore, Storage или Realtime Database на наличие синтаксических ошибок и ошибок валидации. |
| firebase_get_project | core | Используйте для получения информации о текущем активном проекте Firebase. |
| firebase_list_apps | core | Используйте для получения списка приложений Firebase, зарегистрированных в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или Web. |
| firebase_list_projects | core | Используйте для получения списка проектов Firebase, к которым у вошедшего пользователя есть доступ. |
| firebase_get_sdk_config | core | Используйте для получения конфигурационной информации Firebase для приложения Firebase. Необходимо указать ЛИБО платформу, ЛИБО идентификатор приложения Firebase, зарегистрированного в текущем активном проекте Firebase. |
| firebase_create_project | core | Используйте для создания нового проекта Firebase. |
| firebase_create_app | core | Используйте для создания нового приложения Firebase в текущем активном проекте Firebase. Приложения Firebase могут быть для iOS, Android или Web. |
| firebase_create_android_sha | core | Используйте для добавления указанного хеша SHA-сертификата в указанное Android-приложение Firebase. |
| firebase_get_environment | core | Используйте для получения текущей конфигурации окружения Firebase для Firebase CLI и Firebase MCP сервера, включая текущего аутентифицированного пользователя, директорию проекта, активный проект Firebase и многое другое. Все инструменты требуют аутентификации пользователя, но не вся информация требуется для всех инструментов. Обратите внимание на требования инструментов к тому, какие именно данные необходимы. |
| firebase_update_environment | core | Используйте для обновления конфигурации окружения Firebase CLI и Firebase MCP сервера, такой как директория проекта, активный проект, активная учетная запись пользователя, принятие условий обслуживания и многое другое. Используйте firebase_get_environment для просмотра текущей конфигурации окружения. |
| firebase_init | core | Используйте для инициализации выбранных сервисов Firebase в рабочем пространстве (база данных Cloud Firestore, Firebase SQL Connect, Firebase Realtime Database, Firebase AI Logic). Все сервисы опциональны; укажите только те продукты, которые хотите настроить. Вы можете инициализировать новые функции в существующей директории проекта, но повторная инициализация существующей функции может перезаписать конфигурацию. Для развертывания инициализированных функций выполните команду firebase deploy после инструмента firebase_init. |
| firebase_get_security_rules | core | Используйте для получения правил безопасности для указанного сервиса Firebase. Если в продукте существует несколько экземпляров этого сервиса, возвращаются правила для экземпляра по умолчанию. |
| firebase_read_resources | core | Используйте для чтения содержимого ресурсов firebase:// или вывода списка доступных ресурсов |
| crashlytics_create_note | crashlytics | Добавление заметки к проблеме из Crashlytics. |
| crashlytics_delete_note | crashlytics | Удаление заметки из проблемы Crashlytics. |
| crashlytics_get_issue | crashlytics | Получает данные о проблеме Crashlytics, которые можно использовать в качестве отправной точки для отладки. |
| crashlytics_list_events | crashlytics | Используйте для вывода списка последних событий, соответствующих заданным фильтрам. Может использоваться для получения образцов сбоев и исключений для проблемы, которые будут включать трассировку стека и другие данные, полезные для отладки. |
| crashlytics_batch_get_events | crashlytics | Получает конкретные события по имени ресурса. Может использоваться для получения образцов сбоев и исключений для проблемы, которые будут включать трассировку стека и другие данные, полезные для отладки. |
| crashlytics_list_notes | crashlytics | Используйте для вывода списка всех заметок для проблемы в Crashlytics. |
| crashlytics_get_report | crashlytics | Используйте для запроса числовых отчётов из Crashlytics. Результат агрегирует сумму событий и затронутых пользователей, сгруппированных по измерению, подходящему для этого отчёта. Агенты должны прочитать Руководство по отчётам Firebase Crashlytics с помощью инструмента firebase_read_resources перед вызовом, чтобы понять критические предварительные требования для запроса отчётов и способы интерпретации результатов. |
| crashlytics_update_issue | crashlytics | Используйте для обновления состояния проблемы Crashlytics. |
| realtimedatabase_get_data | realtimedatabase | Используйте для получения данных из указанного расположения в Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Используйте для записи данных в указанное расположение в Firebase Realtime Database. |
| dataconnect_build | dataconnect | Используйте для компиляции схемы, операций и/или коннекторов Firebase SQL Connect и проверки ошибок сборки. |
| dataconnect_list_services | dataconnect | Используйте для вывода списка существующих локальных и серверных сервисов Firebase SQL Connect |
| dataconnect_execute | dataconnect | Используйте для выполнения операции GraphQL в сервисе SQL Connect или его эмуляторе. |
| firestore_delete_document | firestore | Используйте для удаления документов Firestore из базы данных в текущем проекте по полным путям документов. Используйте, если знаете точный путь к документу. |
| firestore_get_documents | firestore | Используйте для получения одного или нескольких документов Firestore из базы данных в текущем проекте по полным путям документов. Используйте, если знаете точный путь к документу. |
| firestore_list_collections | firestore | Используйте для получения списка коллекций из базы данных Firestore в текущем проекте. |
| firestore_query_collection | firestore | Используйте для получения одного или нескольких документов Firestore из коллекции в базе данных текущего проекта по коллекции с полным путём документа. Используйте, если знаете точный путь к коллекции и условие фильтрации, которое хотите применить к документу. |
| functions_get_logs | functions | Используйте для получения страницы записей журнала Cloud Functions с помощью расширенных фильтров Google Cloud Logging. |
| functions_list_functions | functions | Выводит список всех развёрнутых функций в вашем проекте Firebase. |
| messaging_send_message | messaging | Используйте для отправки сообщения на регистрационный токен или тему Firebase Cloud Messaging. В одном вызове можно указать ТОЛЬКО ОДИН из registration_token или topic. |
| remoteconfig_get_template | remoteconfig | Используйте для получения указанного шаблона Firebase Remote Config из текущего активного проекта Firebase. |
| remoteconfig_update_template | remoteconfig | Используйте для публикации нового шаблона Remote Config или отката к определенной версии для проекта. |
| storage_get_object_download_url | storage | Используйте для получения URL-адреса для скачивания объекта в бакете Cloud Storage for Firebase. |
| --------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| firebase:deploy | core | Используйте эту команду для развертывания ресурсов в Firebase. Аргументы: <prompt> (необязательно): любые конкретные инструкции по развертыванию, которые вы хотите предоставить |
| firebase:init | core | Используйте эту команду для настройки сервисов Firebase, таких как бэкенд и функции ИИ. |
| firestore:generate_security_rules | firestore | Сгенерируйте безопасные правила безопасности Firestore и соответствующие модульные тесты для вашего проекта. |
| storage:generate_security_rules | storage | Сгенерируйте безопасные правила безопасности Storage и соответствующие модульные тесты для вашего проекта. |
| crashlytics:connect | crashlytics | Используйте эту команду для доступа к данным 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 |