Firebase MCP

Обзор
Firebase MCP позволяет помощникам на базе искусственного интеллекта работать напрямую со службами Firebase, включая:
Firestore : Операции с базой данных документов
Хранилище : управление файлами с надежными возможностями загрузки
Аутентификация : управление пользователями и проверка
Сервер работает с клиентскими приложениями MCP, такими как Claude Desktop , Augment Code , VS Code и Cursor .
⚠️ Известная проблема : инструмент
firestore_list_collectionsможет возвращать ошибку проверки Zod в клиентских журналах. Это ошибочная ошибка проверки в MCP SDK, поскольку наше расследование подтвердило, что в ответе нет булевых значений. Несмотря на сообщение об ошибке, запрос по-прежнему работает правильно и возвращает правильные данные коллекции. Это ошибка уровня журнала, которая не влияет на функциональность.
Related MCP server: FireConfigMCP
⚡ Быстрый старт
Предпосылки
Проект Firebase с учетными данными сервисной учетной записи
Среда Node.js
1. Установите MCP-сервер
Добавьте конфигурацию сервера в файл настроек MCP:
Рабочий стол Клода:
~/Library/Application Support/Claude/claude_desktop_config.jsonДополнение:
~/Library/Application Support/Code/User/settings.jsonКурсор:
[project root]/.cursor/mcp.json
MCP-серверы можно устанавливать вручную или во время выполнения через npx (рекомендуется). Способ установки определяет вашу конфигурацию:
Настроить для npx (рекомендуется)
Настроить для локальной установки
2. Проверьте установку
Попросите своего клиента ИИ: «Пожалуйста, протестируйте все инструменты Firebase MCP».
🛠️ Настройка и конфигурирование
1. Конфигурация Firebase
Перейдите в Firebase Console → Настройки проекта → Учетные записи служб.
Нажмите «Сгенерировать новый закрытый ключ».
Сохраните файл JSON в надежном месте
2. Переменные среды
Необходимый
SERVICE_ACCOUNT_KEY_PATH: путь к ключу учетной записи службы Firebase в формате JSON (обязательно)
Необязательный
FIREBASE_STORAGE_BUCKET: Имя контейнера для Firebase Storage (по умолчанию[projectId].appspot.com)MCP_TRANSPORT: тип используемого транспорта (stdioилиhttp) (по умолчаниюstdio)MCP_HTTP_PORT: Порт для HTTP-транспорта (по умолчанию3000)MCP_HTTP_HOST: Хост для HTTP-транспорта (по умолчаниюlocalhost)MCP_HTTP_PATH: Путь для HTTP-транспорта (по умолчанию/mcp)DEBUG_LOG_FILE: Включить ведение журнала файлов:Установите значение
trueдля записи в~/.firebase-mcp/debug.logУкажите путь к файлу для записи журнала в пользовательское местоположение
3. Интеграция клиента
Клод Десктоп
Редактировать: ~/Library/Application Support/Claude/claude_desktop_config.json
VS Code / Дополнение
Редактировать: ~/Library/Application Support/Code/User/settings.json
Курсор
Редактировать: [project root]/.cursor/mcp.json
📚 API-ссылка
Инструменты для пожаротушения
Инструмент | Описание | Требуемые параметры |
| Добавить документ в коллекцию |
|
| Список документов с фильтрацией |
|
| Получить конкретный документ |
,
|
| Обновить существующий документ |
,
,
|
| Удалить документ |
,
|
| Список корневых коллекций | Никто |
| Запрос по подколлекциям |
|
Инструменты для хранения
Инструмент | Описание | Требуемые параметры |
| Список файлов в каталоге | Нет (необязательно:
) |
| Получить метаданные файла и URL |
|
| Загрузить файл из контента |
,
|
| Загрузить файл с URL |
,
|
Инструменты аутентификации
Инструмент | Описание | Требуемые параметры |
| Получить пользователя по ID или адресу электронной почты |
|
💻 Руководство разработчика
Монтаж и строительство
Проведение тестов
Сначала установите и запустите эмуляторы Firebase:
Затем проведите тесты:
Структура проекта
🌐 HTTP-транспорт
Firebase MCP теперь поддерживает HTTP-транспорт в дополнение к stdio-транспорту по умолчанию. Это позволяет запускать сервер как автономную HTTP-службу, к которой могут обращаться несколько клиентов.
Работает с HTTP-транспортом
Чтобы запустить сервер с HTTP-транспортом:
Конфигурация клиента для HTTP
При использовании HTTP-транспорта настройте клиент MCP для подключения к конечной точке HTTP:
Управление сеансом
HTTP-транспорт поддерживает управление сеансами, позволяя нескольким клиентам подключаться к одному и тому же экземпляру сервера. Каждый клиент получает уникальный идентификатор сеанса, который используется для поддержания состояния между запросами.
🔍 Устранение неполадок
Общие проблемы
Контейнер для хранения не найден
Если вы видите ошибку «Указанный контейнер не существует»:
Проверьте имя вашего контейнера в Firebase Console → Storage
Установите правильное имя контейнера в переменной среды
FIREBASE_STORAGE_BUCKET
Инициализация Firebase не удалась
Если вы видите ошибку «Firebase не инициализирован»:
Проверьте правильность и полноту пути к ключу учетной записи службы.
Убедитесь, что учетная запись службы имеет необходимые разрешения для служб Firebase.
Требуется составной индекс
Если вы получили сообщение об ошибке «Для этого запроса требуется составной индекс»:
Найдите указанный URL в сообщении об ошибке.
Перейдите по ссылке, чтобы создать необходимый индекс в Firebase Console.
Повторите запрос после создания индекса (это может занять несколько минут)
Ошибка проверки Zod с firestore_list_collections
Если вы видите ошибку проверки Zod с сообщением «Ожидаемый объект, получено логическое значение» при использовании инструмента firestore_list_collections :
⚠️ Известная проблема : инструмент
firestore_list_collectionsможет возвращать ошибку проверки Zod в клиентских журналах. Это ошибочная ошибка проверки в MCP SDK, поскольку наше расследование подтвердило, что в ответе нет булевых значений. Несмотря на сообщение об ошибке, запрос по-прежнему работает правильно и возвращает правильные данные коллекции. Это ошибка уровня журнала, которая не влияет на функциональность.
Отладка
Включить ведение журнала файлов
Для диагностики проблем вы можете включить ведение журнала файлов:
Вы также можете включить ведение журнала в конфигурации клиента MCP:
Просмотр журнала в реальном времени
Для просмотра журналов в режиме реального времени:
Использование MCP-инспектора
MCP Inspector обеспечивает интерактивную отладку:
📋 Форматирование ответа
Пример ответа на загрузку хранилища
Отображается пользователю как:
🤝 Вклад
Форк репозитория
Создать ветку функций
Внедрение изменений с помощью тестов (требуется покрытие 80%+)
Отправить запрос на извлечение
📄 Лицензия
Лицензия MIT — подробности см. в файле LICENSE