Сервер Firebase MCP

Вы можете использовать сервер Firebase MCP , чтобы предоставить инструментам разработки на базе ИИ возможность работать с вашими проектами Firebase. Сервер Firebase MCP работает с любым инструментом, который может выступать в роли клиента MCP, включая Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor и другие.

Редактор, настроенный на использование сервера 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

Это лишь частичные списки; полный список инструментов, доступных вашему редактору, смотрите в разделе « Возможности сервера» .

При вызовах инструментов сервер Firebase MCP использует те же учётные данные пользователя, которые используются для авторизации Firebase CLI в среде, где он запущен. Это могут быть данные вошедшего в систему пользователя или учётные данные приложения по умолчанию , в зависимости от среды.

Прежде чем начать

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

Настройте свой MCP-клиент

Сервер Firebase MCP может работать с любым клиентом MCP, поддерживающим стандартный ввод-вывод (stdio) в качестве транспортной среды. Ниже приведены инструкции для некоторых популярных инструментов:

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

Студия Firebase

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

Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:

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

Gemini CLI и Gemini Code Assist

Чтобы настроить Gemini CLI или Gemini Code Assist для использования сервера Firebase MCP, отредактируйте или создайте файл(ы) конфигурации:

  • В вашем проекте: .gemini/settings.json
  • В вашем домашнем каталоге: ~/.gemini/settings.json

Если файл ещё не существует, создайте его, щёлкнув правой кнопкой мыши родительский каталог и выбрав «Новый файл» . Добавьте в файл следующее содержимое:

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

Клод Десктоп

Чтобы настроить Claude Desktop для использования сервера Firebase MCP, отредактируйте файл claude_desktop_config.json . Вы можете открыть или создать этот файл в меню Claude > Настройки . Выберите вкладку «Разработчик» и нажмите «Изменить конфигурацию» .

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

Клод Код

Чтобы настроить Claude Code для использования сервера Firebase MCP, выполните следующую команду в папке вашего приложения:

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

Проверить установку можно, выполнив:

claude mcp list

Должно быть показано:

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

Клайн

Чтобы настроить Cline для использования сервера Firebase MCP, отредактируйте файл cline_mcp_settings.json . Вы можете открыть или создать этот файл, щёлкнув значок «Серверы MCP» в верхней части панели Cline, а затем нажав кнопку « Настроить серверы MCP» .

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

Курсор

Чтобы настроить Cursor для использования сервера Firebase MCP, отредактируйте либо файл .cursor/mcp.json (чтобы настроить только определенный проект), либо файл ~/.cursor/mcp.json (чтобы сделать сервер MCP доступным во всех проектах):

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

Visual Studio Code Copilot

Чтобы настроить отдельный проект, отредактируйте файл .vscode/mcp.json в рабочей области:

"servers": {
  "firebase": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
  }
}

Чтобы сделать сервер доступным в каждом открываемом проекте, измените настройки пользователя :

"mcp": {
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
    }
  }
}

Редактор виндсерфинга

Чтобы настроить Windsurf Editor, отредактируйте файл ~/.codeium/windsurf/mcp_config.json :

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental: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", "experimental:mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

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

В следующей таблице перечислены инструменты, доступные на сервере MCP. Вы также можете просмотреть эту информацию, выполнив команду:

npx firebase-tools@latest experimental:mcp --generate-tool-list
Название инструмента Группа функций Описание
firebase_login основной Регистрирует пользователя в Firebase CLI и на сервере MCP.
firebase_logout основной Выйдите из CLI в Firebase
firebase_get_project основной Извлекает информацию о текущем активном проекте Firebase.
firebase_list_apps основной Извлекает приложения, зарегистрированные в текущем проекте Firebase.
firebase_get_admin_sdk_config основной Получает конфигурацию Admin SDK для текущего проекта.
firebase_list_projects основной Извлекает список проектов Firebase до указанного общего количества.
firebase_get_sdk_config основной Получает информацию о конфигурации Firebase SDK для указанной платформы. Необходимо указать либо платформу, либо app_id.
firebase_create_project основной Создает новый проект Firebase.
firebase_create_app основной Создает новое приложение в вашем проекте Firebase для Web, iOS или Android.
firebase_create_android_sha основной Добавляет хэш сертификата SHA к существующему приложению Android.
firebase_consult_assistant основной Воспользуйтесь помощью ИИ-помощника, специализирующегося на всех аспектах Firebase . Используйте этот инструмент, чтобы получить подробную информацию , рекомендации , инструкции по устранению неполадок , примеры кода и контекстную справку по сервисам, функциям и конфигурации проекта Firebase. Сюда входят вопросы о Firestore, аутентификации, облачных функциях, хостинге, хранилище, аналитике и многом другом. Он также может предоставить информацию, основанную на текущем контексте проекта Firebase .
firebase_get_environment основной Извлекает информацию о текущей среде Firebase, включая текущего аутентифицированного пользователя, каталог проекта, активный проект и многое другое.
firebase_update_environment основной Обновляет конфигурацию среды Firebase, такую ​​как каталог проекта, активный проект, активная учётная запись пользователя и т. д. Используйте firebase_get_environment для просмотра текущей настроенной среды.
firebase_init основной Инициализирует выбранные функции Firebase в рабочей области (Firestore, Data Connect, Realtime Database). Все функции необязательны; укажите только те продукты, которые вы хотите настроить. Вы можете инициализировать новые функции в существующем каталоге проекта, но повторная инициализация существующей функции может перезаписать конфигурацию. Чтобы развернуть инициализированные функции, выполните команду firebase deploy после инструмента firebase_init .
firestore_delete_document пожарный склад Удаляет документы Firestore из базы данных текущего проекта по полному пути к документам. Используйте этот метод, если вам известен точный путь к документу.
firestore_get_documents пожарный склад Извлекает один или несколько документов Firestore из базы данных текущего проекта по полным путям к документам. Используйте этот метод, если вам известен точный путь к документу.
firestore_list_collections пожарный склад Извлекает список коллекций из базы данных Firestore в текущем проекте.
firestore_query_collection пожарный склад Извлекает один или несколько документов Firestore из коллекции, которая находится в базе данных текущего проекта, по коллекции с полным путём к документу. Используйте этот метод, если вам известен точный путь к коллекции и нужный параметр фильтрации для документа.
firestore_get_rules пожарный склад Извлекает активные правила безопасности Firestore для текущего проекта.
firestore_validate_rules пожарный склад Проверяет предоставленный исходный код правил Firestore на наличие синтаксических ошибок и ошибок валидации. Укажите ЛИБО исходный код для проверки, ЛИБО путь к исходному файлу.
auth_get_user аутентификация Находит пользователя по адресу электронной почты, номеру телефона или UID.
auth_disable_user аутентификация Отключает или включает пользователя на основе UID.
auth_list_users аутентификация Извлекает всех пользователей в проекте до указанного лимита.
auth_set_claim аутентификация Устанавливает пользовательское утверждение для учётной записи конкретного пользователя. Используется для создания доверенных значений, связанных с пользователем, например, для обозначения его как администратора. Утверждения ограничены по размеру и должны иметь краткое имя и значение. Укажите ТОЛЬКО ОДИН ИЗ параметров value или json_value .
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_rules хранилище Извлекает активные правила безопасности хранилища для текущего проекта.
правила_проверки_хранения хранилище Проверяет предоставленный источник правил хранения на наличие синтаксических ошибок и ошибок валидации. Укажите ЛИБО исходный код для проверки, ЛИБО путь к исходному файлу.
storage_get_object_download_url хранилище Извлекает URL-адрес для загрузки объекта в Firebase Storage.
отправка_сообщений обмен сообщениями Отправляет сообщение на регистрационный токен или тему Firebase Cloud Messaging. В одном вызове можно указать ТОЛЬКО ОДИН из registration_token или topic .
remoteconfig_get_template удаленная конфигурация Извлекает шаблон удаленной конфигурации для проекта.
remoteconfig_publish_template удаленная конфигурация Публикует новый шаблон удаленной конфигурации для проекта.
remoteconfig_rollback_template удаленная конфигурация Откат к определенной версии шаблона Remote Config для проекта
crashlytics_add_note крашлитики Добавить заметку к проблеме из Crashlytics.
crashlytics_delete_note крашлитики Удалить заметку из задачи в Crashlytics.
crashlytics_get_issue_details крашлитики Получает подробную информацию о конкретной проблеме Crashlytics.
crashlytics_get_sample_crash_for_issue крашлитики Получает пример сбоя для проблемы.
crashlytics_list_notes крашлитики Перечислите все заметки по проблеме в Crashlytics.
crashlytics_list_top_devices крашлитики Перечислите лучшие устройства из Crashlytics для приложения.
crashlytics_list_top_issues крашлитики Перечислите основные сбои по данным crashlytics, происходящие в приложении.
crashlytics_list_top_operating_systems крашлитики Перечислите лучшие операционные системы из Crashlytics для приложения.
crashlytics_list_top_versions крашлитики Перечислите лучшие версии из Crashlytics для приложения.
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 .
database_get_data база данных Возвращает данные RTDB из указанного места
database_set_data база данных Записывает данные RTDB в указанное место
database_get_rules база данных Получить правила базы данных RTDB
database_validate_rules база данных Проверяет правила базы данных RTDB