Google AI Search MCP

Um servidor que fornece ferramentas de pesquisa e documentação com tecnologia Google AI para desenvolvedores.

Documentação

Google AI Search MCP

Smithery

Este projeto implementa um servidor Model Context Protocol (MCP) que fornece um conjunto abrangente de ferramentas de busca e documentação com tecnologia Google AI, projetadas especificamente para ajudar programadores de IA a superar lacunas de conhecimento e limitações de informação dos LLMs.

Notas de implementação

A seleção do provedor e as credenciais são resolvidas em tempo de execução, portanto, uma ferramenta estar listada não prova que seu provedor upstream está configurado ou acessível. Trate comparações geradas por modelos, orientações de arquitetura e análises de segurança como material a ser verificado em relação às fontes primárias citadas, em vez de resultados determinísticos.

Para uma comparação com links de fontes sobre as pressões de design neste projeto e em outras seis implementações públicas de MCP, consulte O que construir sete servidores MCP me ensinou sobre MCP em produção.

Recursos

  • Fornece acesso aos modelos Google AI (Vertex AI e Gemini API) por meio de ferramentas MCP especializadas.
  • Foca na recuperação de informações em tempo real e na análise baseada em documentação.
  • Suporta fundamentação por busca na web para informações atuais que os LLMs não possuem.
  • ID do modelo, temperatura, comportamento de streaming, máximo de tokens de saída e configurações de repetição configuráveis por meio de variáveis de ambiente.
  • Usa a API de streaming por padrão para melhor capacidade de resposta potencial.
  • Inclui lógica básica de repetição para erros transitórios de API.
  • Filtros de segurança mínimos aplicados (BLOCK_NONE) para reduzir possíveis bloqueios (use com cautela).

Ferramentas Fornecidas

Ferramentas Principais de Busca e Documentação

  • answer_query_websearch: Consultas em linguagem natural focadas em desenvolvedores, com detecção técnica automática, metodologia de busca aprimorada e formatação abrangente de código usando Google AI com resultados de busca em tempo real.
  • explain_topic_with_docs: Explicações técnicas simplificadas com cenários de depuração aprimorados, sintetizando informações da documentação oficial com verbosidade reduzida e orientação de solução de problemas aprimorada.
  • get_doc_snippets: Recuperação aprimorada de trechos de código com exemplos de complexidade progressiva, padrões de busca avançados, segmentação por versão específica e contexto abrangente para consultas técnicas da documentação oficial.
  • generate_project_guidelines: Gera documentos abrangentes e estruturados de diretrizes de projeto com base em tecnologias especificadas, usando busca na web para práticas recomendadas atuais e padrões do setor.

Ferramentas Avançadas de Análise

  • code_analysis_with_docs: Análise de código baseada em evidências com citações padronizadas, categorização de gravidade e recomendações acionáveis, comparando o código com as práticas recomendadas da documentação oficial.
  • technical_comparison: Produz comparações de tecnologias de acordo com os critérios solicitados, usando contexto de busca atual quando disponível. Verifique afirmações quantitativas ou de mercado em relação às fontes primárias citadas.
  • architecture_pattern_recommendation: Produz opções de arquitetura, compensações e considerações de implementação para um caso de uso descrito. Valide a recomendação em relação às restrições reais do sistema antes de adotá-la.

(Nota: Os esquemas de entrada/saída de cada ferramenta são definidos em seus respectivos arquivos dentro de src/tools/ e expostos por meio do servidor MCP.)

Pré-requisitos

  • Node.js (v18+)
  • Bun (npm install -g bun)
  • Projeto do Google Cloud com faturamento habilitado (se estiver usando Vertex AI).
  • API Vertex AI habilitada no projeto GCP (se estiver usando Vertex AI).
  • Autenticação do Google Cloud configurada no seu ambiente (Application Default Credentials via gcloud auth application-default login é recomendado, ou uma Service Account Key) OU chave da API Gemini.

Configuração e Instalação

  1. Clone/Posicione o Projeto: Certifique-se de que os arquivos do projeto estejam no local desejado.
  2. Instale as Dependências:
    bun install
    
  3. Configure o Ambiente:
    • Crie um arquivo .env na raiz do projeto (copie .env.example).
    • Defina as variáveis de ambiente obrigatórias e opcionais conforme descrito em .env.example.
      • Defina AI_PROVIDER como "vertex" ou "gemini".
      • Se AI_PROVIDER="vertex", GOOGLE_CLOUD_PROJECT é obrigatório.
      • Se AI_PROVIDER="gemini", GEMINI_API_KEY é obrigatório.
  4. Compile o Servidor:
    bun run build
    
    Isso compila o código TypeScript para build/index.js.

Uso (Standalone / NPX)

O pacote é publicado no npm e pode ser executado diretamente com npx:

# Ensure required environment variables are set (e.g., GOOGLE_CLOUD_PROJECT or GEMINI_API_KEY)
bunx google-ai-search-mcp

Alternativamente, instale-o globalmente:

bun install -g google-ai-search-mcp
# Then run:
google-ai-search-mcp

Nota: Executar standalone exige definir as variáveis de ambiente necessárias (como GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION, GEMINI_API_KEY, credenciais de autenticação se não estiver usando ADC) no seu ambiente de shell antes de executar o comando.

Docker

Compile a imagem local do contêiner:

docker build -t google-ai-search-mcp .

Execute com o provedor da API Gemini:

docker run --rm -i \
  -e AI_PROVIDER=gemini \
  -e GEMINI_API_KEY \
  google-ai-search-mcp

Para Vertex AI, passe AI_PROVIDER=vertex, GOOGLE_CLOUD_PROJECT e, opcionalmente, GOOGLE_CLOUD_LOCATION. As Application Default Credentials também devem estar disponíveis dentro do contêiner, normalmente por meio de uma montagem de credenciais somente leitura. Não incorpore chaves de API ou arquivos de conta de serviço na imagem.

Executando com o Cline

  1. Configure as Configurações do MCP: Adicione/atualize a configuração no arquivo de configurações MCP do Cline (por exemplo, .roo/mcp.json). Você tem duas maneiras principais de configurar o comando:

    Opção A: Usando Node (Caminho Direto - Recomendado para Desenvolvimento)

    Este método usa node para executar o script compilado diretamente. É útil durante o desenvolvimento quando você tem o código clonado localmente.

    {
      "mcpServers": {
        "google-ai-search-mcp": {
          "command": "node",
          "args": [
            "/full/path/to/your/google-ai-search-mcp/build/index.js" // Use absolute path or ensure it's relative to where Cline runs node
          ],
          "env": {
            // --- General AI Configuration ---
            "AI_PROVIDER": "vertex", // "vertex" or "gemini"
            // --- Required (Conditional) ---
            "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // Required if AI_PROVIDER="vertex"
            // "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // Required if AI_PROVIDER="gemini"
            // --- Optional Model Selection ---
            "VERTEX_MODEL_ID": "gemini-2.5-pro", // If AI_PROVIDER="vertex" (Example override)
            "GEMINI_MODEL_ID": "gemini-2.5-pro", // If AI_PROVIDER="gemini"
            // --- Optional AI Parameters ---
            "GOOGLE_CLOUD_LOCATION": "us-central1", // Specific to Vertex AI
            "AI_TEMPERATURE": "0.0",
            "AI_USE_STREAMING": "true",
            "AI_MAX_OUTPUT_TOKENS": "65536", // Default from .env.example
            "AI_MAX_RETRIES": "3",
            "AI_RETRY_DELAY_MS": "1000",
            // --- Optional Vertex Authentication ---
            // "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // If using Service Account Key for Vertex
          },
          "disabled": false,
          "alwaysAllow": [
             // Add tool names here if you don't want confirmation prompts
             // e.g., "answer_query_websearch"
          ],
          "timeout": 3600 // Optional: Timeout in seconds
        }
        // Add other servers here...
      }
    }
    
    • Importante: Certifique-se de que o caminho args aponte corretamente para o arquivo build/index.js. Usar um caminho absoluto pode ser mais confiável.

    Opção B: Usando NPX (Requer Pacote Publicado no npm)

    Este método usa npx para baixar e executar automaticamente o pacote do servidor do registro npm. É conveniente se você não quiser clonar o repositório.

    {
      "mcpServers": {
        "google-ai-search-mcp": {
          "command": "bunx", // Use bunx
          "args": [
            "-y", // Auto-confirm installation
            "google-ai-search-mcp" // The npm package name
          ],
          "env": {
            // --- General AI Configuration ---
            "AI_PROVIDER": "vertex", // "vertex" or "gemini"
            // --- Required (Conditional) ---
            "GOOGLE_CLOUD_PROJECT": "YOUR_GCP_PROJECT_ID", // Required if AI_PROVIDER="vertex"
            // "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY", // Required if AI_PROVIDER="gemini"
            // --- Optional Model Selection ---
            "VERTEX_MODEL_ID": "gemini-2.5-pro", // If AI_PROVIDER="vertex" (Example override)
            "GEMINI_MODEL_ID": "gemini-2.5-pro", // If AI_PROVIDER="gemini"
            // --- Optional AI Parameters ---
            "GOOGLE_CLOUD_LOCATION": "us-central1", // Specific to Vertex AI
            "AI_TEMPERATURE": "0.0",
            "AI_USE_STREAMING": "true",
            "AI_MAX_OUTPUT_TOKENS": "65536", // Default from .env.example
            "AI_MAX_RETRIES": "3",
            "AI_RETRY_DELAY_MS": "1000",
            // --- Optional Vertex Authentication ---
            // "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json" // If using Service Account Key for Vertex
          },
          "disabled": false,
          "alwaysAllow": [
             // Add tool names here if you don't want confirmation prompts
             // e.g., "answer_query_websearch"
          ],
          "timeout": 3600 // Optional: Timeout in seconds
        }
        // Add other servers here...
      }
    }
    
    • Certifique-se de que as variáveis de ambiente no bloco env estejam definidas corretamente, correspondendo a .env ou definidas explicitamente aqui. Remova os comentários do arquivo JSON real.
  2. Reinicie/Recarregue o Cline: O Cline deve detectar a mudança de configuração e iniciar o servidor.

  3. Use as Ferramentas: Agora você pode usar a lista abrangente de ferramentas de busca e documentação com tecnologia Google AI por meio do Cline.

Desenvolvimento

  • Modo de Observação: bun run watch
  • Compilação: bun run build
  • Inspector: bun run inspector

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.