Firebase MCP Server
oficialVocê pode usar o servidor Firebase MCP para dar a ferramentas de desenvolvimento com inteligência artificial a capacidade de trabalhar com seus projetos Firebase e a base de código do seu aplicativo.
O que você pode fazer com Firebase MCP?
- Criar e gerenciar projetos Firebase — Peça ao assistente para inicializar um novo projeto com
firebase_create_projectou liste projetos e apps existentes. - Gerenciar usuários de Autenticação — Recupere detalhes de usuários com
auth_get_users, atualize claims personalizados ou desabilite contas viaauth_update_user. - Consultar e atualizar o Firestore ou o Realtime Database — Leia, escreva e gerencie documentos usando
firebase_read_resourcese ferramentas relacionadas a banco de dados. - Depurar falhas com o Crashlytics — Busque detalhes de issues, liste eventos de falha recentes e adicione notas usando
crashlytics_get_issueecrashlytics_list_events. - Validar e recuperar regras de segurança — Verifique regras do Firestore, Storage ou Realtime Database em busca de erros com
firebase_validate_security_rules. - Monitorar backends do App Hosting — Liste backends via
apphosting_list_backendse busque logs recentes de build ou runtime comapphosting_fetch_logs.
Documentação
Servidor MCP do Firebase
O Servidor do Protocolo de Contexto de Modelo (MCP) do Firebase oferece às ferramentas de desenvolvimento com IA a capacidade de trabalhar com seus projetos do Firebase e a base de código do seu aplicativo. O servidor MCP do Firebase funciona com qualquer ferramenta que possa atuar como um cliente MCP, incluindo: Firebase Studio, Gemini CLI, Claude Code, Cline, Cursor, VS Code Copilot, Windsurf e muito mais!
Funcionalidades
Um editor configurado para usar o servidor MCP do Firebase pode usar suas capacidades de IA para ajudá-lo a:
- Criar e gerenciar projetos do Firebase - Inicializar novos projetos, listar os existentes e gerenciar apps do Firebase
- Gerenciar usuários do Firebase Authentication - Recuperar, atualizar e gerenciar contas de usuário
- Trabalhar com Cloud Firestore e Firebase SQL Connect - Consultar, ler, escrever e gerenciar documentos do banco de dados
- Recuperar esquemas do Firebase SQL Connect - Gerar esquemas e operações com assistência de IA
- Entender regras de segurança - Validar e recuperar regras de segurança para Firestore, Cloud Storage e Realtime Database
- Enviar mensagens com Firebase Cloud Messaging - Enviar notificações push para dispositivos e tópicos
- Acessar dados do Crashlytics - Depurar problemas, visualizar relatórios de falhas e gerenciar análises de falhas
- Implantar no App Hosting - Monitorar backends e recuperar logs
- Trabalhar com Realtime Database - Ler e escrever dados em tempo real
- Consultar logs do Cloud Functions - Recuperar e analisar logs de execução de funções
- Gerenciar Remote Config - Obter e atualizar modelos de configuração remota
Algumas ferramentas usam o Gemini no Firebase para ajudá-lo a:
- Gerar esquema e operações do Firebase SQL Connect
- Consultar o Gemini sobre produtos do Firebase
Importante: O Gemini no Firebase pode gerar resultados que parecem plausíveis, mas são factualmente incorretos. Ele pode responder com informações imprecisas que não representam as visões do Google. Valide todos os resultados do Gemini antes de usá-los e não use código gerado não testado em produção. Não insira informações de identificação pessoal (PII) ou dados de usuários no chat.
Saiba mais sobre o Gemini no Firebase e como ele usa seus dados.
Instalação e Configuração
Pré-requisitos
Certifique-se de ter uma instalação funcional do Node.js e do npm.
Configuração Básica
O servidor MCP do Firebase pode funcionar com qualquer cliente MCP que suporte E/S padrão (stdio) como meio de transporte. Quando o servidor MCP do Firebase faz chamadas de ferramentas, ele usa as mesmas credenciais de usuário que autorizam a CLI do Firebase no ambiente onde está sendo executado.
Aqui estão as instruções de configuração para ferramentas populares de assistência com IA:
Gemini CLI
Instale a extensão do Firebase para Gemini CLI:
gemini extensions install https://github.com/firebase/agent-skills
Claude Code
Opção 1: Instalar via plugin (Recomendado)
A maneira mais fácil de configurar o servidor MCP do Firebase no Claude Code é instalar o plugin oficial do Firebase:
-
Adicione o marketplace do Firebase para plugins do Claude:
claude plugin marketplace add firebase/firebase-tools -
Instale o plugin do Claude para Firebase:
claude plugin install firebase@firebase -
Verifique a instalação:
claude plugin
Opção 2: Configurar o servidor MCP manualmente
Alternativamente, você pode configurar manualmente o servidor MCP do Firebase executando:
claude mcp add firebase npx -- -y firebase-tools@latest mcp
Você pode verificar a instalação executando:
claude mcp list
Deve mostrar:
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Cursor
Adicione ao .cursorrules no diretório do seu projeto ou configure nas definições do Cursor:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Windsurf
Adicione ao ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Firebase Studio
Para configurar o Firebase Studio para usar o servidor MCP do Firebase, edite ou crie o arquivo de configuração: .idx/mcp.json
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Uso
Uma vez configurado, o servidor MCP fornecerá automaticamente capacidades do Firebase ao seu assistente de IA. Você pode:
- Pedir à IA para ajudar a configurar serviços do Firebase
- Consultar seu banco de dados Firestore
- Gerenciar usuários de autenticação
- Implantar no Firebase Hosting
- Depurar problemas do Crashlytics
- E muito mais!
Para uma lista completa de ferramentas e recursos disponíveis, veja a seção Capacidades do Servidor abaixo.
Documentação
Para mais informações, visite a documentação oficial do servidor MCP do Firebase.
Capacidades do Servidor
O servidor MCP do Firebase fornece três tipos de capacidades: Ferramentas (funções que executam ações), Prompts (modelos de comando reutilizáveis) e Recursos (arquivos de documentação para modelos de IA).
| Nome da Ferramenta | Grupo de Funcionalidades | Descrição |
|---|---|---|
| apphosting_fetch_logs | apphosting | Use para buscar os logs mais recentes de um backend do App Hosting especificado. Se buildLogs for especificado, os logs do processo de build da última compilação serão retornados. Os logs mais recentes são listados primeiro. |
| apphosting_list_backends | apphosting | Use para recuperar uma lista de backends do App Hosting no projeto atual. Uma lista vazia significa que não há backends. O uri é a URL pública do backend. Um backend em funcionamento terá um array managed_resources que conterá uma entrada run_service. Esse run_service.service é o nome do recurso do serviço do Cloud Run que serve o backend do App Hosting. O último segmento desse nome é o ID do serviço. domains é a lista de domínios associados ao backend. Eles têm o tipo CUSTOM ou DEFAULT. Todo backend deve ter um domínio DEFAULT. O domínio real que um usuário usaria para se conectar ao backend é o último parâmetro do nome do recurso de domínio. Se um domínio personalizado estiver configurado corretamente, ele terá status terminados em ACTIVE. |
| auth_get_users | auth | Use para recuperar um ou mais usuários do Firebase Auth com base em uma lista de UIDs ou uma lista de e-mails. |
| auth_update_user | auth | Use para desabilitar, habilitar ou definir uma reivindicação personalizada na conta de um usuário específico. |
| auth_set_sms_region_policy | auth | Use para definir uma política de região de SMS para o Firebase Authentication, a fim de restringir as regiões que podem receber mensagens de texto com base em uma lista ALLOW ou DENY de códigos de país. Essa política substituirá quaisquer políticas existentes quando definida. |
| firebase_login | core | Use para autenticar o usuário na CLI do Firebase e no servidor MCP do Firebase. Isso requer uma Conta do Google, e o login é necessário para criar e trabalhar com Projetos Firebase. |
| firebase_logout | core | Use para desconectar o usuário da CLI do Firebase e do servidor MCP do Firebase. |
| firebase_validate_security_rules | core | Use para verificar as Regras de Segurança do Firebase para Firestore, Storage ou Realtime Database em busca de erros de sintaxe e validação. |
| firebase_get_project | core | Use para recuperar informações sobre o Projeto Firebase atualmente ativo. |
| firebase_list_apps | core | Use para recuperar uma lista dos Apps Firebase registrados no projeto Firebase atualmente ativo. Os Apps Firebase podem ser iOS, Android ou Web. |
| firebase_list_projects | core | Use para recuperar uma lista de Projetos Firebase aos quais o usuário autenticado tem acesso. |
| firebase_get_sdk_config | core | Use para recuperar as informações de configuração do Firebase para um App Firebase. Você deve especificar OU uma plataforma OU o ID do App Firebase para um App Firebase registrado no Projeto Firebase atualmente ativo. |
| firebase_create_project | core | Use para criar um novo Projeto Firebase. |
| firebase_create_app | core | Use para criar um novo App Firebase no Projeto Firebase atualmente ativo. Apps Firebase podem ser iOS, Android ou Web. |
| firebase_create_android_sha | core | Use para adicionar o hash de certificado SHA especificado ao App Firebase Android especificado. |
| firebase_get_environment | core | Use para recuperar a configuração atual do ambiente Firebase para a CLI do Firebase e o servidor MCP do Firebase, incluindo o usuário autenticado atual, diretório do projeto, Projeto Firebase ativo e mais. Todas as ferramentas exigem que o usuário esteja autenticado, mas nem todas as informações são necessárias para todas as ferramentas. Preste atenção aos requisitos das ferramentas para saber quais informações são necessárias. |
| firebase_update_environment | core | Use para atualizar a configuração de ambiente da CLI do Firebase e do servidor MCP do Firebase, como diretório do projeto, projeto ativo, conta de usuário ativa, aceitar termos de serviço e mais. Use firebase_get_environment para ver o ambiente configurado atualmente. |
| firebase_init | core | Use para inicializar serviços Firebase selecionados no espaço de trabalho (banco de dados Cloud Firestore, Firebase SQL Connect, Firebase Realtime Database, Firebase AI Logic). Todos os serviços são opcionais; especifique apenas os produtos que deseja configurar. Você pode inicializar novos recursos em um diretório de projeto existente, mas reinicializar um recurso existente pode sobrescrever a configuração. Para implantar os recursos inicializados, execute o comando firebase deploy após a ferramenta firebase_init. |
| firebase_get_security_rules | core | Use para recuperar as regras de segurança de um serviço Firebase especificado. Se houver múltiplas instâncias desse serviço no produto, as regras da instância padrão serão retornadas. |
| firebase_read_resources | core | Use para ler o conteúdo dos recursos firebase:// ou listar os recursos disponíveis. |
| crashlytics_create_note | crashlytics | Adiciona uma nota a um problema do Crashlytics. |
| crashlytics_delete_note | crashlytics | Exclui uma nota de um problema do Crashlytics. |
| crashlytics_get_issue | crashlytics | Obtém dados de um problema do Crashlytics, que podem ser usados como ponto de partida para depuração. |
| crashlytics_list_events | crashlytics | Use para listar os eventos mais recentes que correspondem aos filtros fornecidos. Pode ser usado para buscar amostras de falhas e exceções de um problema, que incluirão stack traces e outros dados úteis para depuração. |
| crashlytics_batch_get_events | crashlytics | Obtém eventos específicos pelo nome do recurso. Pode ser usado para buscar amostras de falhas e exceções de um problema, que incluirão stack traces e outros dados úteis para depuração. |
| crashlytics_list_notes | crashlytics | Use para listar todas as notas de um problema no Crashlytics. |
| crashlytics_get_report | crashlytics | Use para solicitar relatórios numéricos do Crashlytics. O resultado agrega a soma de eventos e usuários impactados, agrupados por uma dimensão apropriada para esse relatório. Os agentes devem ler o Guia de Relatórios do Firebase Crashlytics usando a ferramenta firebase_read_resources antes de chamar, para entender os pré-requisitos críticos para solicitar relatórios e como interpretar os resultados. |
| crashlytics_update_issue | crashlytics | Use para atualizar o estado de um problema do Crashlytics. |
| realtimedatabase_get_data | realtimedatabase | Use para recuperar dados do local especificado em um Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Use para gravar dados no local especificado em um Firebase Realtime Database. |
| dataconnect_build | dataconnect | Use para compilar esquemas, operações e/ou conectores do Firebase SQL Connect e verificar erros de build. |
| dataconnect_list_services | dataconnect | Use para listar serviços locais e de backend existentes do Firebase SQL Connect. |
| dataconnect_execute | dataconnect | Use para executar uma operação GraphQL em um serviço SQL Connect ou seu emulador. |
| firestore_delete_document | firestore | Use para excluir documentos do Firestore de um banco de dados no projeto atual por caminhos completos de documento. Use se você souber o caminho exato de um documento. |
| firestore_get_documents | firestore | Use para recuperar um ou mais documentos do Firestore de um banco de dados no projeto atual por caminhos completos de documento. Use se você souber o caminho exato de um documento. |
| firestore_list_collections | firestore | Use para recuperar uma lista de coleções de um banco de dados Firestore no projeto atual. |
| firestore_query_collection | firestore | Use para recuperar um ou mais documentos do Firestore de uma coleção em um banco de dados no projeto atual por uma coleção com um caminho completo de documento. Use se você souber o caminho exato de uma coleção e a cláusula de filtro desejada para o documento. |
| functions_get_logs | functions | Use para recuperar uma página de entradas de log do Cloud Functions usando filtros avançados do Google Cloud Logging. |
| functions_list_functions | functions | Lista todas as funções implantadas no seu projeto Firebase. |
| messaging_send_message | messaging | Use para enviar uma mensagem para um token de registro ou tópico do Firebase Cloud Messaging. APENAS UM de registration_token ou topic pode ser fornecido em uma chamada específica. |
| remoteconfig_get_template | remoteconfig | Use esta ferramenta para recuperar o modelo especificado do Firebase Remote Config do projeto Firebase ativo no momento. |
| remoteconfig_update_template | remoteconfig | Use esta ferramenta para publicar um novo modelo de remote config ou reverter para uma versão específica do projeto. |
| storage_get_object_download_url | storage | Use esta ferramenta para recuperar a URL de download de um objeto em um bucket do Cloud Storage para Firebase. |
| -------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| firebase:deploy | core | Use este comando para implantar recursos no Firebase. Argumentos: <prompt> (opcional): quaisquer instruções específicas que desejar fornecer sobre a implantação |
| firebase:init | core | Use este comando para configurar serviços do Firebase, como recursos de backend e IA. |
| firestore:generate_security_rules | firestore | Gere Regras de Segurança do Firebase Firestore e testes unitários correspondentes para o seu projeto. |
| storage:generate_security_rules | storage | Gere Regras de Segurança do Firebase Storage e testes unitários correspondentes para o seu projeto. |
| crashlytics:connect | crashlytics | Use este comando para acessar os dados do Crashlytics de uma aplicação Firebase. |
| Nome do Recurso | Descrição |
|---|---|
| app_id_guide | Guia de ID do App Firebase: orienta o agente de codificação na escolha de um ID de App Firebase no projeto atual |
| crashlytics_investigations_guide | Guia de Investigações do Firebase Crashlytics: orienta o agente de codificação ao investigar bugs relatados em problemas do Crashlytics, incluindo procedimentos para diagnosticar e corrigir falhas. |
| crashlytics_issues_guide | Guia de Problemas do Firebase Crashlytics: orienta o agente de codificação ao trabalhar com problemas do Crashlytics, incluindo regras de priorização e procedimentos para diagnosticar e corrigir falhas. |
| crashlytics_reports_guide | Guia de Relatórios do Firebase Crashlytics: orienta o agente de codificação na solicitação de relatórios do Crashlytics, incluindo a definição de filtros apropriados e como entender as métricas. O agente deve ler este guia antes de solicitar qualquer relatório. |
| backend_init_guide | Guia de Inicialização do Backend Firebase: orienta o agente de codificação na configuração dos serviços de backend do Firebase no projeto atual |
| ai_init_guide | Guia de Inicialização do Firebase GenAI: orienta o agente de codificação na configuração das capacidades de GenAI no projeto atual utilizando o Firebase |
| firestore_init_guide | Guia de Inicialização do Firestore: orienta o agente de codificação na configuração do Firestore no projeto atual |
| firestore_rules_init_guide | Guia de Inicialização de Regras do Firestore: orienta o agente de codificação na configuração das regras de segurança do Firestore no projeto |
| auth_init_guide | Guia de Inicialização do Firebase Authentication: orienta o agente de codificação na configuração do Firebase Authentication no projeto atual |
| hosting_init_guide | Guia de Implantação do Firebase Hosting: orienta o agente de codificação na implantação no Firebase Hosting no projeto atual |
| docs | Documentação do Firebase: carrega conteúdo em texto simples da documentação do Firebase, ex.: https://firebase.google.com/docs/functions torna-se firebase://docs/functions |