Google AI Search MCP

Un servidor que proporciona herramientas de búsqueda y documentación impulsadas por Google AI para desarrolladores.

Documentación

Google AI Search MCP

Smithery

Este proyecto implementa un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona un conjunto completo de herramientas de búsqueda y documentación impulsadas por Google AI, diseñadas específicamente para ayudar a los programadores de IA a superar las limitaciones de conocimiento de los LLM y las brechas de información.

Notas de implementación

La selección del proveedor y las credenciales se resuelven en tiempo de ejecución, por lo que el hecho de que una herramienta aparezca en la lista no demuestra que su proveedor upstream esté configurado o sea accesible. Trate las comparaciones producidas por modelos, las guías de arquitectura y el análisis de seguridad como material para verificar contra las fuentes primarias citadas, en lugar de hallazgos deterministas.

Para una comparación con enlaces a fuentes sobre las presiones de diseño en este proyecto y otras seis implementaciones públicas de MCP, consulte Lo que construir siete servidores MCP me enseñó sobre MCP en producción.

Características

  • Proporciona acceso a los modelos de Google AI (Vertex AI y Gemini API) a través de herramientas MCP especializadas.
  • Se centra en la recuperación de información en tiempo real y el análisis basado en documentación.
  • Admite fundamentación de búsqueda web para información actual que los LLM no poseen.
  • ID de modelo, temperatura, comportamiento de streaming, tokens de salida máximos y configuración de reintentos configurables mediante variables de entorno.
  • Utiliza la API de streaming por defecto para una mejor capacidad de respuesta potencial.
  • Incluye lógica básica de reintentos para errores transitorios de API.
  • Se aplican filtros de seguridad mínimos (BLOCK_NONE) para reducir posibles bloqueos (usar con precaución).

Herramientas proporcionadas

Herramientas principales de búsqueda y documentación

  • answer_query_websearch: Consultas en lenguaje natural orientadas a desarrolladores con detección técnica automática, metodología de búsqueda mejorada y formato de código integral utilizando Google AI con resultados de búsqueda en tiempo real.
  • explain_topic_with_docs: Explicaciones técnicas simplificadas con escenarios de depuración mejorados, sintetizando información de documentación oficial con menor verbosidad y orientación mejorada para la resolución de problemas.
  • get_doc_snippets: Recuperación mejorada de fragmentos de código con ejemplos de complejidad progresiva, patrones de búsqueda avanzados, segmentación por versiones específicas y contexto integral para consultas técnicas de documentación oficial.
  • generate_project_guidelines: Genera documentos integrales y estructurados de guías de proyecto basados en tecnologías especificadas, utilizando búsqueda web para prácticas recomendadas actuales y estándares de la industria.

Herramientas de análisis avanzado

  • code_analysis_with_docs: Análisis de código basado en evidencia con citas estandarizadas, categorización de severidad y recomendaciones accionables al comparar el código con las prácticas recomendadas de la documentación oficial.
  • technical_comparison: Produce comparaciones de tecnologías según los criterios solicitados utilizando contexto de búsqueda actual cuando esté disponible. Verifique las afirmaciones cuantitativas o de mercado contra las fuentes primarias citadas.
  • architecture_pattern_recommendation: Produce opciones de arquitectura, compensaciones y consideraciones de implementación para un caso de uso descrito. Valide la recomendación contra las restricciones reales del sistema antes de adoptarla.

(Nota: Los esquemas de entrada/salida de cada herramienta están definidos en sus respectivos archivos dentro de src/tools/ y se exponen a través del servidor MCP.)

Requisitos previos

  • Node.js (v18+)
  • Bun (npm install -g bun)
  • Proyecto de Google Cloud con facturación habilitada (si se usa Vertex AI).
  • API de Vertex AI habilitada en el proyecto de GCP (si se usa Vertex AI).
  • Autenticación de Google Cloud configurada en su entorno (se recomiendan Credenciales Predeterminadas de Aplicación mediante gcloud auth application-default login, o una Clave de Cuenta de Servicio) O una clave de API de Gemini.

Configuración e instalación

  1. Clonar/Colocar el proyecto: Asegúrese de que los archivos del proyecto estén en la ubicación deseada.
  2. Instalar dependencias:
    bun install
    
  3. Configurar el entorno:
    • Cree un archivo .env en la raíz del proyecto (copie .env.example).
    • Establezca las variables de entorno requeridas y opcionales como se describe en .env.example.
      • Establezca AI_PROVIDER a "vertex" o "gemini".
      • Si AI_PROVIDER="vertex", se requiere GOOGLE_CLOUD_PROJECT.
      • Si AI_PROVIDER="gemini", se requiere GEMINI_API_KEY.
  4. Compilar el servidor:
    bun run build
    
    Esto compila el código TypeScript a build/index.js.

Uso (Independiente / NPX)

El paquete está publicado en npm y se puede ejecutar directamente con npx:

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

Alternativamente, instálelo globalmente:

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

Nota: Ejecutar de forma independiente requiere establecer las variables de entorno necesarias (como GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION, GEMINI_API_KEY, credenciales de autenticación si no se usa ADC) en su entorno de shell antes de ejecutar el comando.

Docker

Compile la imagen del contenedor local:

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

Ejecute con el proveedor de Gemini API:

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

Para Vertex AI, pase AI_PROVIDER=vertex, GOOGLE_CLOUD_PROJECT y opcionalmente GOOGLE_CLOUD_LOCATION. Las Credenciales Predeterminadas de Aplicación también deben estar disponibles dentro del contenedor, normalmente mediante un montaje de credenciales de solo lectura. No incruste claves de API ni archivos de cuentas de servicio en la imagen.

Ejecución con Cline

  1. Configurar ajustes de MCP: Agregue/actualice la configuración en su archivo de ajustes de MCP de Cline (por ejemplo, .roo/mcp.json). Tiene dos formas principales de configurar el comando:

    Opción A: Usando Node (Ruta directa - Recomendado para desarrollo)

    Este método utiliza node para ejecutar el script compilado directamente. Es útil durante el desarrollo cuando tiene el 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: Asegúrese de que la ruta args apunte correctamente al archivo build/index.js. Usar una ruta absoluta podría ser más confiable.

    Opción B: Usando NPX (Requiere paquete publicado en npm)

    Este método utiliza npx para descargar y ejecutar automáticamente el paquete del servidor desde el registro de npm. Esto es conveniente si no desea clonar el repositorio.

    {
      "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...
      }
    }
    
    • Asegúrese de que las variables de entorno en el bloque env estén configuradas correctamente, ya sea coincidiendo con .env o definidas explícitamente aquí. Elimine los comentarios del archivo JSON real.
  2. Reiniciar/Recargar Cline: Cline debería detectar el cambio de configuración e iniciar el servidor.

  3. Usar herramientas: Ahora puede usar la lista completa de herramientas de búsqueda y documentación impulsadas por Google AI a través de Cline.

Desarrollo

  • Modo de observación: bun run watch
  • Compilar: bun run build
  • Inspector: bun run inspector

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENCIA para más detalles.