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. O servidor MCP do Firebase funciona com qualquer ferramenta que possa atuar como cliente MCP, incluindo Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor e outras.

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

Esta é apenas uma lista parcial; consulte a seção de recursos do servidor para obter uma lista completa das ferramentas disponíveis para o editor.

Antes de começar

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

  2. Autentique a CLI do Firebase executando o seguinte comando:

    npx -y firebase-tools@latest login --reauth

    O servidor MCP do Firebase usa a CLI para lidar com a autenticação nos projetos Firebase. Você deve autenticar com a CLI antes de usar o servidor MCP. Se você tentar usar o servidor sem fazer login ou se o token de autenticação tiver expirado, o servidor mostrará uma mensagem de erro solicitando a reautenticação.

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. Aqui estão as instruções específicas para algumas ferramentas populares:

Configuração básica

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", "experimental: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 superior do painel Cline e clicando no botão Configurar servidores MCP.

{
  "mcpServers": {
    "firebase": {
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental: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", "experimental:mcp"]
   }
}

Visual Studio Code Copilot

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", "experimental: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", "experimental:mcp"]
    }
  }
}

Windsurf Editor

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

"mcpServers": {
  "firebase": {
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental: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

Por exemplo:

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

Recursos do servidor MCP

Nome da ferramenta Grupo de atributos Descrição
firebase_get_project core Recupera informações sobre o projeto do Firebase ativo no momento.
firebase_list_apps core Recupera aplicativos registrados no projeto do Firebase atual.
firebase_get_admin_sdk_config core Obtém a configuração do SDK Admin para o projeto atual.
firebase_list_projects core Recupera uma lista de projetos do Firebase até a contagem total especificada.
firebase_get_sdk_config core Recupera as informações de configuração do SDK do Firebase para a plataforma especificada. É necessário especificar uma plataforma ou um app_id.
firebase_create_project core Cria um novo projeto do Firebase.
firebase_create_app core Cria um novo aplicativo no projeto do Firebase para Web, iOS ou Android.
firebase_create_android_sha core Adiciona um hash de certificado SHA a um aplicativo Android.
firebase_get_environment core Recupera informações sobre o ambiente atual do Firebase, incluindo o usuário autenticado atual, o diretório do projeto, o projeto ativo e outros.
firebase_update_environment core Atualiza a configuração do ambiente do Firebase, como diretório do projeto, projeto ativo, conta de usuário ativa e muito mais. Use firebase_get_environment para ver o ambiente configurado no momento.
firebase_init core Inicializa os recursos do Firebase selecionados no espaço de trabalho (Firestore, Data Connect, Realtime Database). Todos os recursos são opcionais. Informe 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.
firestore_delete_document firestore Exclui 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 Recupera 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 Recupera uma lista de coleções de um banco de dados do Firestore no projeto atual.
firestore_query_collection firestore Recupera 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.
firestore_get_rules firestore Recupera as regras de segurança ativas do Firestore para o projeto atual.
firestore_validate_rules firestore Verifica se há erros de sintaxe e de validação na origem das regras do Firestore. Fornece código-fonte a ser validado OU um caminho para um arquivo de origem.
auth_get_user auth Recupera um usuário com base em um endereço de e-mail, número de telefone ou UID.
auth_disable_user auth Desativa ou ativa um usuário com base em um UID.
auth_list_users auth Recupera todos os usuários no projeto até o limite especificado.
auth_set_claim auth Define uma declaração personalizada na conta de um usuário específico. Use para criar valores confiáveis associados a um usuário, por exemplo, marcando-o como administrador. As declarações são limitadas em tamanho e precisam ser sucintas em nome e valor. Especifique apenas UM dos parâmetros value ou json_value.
auth_set_sms_region_policy auth Define uma política de região de SMS para o Firebase Auth a fim de 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_list_services dataconnect Lista os serviços do Firebase Data Connect disponíveis no projeto atual.
dataconnect_get_schema dataconnect Recupera informações sobre o esquema do Firebase Data Connect no projeto, incluindo fontes de dados do Cloud SQL e o esquema do GraphQL que descreve o modelo de dados.
dataconnect_get_connectors dataconnect Extrai os conectores do Firebase Data Connect no projeto, que inclui as consultas GraphQL predefinidas acessíveis aos SDKs do cliente.
dataconnect_execute_graphql dataconnect Executa um GraphQL arbitrário em um serviço do Data Connect ou no emulador dele.
dataconnect_execute_graphql_read dataconnect Executa uma consulta GraphQL arbitrária em um serviço do Data Connect ou no emulador dele. Não grava dados.
dataconnect_execute_mutation dataconnect Executa uma mutação do Data Connect implantada em um serviço ou emulador. Pode ler e gravar dados.
dataconnect_execute_query dataconnect Executa uma consulta do Data Connect implantada em um serviço ou emulador. Não grava dados.
storage_get_rules armazenamento Recupera as regras de segurança do Storage ativas para o projeto atual.
storage_validate_rules armazenamento Verifica se há erros de sintaxe e validação na fonte de regras do Firebase Storage. Fornece código-fonte a ser validado OU um caminho para um arquivo de origem.
storage_get_object_download_url armazenamento Recupera o URL de download de um objeto no Firebase Storage.
messaging_send_message messaging Envia uma mensagem para 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.
remoteconfig_get_template remoteconfig Recupera um modelo de configuração remota para o projeto
remoteconfig_publish_template remoteconfig Publica um novo modelo de configuração remota para o projeto
remoteconfig_rollback_template remoteconfig Reverte para uma versão específica do modelo da Configuração remota de um projeto
crashlytics_list_top_issues crashlytics Lista as principais falhas do Crashlytics que ocorrem no app.
apphosting_fetch_logs apphosting Busca 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 Recupera 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.