Вы можете использовать сервер Firebase MCP , чтобы предоставить инструментам разработки на основе ИИ возможность работать с вашими проектами Firebase и кодовой базой вашего приложения.
Сервер Firebase MCP работает с любым инструментом, который может выступать в качестве клиента MCP, включая: Antigravity, Gemini CLI и Gemini Code Assist, Firebase Studio, Claude Code и Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf и многое другое!
Перейти к инструкциям по настройке
Преимущества сервера MCP
Редактор, настроенный на использование сервера Firebase MCP, может использовать его возможности искусственного интеллекта, чтобы помочь вам:
- Создание и управление проектами Firebase.
- Управляйте пользователями Firebase Authentication.
- Работайте с данными в Cloud Firestore и Firebase Data Connect.
- Получение схем Firebase Data Connect
- Ознакомьтесь с правилами безопасности для Firestore и Cloud Storage for 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 для работы с некоторыми популярными инструментами искусственного интеллекта:
Антигравитация
Чтобы настроить Antigravity для использования сервера Firebase MCP:
- В Antigravity в панели агентов выберите пункт меню > Серверы MCP .
- Выберите Firebase > Установить .
Это автоматически обновит ваш файл mcp_config.json , который можно просмотреть, нажав «Управление серверами MCP» в верхней части панели «Магазин MCP» > «Просмотреть исходную конфигурацию» , следующим содержимым:
{
"mcpServers": {
"firebase-mcp-server": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Gemini CLI
Рекомендуемый способ настройки Gemini CLI для использования сервера Firebase MCP — это установка расширения Firebase для Gemini CLI :
gemini extensions install https://github.com/gemini-cli-extensions/firebase/Установка расширения Firebase автоматически настраивает сервер Firebase MCP, а также включает в себя файл контекста, который может повысить производительность разработки приложений Firebase в Gemini.
В качестве альтернативы вы можете настроить 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, а также включает в себя файл контекста, который может повысить производительность разработки приложений Firebase в Gemini.
В качестве альтернативы вы можете настроить Gemini Code Assist для использования сервера Firebase MCP (но не файла контекста расширения Firebase), отредактировав или создав один из конфигурационных файлов:
- В вашем проекте:
.gemini/settings.json - В вашей домашней директории:
~/.gemini/settings.json
Если файл еще не существует, создайте его, щелкнув правой кнопкой мыши по родительскому каталогу и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Firebase Studio
Чтобы настроить Firebase Studio для использования сервера Firebase MCP, отредактируйте или создайте конфигурационный файл: .idx/mcp.json .
Если файл еще не существует, создайте его, щелкнув правой кнопкой мыши по родительскому каталогу и выбрав «Новый файл» . Добавьте в файл следующее содержимое:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Клод
Кодекс Клода
Вариант 1 : Установка через плагин (рекомендуется)
Самый простой способ настроить сервер Firebase MCP в Claude Code — установить официальный плагин Firebase:
Добавьте Firebase Marketplace для плагинов Claude:
claude plugin marketplace add firebase/firebase-toolsУстановите плагин Claude для Firebase:
claude plugin install firebase@firebaseПроверьте установку:
claude plugin marketplace list
Вариант 2 : Настройка сервера MCP вручную.
В качестве альтернативы вы можете настроить сервер 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 отредактируйте файл ~/.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:
Prompts : Библиотека готовых сценариев подсказок, которые вы можете запускать; они оптимизированы для разработки и запуска приложений с использованием Firebase.
Инструменты : Набор инструментов, предназначенных для использования студентами магистратуры, которые помогут им напрямую работать с вашим проектом Firebase (с вашего согласия!).
Ресурсы : Документационные файлы, предназначенные для использования магистрами права (LLM) в качестве дополнительных указаний и контекста для выполнения задачи или достижения цели.
Подсказки
Сервер Firebase MCP поставляется с библиотекой предварительно написанных подсказок, оптимизированных для разработки и запуска приложений с использованием Firebase. Вы можете использовать эти подсказки для выполнения различных распространенных задач или целей.
В таблице ниже описаны запросы, которые предоставляет сервер MCP.
Большинство инструментов разработки, поддерживающих MCP, предоставляют удобный способ запуска этих командных строк. Например, Gemini CLI позволяет использовать эти команды в виде слэш-команд:
/firebase:init
В командной строке Gemini начните вводить /firebase: чтобы увидеть список доступных команд.
| Имя подсказки | Группа функций | Описание |
|---|---|---|
| firebase:deploy | основной | Используйте эту команду для развертывания ресурсов в Firebase. Аргументы: <подсказка> (необязательно): любые конкретные инструкции, которые вы хотите предоставить по развертыванию |
| firebase:init | основной | Используйте эту команду для настройки сервисов Firebase, таких как бэкэнд и функции искусственного интеллекта. |
| firebase:consult | основной | Используйте эту команду, чтобы обратиться к Firebase Assistant и получить доступ к подробной и актуальной документации по платформе Firebase. Аргументы: <prompt>: вопрос для передачи модели Gemini в Firebase |
| crashlytics:connect | крашлитики | Получите доступ к данным Crashlytics приложения Firebase. |
Инструменты
Сервер Firebase MCP также предоставляет ряд инструментов, предназначенных для использования студентами магистратуры, которые помогают им напрямую работать с вашим проектом 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, 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, чтобы ограничить регионы, которые могут получать текстовые сообщения, на основе списка кодов стран с пометками «РАЗРЕШЕНО» или «ЗАПРЕЩЕНО». Эта политика переопределит любые существующие политики после ее установки. |
| dataconnect_build | dataconnect | Используйте это для компиляции схемы, операций и/или коннекторов Firebase Data Connect и проверки на наличие ошибок сборки. |
| dataconnect_generate_schema | dataconnect | Используйте это для генерации схемы Firebase Data Connect на основе описания приложения, данного пользователем. |
| dataconnect_generate_operation | dataconnect | Используйте это для генерации единого запроса или мутации Firebase Data Connect на основе текущей развернутой схемы и предоставленной подсказки. |
| dataconnect_list_services | dataconnect | Используйте это для отображения списка существующих локальных и внутренних служб Firebase Data Connect. |
| dataconnect_execute | dataconnect | Используйте это для выполнения операции GraphQL с использованием сервиса Data Connect или его эмулятора. |
| storage_get_object_download_url | хранилище | Используйте это для получения URL-адреса для загрузки объекта из хранилища Cloud Storage for Firebase. |
| отправка_сообщений | обмен сообщениями | Используйте это для отправки сообщения в токен регистрации или тему Firebase Cloud Messaging. В конкретном вызове можно указать ТОЛЬКО ОДИН из параметров: registration_token или topic . |
| functions_get_logs | функции | Используйте это для получения страницы записей журналов Cloud Functions с помощью расширенных фильтров Google Cloud Logging. |
| remoteconfig_get_template | удаленная конфигурация | Используйте это для получения указанного шаблона Firebase Remote Config из текущего активного проекта 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 | хостинг приложений | Используйте эту опцию для получения самых последних логов для указанного бэкэнда хостинга приложений. Если указан параметр buildLogs , возвращаются логи процесса сборки для последней версии приложения. Самые последние логи отображаются первыми. |
| apphosting_list_backends | хостинг приложений | Используйте это для получения списка бэкэндов 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 Database. |
| realtimedatabase_set_data | база данных реального времени | Используйте это для записи данных в указанное место в базе данных Firebase Realtime Database. |
Ресурсы
Сервер 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 Database: помогает программисту настроить базу данных Realtime Database в текущем проекте. |
| auth_init_guide | Руководство по инициализации аутентификации Firebase: помогает программисту настроить аутентификацию Firebase в текущем проекте. |
| hosting_init_guide | Руководство по развертыванию в Firebase Hosting: помогает программисту выполнить развертывание в Firebase Hosting в текущем проекте. |
| документы | Firebase Docs: загружает текстовое содержимое из документации Firebase, например, https://firebase.google.com/docs/functions становится firebase://docs/functions |