Firebase MCP
Обзор
Firebase MCP позволяет помощникам на базе искусственного интеллекта работать напрямую со службами Firebase, включая:
- Firestore : Операции с базой данных документов
- Хранилище : управление файлами с надежными возможностями загрузки
- Аутентификация : управление пользователями и проверка
Сервер работает с клиентскими приложениями MCP, такими как Claude Desktop , Augment Code , VS Code и Cursor .
⚠️ Известная проблема : инструмент
firestore_list_collections
может возвращать ошибку проверки Zod в клиентских журналах. Это ошибочная ошибка проверки в MCP SDK, поскольку наше расследование подтвердило, что в ответе нет булевых значений. Несмотря на сообщение об ошибке, запрос по-прежнему работает правильно и возвращает правильные данные коллекции. Это ошибка уровня журнала, которая не влияет на функциональность.
⚡ Быстрый старт
Предпосылки
- Проект 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-ссылка
Инструменты для пожаротушения
Инструмент | Описание | Требуемые параметры |
---|---|---|
firestore_add_document | Добавить документ в коллекцию | collection data |
firestore_list_documents | Список документов с фильтрацией | collection |
firestore_get_document | Получить конкретный документ | collection , id |
firestore_update_document | Обновить существующий документ | collection , id , data |
firestore_delete_document | Удалить документ | collection , id |
firestore_list_collections | Список корневых коллекций | Никто |
firestore_query_collection_group | Запрос по подколлекциям | collectionId |
Инструменты для хранения
Инструмент | Описание | Требуемые параметры |
---|---|---|
storage_list_files | Список файлов в каталоге | Нет (необязательно: directoryPath ) |
storage_get_file_info | Получить метаданные файла и URL | filePath |
storage_upload | Загрузить файл из контента | filePath , content |
storage_upload_from_url | Загрузить файл с URL | filePath , url |
Инструменты аутентификации
Инструмент | Описание | Требуемые параметры |
---|---|---|
auth_get_user | Получить пользователя по ID или адресу электронной почты | identifier |
💻 Руководство разработчика
Монтаж и строительство
Проведение тестов
Сначала установите и запустите эмуляторы 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
🔗 Связанные ресурсы
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Сервер Firebase MCP предоставляет стандартизированный интерфейс для взаимодействия со службами Firebase, включая Firebase Authentication, Firestore и Firebase Storage.
- Обзор
- ⚡ Быстрый старт
- 🛠️ Настройка и конфигурирование
- 📚 API-ссылка
- 💻 Руководство разработчика
- 🌐 HTTP-транспорт
- 🔍 Устранение неполадок
- 📋 Форматирование ответа
- 🤝 Вклад
- 📄 Лицензия
- 🔗 Связанные ресурсы
Related Resources
Related MCP Servers
- -securityFlicense-qualityAn MCP server that provides access to Firebase Remote Config, allowing clients to interact with and manage Firebase remote configuration settings through the Model Context Protocol.Last updated -TypeScript
- -securityFlicense-qualityAuto-generated MCP server that enables interaction with the Firebase App Distribution API, allowing users to manage distribution of pre-release app builds to testers through natural language commands.Last updated -Python
- -securityFlicense-qualityAn MCP Server that provides natural language access to Google's Firebase Realtime Database API, enabling database operations and management through conversation.Last updated -Python
- -securityFlicense-qualityAn MCP Server providing access to Google's Firebase API, allowing natural language interaction with Firebase services and resources.Last updated -Python