Firebase MCP
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 (рекомендуется)
{
"firebase-mcp": {
"command": "npx",
"args": [
"-y",
"@gannonh/firebase-mcp"
],
"env": {
"SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.json",
"FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app"
}
}
}Настроить для локальной установки
{
"firebase-mcp": {
"command": "node",
"args": [
"/absolute/path/to/firebase-mcp/dist/index.js"
],
"env": {
"SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.json",
"FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app"
}
}
}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 или адресу электронной почты |
|
💻 Руководство разработчика
Монтаж и строительство
git clone https://github.com/gannonh/firebase-mcp
cd firebase-mcp
npm install
npm run buildПроведение тестов
Сначала установите и запустите эмуляторы Firebase:
npm install -g firebase-tools
firebase init emulators
firebase emulators:startЗатем проведите тесты:
# Run tests with emulator
npm run test:emulator
# Run tests with coverage
npm run test:coverage:emulatorСтруктура проекта
src/
├── index.ts # Server entry point
├── utils/ # Utility functions
└── lib/
└── firebase/ # Firebase service clients
├── authClient.ts # Authentication operations
├── firebaseConfig.ts # Firebase configuration
├── firestoreClient.ts # Firestore operations
└── storageClient.ts # Storage operations🌐 HTTP-транспорт
Firebase MCP теперь поддерживает HTTP-транспорт в дополнение к stdio-транспорту по умолчанию. Это позволяет запускать сервер как автономную HTTP-службу, к которой могут обращаться несколько клиентов.
Работает с HTTP-транспортом
Чтобы запустить сервер с HTTP-транспортом:
# Using environment variables
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 node dist/index.js
# Or with npx
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 npx @gannonh/firebase-mcpКонфигурация клиента для HTTP
При использовании HTTP-транспорта настройте клиент MCP для подключения к конечной точке HTTP:
{
"firebase-mcp": {
"url": "http://localhost:3000/mcp"
}
}Управление сеансом
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, поскольку наше расследование подтвердило, что в ответе нет булевых значений. Несмотря на сообщение об ошибке, запрос по-прежнему работает правильно и возвращает правильные данные коллекции. Это ошибка уровня журнала, которая не влияет на функциональность.
Отладка
Включить ведение журнала файлов
Для диагностики проблем вы можете включить ведение журнала файлов:
# Log to default location (~/.firebase-mcp/debug.log)
DEBUG_LOG_FILE=true npx @gannonh/firebase-mcp
# Log to a custom location
DEBUG_LOG_FILE=/path/to/custom/debug.log npx @gannonh/firebase-mcpВы также можете включить ведение журнала в конфигурации клиента MCP:
{
"firebase-mcp": {
"command": "npx",
"args": ["-y", "@gannonh/firebase-mcp"],
"env": {
"SERVICE_ACCOUNT_KEY_PATH": "/path/to/serviceAccountKey.json",
"FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app",
"DEBUG_LOG_FILE": "true"
}
}
}Просмотр журнала в реальном времени
Для просмотра журналов в режиме реального времени:
# Using tail to follow the log file
tail -f ~/.firebase-mcp/debug.log
# Using a split terminal to capture stderr
npm start 2>&1 | tee logs.txtИспользование MCP-инспектора
MCP Inspector обеспечивает интерактивную отладку:
# Install MCP Inspector
npm install -g @mcp/inspector
# Connect to your MCP server
mcp-inspector --connect stdio --command "node ./dist/index.js"📋 Форматирование ответа
Пример ответа на загрузку хранилища
{
"name": "reports/quarterly.pdf",
"size": "1024000",
"contentType": "application/pdf",
"updated": "2025-04-11T15:37:10.290Z",
"downloadUrl": "https://storage.googleapis.com/bucket/reports/quarterly.pdf?alt=media",
"bucket": "your-project.appspot.com"
}Отображается пользователю как:
## File Successfully Uploaded! 📁
Your file has been uploaded to Firebase Storage:
**File Details:**
- **Name:** reports/quarterly.pdf
- **Size:** 1024000 bytes
- **Type:** application/pdf
- **Last Updated:** April 11, 2025 at 15:37:10 UTC
**[Click here to download your file](https://storage.googleapis.com/bucket/reports/quarterly.pdf?alt=media)**🤝 Вклад
Форк репозитория
Создать ветку функций
Внедрение изменений с помощью тестов (требуется покрытие 80%+)
Отправить запрос на извлечение
📄 Лицензия
Лицензия MIT — подробности см. в файле LICENSE
🔗 Связанные ресурсы
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for Appcircle mobile CI/CD platform.
The Fireflies MCP Server enables AI tools to connect directly to meeting data from Fireflies.ai, providing access to meeting transcripts, summaries, action items, and insights without switching platforms. It includes capabilities for querying cross-meeting data for analysis (such as sales insights or product feedback), and a separate Documentation MCP Server that allows searching the Fireflies knowledge base for API references, guides, and code examples.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Related MCP Servers
- AlicenseAqualityDmaintenanceA server providing a unified interface to interact with Firebase services, including Authentication, Firestore, and Storage.974 npm10MIT
- FlicenseNot gradedqualityDmaintenanceAn 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.-
- FlicenseNot gradedqualityDmaintenanceAn MCP Server providing access to Google's Firebase API, allowing natural language interaction with Firebase services and resources.-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides a conversational interface to Firebase Rules API, allowing users to manage and deploy rules that determine data access in Firebase services.-