Servidor MCP do Firebase

Você pode usar o servidor MCP do Firebase para dar às ferramentas de desenvolvimento com tecnologia de IA a capacidade de trabalhar com seus projetos do Firebase e o codebase do app.

O servidor MCP do Firebase funciona com qualquer ferramenta que possa atuar como cliente MCP, incluindo: Firebase Studio, CLI do Gemini e Gemini Code Assist, Claude Code e Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf e muito mais!

Ir para as instruções de configuração

Benefícios do servidor MCP

Um editor configurado para usar o servidor MCP do Firebase pode utilizar os recursos de IA para ajudar a:

  • Criar e gerenciar projetos do Firebase
  • Gerenciar seus usuários do Firebase Authentication.
  • Trabalhar com dados no Cloud Firestore e no Firebase Data Connect
  • Recuperar esquemas do Firebase Data Connect
  • Entender as regras de segurança do Firestore e do Cloud Storage para Firebase
  • Enviar mensagens com o Firebase Cloud Messaging

Algumas das ferramentas usam o Gemini no Firebase para ajudar você a:

  • Gerar esquema e operações do Firebase Data Connect
  • Consultar o Gemini sobre produtos do Firebase

Estas são apenas listas parciais. Consulte a seção de recursos do servidor para obter uma lista completa das ferramentas disponíveis para o editor.

Configure seu cliente MCP

O servidor MCP do Firebase pode trabalhar com qualquer cliente MCP que ofereça suporte à E/S padrão (stdio) como meio de transporte.

Quando o servidor MCP do Firebase faz chamadas de função, ele usa as mesmas credenciais de usuário que autorizam a CLI do Firebase no ambiente em que ela está sendo executada. Pode ser um usuário conectado ou credenciais padrão do aplicativo, dependendo do ambiente.

Antes de começar

Verifique se você tem uma instalação funcional do Node.js e do npm.

Configuração básica

Confira as instruções básicas de configuração para usar o servidor MCP do Firebase com algumas ferramentas de assistência de IA conhecidas:

Firebase Studio

Para configurar o Firebase Studio para usar o servidor MCP do Firebase, edite ou crie os arquivos de configuração: .idx/mcp.json

Se o arquivo ainda não existir, crie-o clicando com o botão direito do mouse no diretório principal e selecionando Novo arquivo. Adicione o seguinte conteúdo ao arquivo:

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

CLI do Gemini

A maneira recomendada de configurar a CLI do Gemini para usar o servidor MCP do Firebase é instalar a extensão do Firebase para a CLI do Gemini:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

A instalação da extensão do Firebase configura automaticamente o servidor do MCP do Firebase e também vem com um arquivo de contexto que pode melhorar o desempenho do desenvolvimento de apps do Firebase com o Gemini.

Como alternativa, você pode configurar a CLI do Gemini para usar o servidor MCP do Firebase (mas não o arquivo de contexto da extensão do Firebase) editando ou criando um dos arquivos de configuração:

  • No seu projeto: .gemini/settings.json
  • No diretório principal: ~/.gemini/settings.json

Se o arquivo ainda não existir, crie-o clicando com o botão direito do mouse no diretório principal e selecionando Novo arquivo. Adicione o seguinte conteúdo ao arquivo:

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

Gemini Code Assist

A maneira recomendada de configurar o Gemini Code Assist para usar o servidor MCP do Firebase é instalar a extensão do Firebase para a CLI do Gemini:

gemini extensions install https://github.com/gemini-cli-extensions/firebase/

A instalação da extensão do Firebase configura automaticamente o servidor do MCP do Firebase e também vem com um arquivo de contexto que pode melhorar o desempenho do desenvolvimento de apps do Firebase com o Gemini.

Como alternativa, você pode configurar o Gemini Code Assist para usar o servidor MCP do Firebase (mas não o arquivo de contexto da extensão do Firebase) editando ou criando um dos arquivos de configuração:

  • No seu projeto: .gemini/settings.json
  • No diretório principal: ~/.gemini/settings.json

Se o arquivo ainda não existir, crie-o clicando com o botão direito do mouse no diretório principal e selecionando Novo arquivo. Adicione o seguinte conteúdo ao arquivo:

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

Claude

Claude Code

Para configurar o Claude Code para usar o servidor MCP do Firebase, execute o seguinte comando na pasta do app:

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

Para verificar a instalação, execute:

claude mcp list

Ela vai ser:

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

Claude Desktop

Para configurar o Claude Desktop para usar o servidor MCP, do Firebase edite o arquivo claude_desktop_config.json. Você pode abrir ou criar esse arquivo no menu Claude > Configurações. Selecione a guia Desenvolvedor e clique em Editar configuração.

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

Cline

Para configurar o Cline para usar o servidor MCP do Firebase, edite o arquivo cline_mcp_settings.json. Você pode abrir ou criar esse arquivo clicando no ícone Servidores MCP na parte de cima do painel do Cline e depois no botão Configurar servidores MCP.

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

Cursor

Para configurar o Cursor para usar o servidor MCP do Firebase, edite o arquivo .cursor/mcp.json(para configurar apenas um projeto específico) ou o arquivo ~/.cursor/mcp.json (para tornar o servidor MCP disponível em todos os projetos):

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

Copilot no VS Code

Para configurar um único projeto, edite o arquivo .vscode/mcp.json em seu espaço de trabalho:

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

Para tornar o servidor disponível em todos os projetos que abrir, edite as configurações do usuário:

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

Windsurf

Para configurar o Windsurf Editor, edite o arquivo ~/.codeium/windsurf/mcp_config.json:

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

Configuração opcional

Além da configuração básica de cada cliente, mostrada anteriormente, há dois parâmetros opcionais que você pode especificar:

  • --dir ABSOLUTE_DIR_PATH: o caminho absoluto de um diretório que contém firebase.json, para definir um contexto de projeto para o servidor MCP. Se não for especificado, as ferramentas get_project_directory e set_project_directory ficarão disponíveis e o diretório padrão será o diretório de trabalho em que o servidor MCP foi iniciado.

  • --only FEATURE_1,FEATURE_2: uma lista separada por vírgulas de grupos de recursos a serem ativados. Utilize para limitar as ferramentas expostas apenas aos recursos que você está usando ativamente. Observe que as ferramentas principais estão sempre disponíveis

Exemplo:

"firebase": {
  "command": "npx",
  "args": [
    "-y",
    "firebase-tools@latest", "mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

Recursos do servidor MCP

O servidor MCP do Firebase oferece três categorias diferentes de recursos de MCP:

  • Comandos: uma biblioteca de comandos pré-gravados que podem ser executados e são otimizados para desenvolver e executar um app com o Firebase.

  • Ferramentas: um conjunto de ferramentas destinadas ao uso por LLMs que ajudam a trabalhar diretamente com seu projeto do Firebase (com sua aprovação).

  • Recursos: arquivos de documentação destinados ao uso por LLMs para dar mais orientação e contexto para concluir uma tarefa ou meta.

Comandos

O servidor MCP do Firebase vem com uma biblioteca de comandos pré-gravados otimizados para desenvolver e executar um app com o Firebase. É possível executar esses comandos para concluir várias tarefas ou metas comuns.

A tabela a seguir descreve os comandos disponibilizados pelo servidor MCP.

A maioria das ferramentas de desenvolvimento compatíveis com o MCP oferece uma maneira conveniente de executar esses comandos. Por exemplo, a CLI do Gemini disponibiliza esses comandos como comandos de barra:

/firebase:init

Na CLI do Gemini, comece a digitar /firebase: para conferir uma lista de comandos disponíveis.

Nome do comando Grupo de atributos Descrição
firebase:deploy core Use este comando para implantar recursos no Firebase.

Argumentos:
<prompt> (opcional): instruções específicas sobre a implantação
firebase:init core Use esse comando para configurar serviços do Firebase, como recursos de back-end e de IA.
firebase:consult core Use esse comando para consultar o Firebase Assistente com acesso à documentação detalhada e atualizada da plataforma Firebase.

Argumentos:
<prompt>: uma pergunta a ser transmitida ao modelo do Gemini no Firebase
crashlytics:connect crashlytics Acessar os dados do Crashlytics de um aplicativo do Firebase.

Ferramentas

O servidor MCP do Firebase também oferece várias ferramentas destinadas ao uso por LLMs que ajudam a trabalhar diretamente com seu projeto do Firebase (com sua aprovação). Ao contrário dos comandos, você não chama essas ferramentas diretamente. Em vez disso, modelos que suportam a chamada de função (como Gemini, Claude e GPT) podem chamar essas ferramentas automaticamente para realizar tarefas de desenvolvimento quando necessário.

A tabela a seguir descreve as ferramentas disponibilizadas pelo servidor MCP.

Nome da ferramenta Grupo de atributos Descrição
firebase_login core Use isso para fazer login do usuário na CLI do Firebase e no servidor MCP do Firebase. Isso exige uma Conta do Google, e o login é necessário para criar e trabalhar com projetos do Firebase.
firebase_logout core Use isso para desconectar o usuário da CLI do Firebase e do servidor MCP do Firebase.
firebase_validate_security_rules core Use isso para verificar se há erros de sintaxe e validação nas regras de segurança do Firebase para Firestore, Storage ou Realtime Database.
firebase_get_project core Use isso para recuperar informações sobre o projeto do Firebase ativo no momento.
firebase_list_apps core Use isso para recuperar uma lista dos apps do Firebase registrados no projeto do Firebase ativo no momento. Os apps do Firebase podem ser para iOS, Android ou Web.
firebase_list_projects core Use isso para recuperar uma lista de projetos do Firebase a que o usuário conectado tem acesso.
firebase_get_sdk_config core Use isso para recuperar as informações de configuração de um app do Firebase. É necessário especificar uma plataforma OU o ID do app do Firebase registrado no projeto do Firebase ativo no momento.
firebase_create_project core Use isso para criar um novo projeto do Firebase.
firebase_create_app core Use isso para criar um novo app do Firebase no projeto ativo. Os apps do Firebase podem ser para iOS, Android ou Web.
firebase_create_android_sha core Use isso para adicionar o hash de certificado SHA especificado ao app do Firebase para Android especificado.
firebase_get_environment core Use isso para recuperar a configuração do ambiente atual do Firebase para a Firebase CLI e o servidor MCP do Firebase, incluindo o usuário autenticado atual, o diretório do projeto, o projeto ativo do Firebase e muito mais.
firebase_update_environment core Use isso para atualizar a configuração do ambiente da CLI do Firebase e do servidor MCP do Firebase, como diretório do projeto, projeto ativo, conta de usuário ativa, aceitação dos Termos de Serviço e muito mais. Use firebase_get_environment para ver o ambiente configurado no momento.
firebase_init core Use isso para inicializar os serviços do Firebase selecionados no espaço de trabalho (banco de dados do Cloud Firestore, Firebase Data Connect, Firebase Realtime Database, Firebase AI Logic). Todos os serviços são opcionais. Especifique apenas os produtos que você quer configurar. É possível inicializar novos recursos em um diretório de projeto, mas reinicializar um recurso pode substituir 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 isso para recuperar as regras de segurança de um serviço especificado do Firebase. Se houver várias instâncias desse serviço no produto, as regras da instância padrão serão retornadas.
firebase_read_resources core Use isso para ler o conteúdo dos recursos firebase:// ou listar os recursos disponíveis.
firestore_delete_document firestore Use isso para excluir documentos do Firestore de um banco de dados no projeto atual por caminhos de documentos completos. Use essa opção se você souber o caminho exato de um documento.
firestore_get_documents firestore Use isso para recuperar um ou mais documentos do Firestore de um banco de dados no projeto atual por caminhos de documentos completos. Use essa opção se você souber o caminho exato de um documento.
firestore_list_collections firestore Use isso para recuperar uma lista de coleções de um banco de dados do Firestore no projeto atual.
firestore_query_collection firestore Use isso para recuperar um ou mais documentos do Firestore de uma coleção que é um banco de dados no projeto atual por uma coleção com um caminho de documento completo. Use se você souber o caminho exato de uma coleção e a cláusula de filtragem que quer para o documento.
auth_get_users auth Use isso para recuperar um ou mais usuários do Firebase Auth com base em uma lista de UIDs ou e-mails.
auth_update_user auth Use isso para desativar, ativar ou definir uma declaração personalizada na conta de um usuário específico.
auth_set_sms_region_policy auth Use isso para definir uma política de região de SMS para o Firebase Authentication e restringir as regiões que podem receber mensagens de texto com base em uma lista de códigos de país PERMITIR ou NEGAR. Essa política vai substituir todas as políticas atuais quando definida.
dataconnect_build dataconnect Use isso para compilar o esquema, as operações e/ou os conectores do Firebase Data Connect e verificar erros de build.
dataconnect_generate_schema dataconnect Use isso para gerar um esquema do Firebase Data Connect com base na descrição de um app feita pelo usuário.
dataconnect_generate_operation dataconnect Use isso para gerar uma única consulta ou mutação do Firebase Data Connect com base no esquema implantado e no comando fornecido.
dataconnect_list_services dataconnect Use isso para listar os serviços locais e de back-end do Firebase Data Connect
dataconnect_execute dataconnect Use isso para executar uma operação GraphQL em um serviço do Data Connect ou no emulador dele.
storage_get_object_download_url armazenamento Use isso para recuperar o URL de download de um objeto em um bucket do Cloud Storage para Firebase.
messaging_send_message mensagens Use isso para enviar uma mensagem a um token ou tópico de registro do Firebase Cloud Messaging. SOMENTE UM de registration_token ou topic pode ser fornecido em uma chamada específica.
functions_get_logs funções Use isso para recuperar uma página de entradas de registro do Cloud Functions usando filtros avançados do Google Cloud Logging.
remoteconfig_get_template remoteconfig Use isso para recuperar o modelo especificado da Configuração remota do Firebase no projeto do Firebase ativo no momento.
remoteconfig_update_template remoteconfig Use para publicar um novo modelo de configuração remota ou reverter para uma versão específica do projeto
crashlytics_create_note crashlytics Adicione uma nota a um problema do Crashlytics.
crashlytics_delete_note crashlytics Exclui uma observação de um problema do Crashlytics.
crashlytics_get_issue crashlytics Recebe dados de um problema do Crashlytics, que podem ser usados como ponto de partida para depuração.
crashlytics_list_events crashlytics Use isso para listar os eventos mais recentes que correspondem aos filtros especificados.
Pode ser usado para buscar exemplos de falhas e exceções de um problema,
incluindo rastreamentos de pilha e outros dados úteis para depuração.
crashlytics_batch_get_events crashlytics Recebe eventos específicos pelo nome do recurso.
Pode ser usado para buscar exemplos de falhas e exceções de um problema,
incluindo rastreamentos de pilha e outros dados úteis para depuração.
crashlytics_list_notes crashlytics Use isso para listar todas as observações de um problema no Crashlytics.
crashlytics_get_top_issues crashlytics Use isso para contar eventos e usuários afetados distintos, agrupados por problema.
Os grupos são classificados por contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
crashlytics_get_top_variants crashlytics Conta eventos e usuários afetados distintos, agrupados por variante do problema.
Os grupos são classificados por contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
crashlytics_get_top_versions crashlytics Conta eventos e usuários afetados distintos, agrupados por versão.
Os grupos são classificados por contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
crashlytics_get_top_apple_devices crashlytics Conta eventos e usuários afetados distintos, agrupados por dispositivo da Apple.
Os grupos são classificados por contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
Relevante apenas para aplicativos iOS, iPadOS e macOS.
crashlytics_get_top_android_devices crashlytics Conta eventos e usuários afetados distintos, agrupados por dispositivo Android.
Os grupos são classificados por contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
Relevante apenas para aplicativos Android.
crashlytics_get_top_operating_systems crashlytics Conta eventos e usuários distintos afetados, agrupados por sistema operacional.
Os grupos são classificados por contagem de eventos, em ordem decrescente.
Conta apenas eventos que correspondem aos filtros especificados.
crashlytics_update_issue crashlytics Use isso para atualizar o estado do problema do Crashlytics.
apphosting_fetch_logs apphosting Use isso para buscar os registros mais recentes de um back-end do App Hosting especificado. Se buildLogs for especificado, os registros do processo de build do build mais recente serão retornados. Os registros mais recentes são listados primeiro.
apphosting_list_backends apphosting Use isso para recuperar uma lista de back-ends do App Hosting no projeto atual. Uma lista vazia significa que não há back-ends. O uri é o URL público do back-end. Um back-end em funcionamento terá uma matriz managed_resources que conterá uma entrada run_service. run_service.service é o nome do recurso do serviço do Cloud Run que veicula o back-end do App Hosting. O último segmento desse nome é o ID do serviço. domains é a lista de domínios associados ao back-end. Eles têm o tipo CUSTOM ou DEFAULT. Cada back-end precisa ter um domínio DEFAULT. O domínio real que um usuário usaria para se conectar ao back-end é o último parâmetro do nome do recurso de domínio. Se um domínio personalizado estiver configurado corretamente, os status dele vão terminar em ACTIVE.
realtimedatabase_get_data realtimedatabase Use isso para recuperar dados do local especificado em um Firebase Realtime Database.
realtimedatabase_set_data realtimedatabase Use isso para gravar dados no local especificado em um Firebase Realtime Database.

Recursos

O servidor MCP fornece recursos, que são arquivos de documentação destinados ao uso por LLMs. Os modelos que oferecem suporte ao uso de recursos incluem automaticamente os recursos relevantes no contexto da sessão.

A tabela a seguir descreve os recursos disponibilizados pelo servidor MCP.

Nome do recurso Descrição
backend_init_guide Guia de inicialização do back-end do Firebase: orienta o agente de programação na configuração dos serviços de back-end do Firebase no projeto atual.
ai_init_guide Guia de inicialização da IA generativa do Firebase: orienta o agente de programação na configuração dos recursos de IA generativa no projeto atual usando o Firebase.
data_connect_init_guide Guia de inicialização do Firebase Data Connect: orienta o agente de programação na configuração do Data Connect para acesso ao PostgreSQL no projeto atual.
firestore_init_guide Guia de inicialização do Firestore: orienta o agente de programação na configuração do Firestore no projeto atual.
firestore_rules_init_guide Guia de inicialização das regras do Firestore: orienta o agente de programação na configuração das regras de segurança do Firestore no projeto.
rtdb_init_guide Guia de inicialização do Firebase Realtime Database: orienta o agente de programação na configuração do Realtime Database no projeto atual.
auth_init_guide Guia de inicialização do Firebase Authentication: orienta o agente de programação na configuração do Firebase Authentication no projeto atual.
hosting_init_guide Guia de implantação do Firebase Hosting: orienta o agente de programação na implantação no Firebase Hosting no projeto atual.
documentos Documentos do Firebase: carrega conteúdo de texto simples da documentação do Firebase.Por exemplo, https://firebase.google.com/docs/functions se torna firebase://docs/functions.