AI Studio MCP Server

Se integra con Google AI Studio/Gemini API para conversión de PDF a Markdown y generación de contenido.

Documentación

Servidor MCP de AI Studio

Un servidor de Model Context Protocol (MCP) que se integra con Google AI Studio / API de Gemini, proporcionando capacidades de generación de contenido con soporte para archivos, historial de conversaciones y prompts de sistema.

Instalación y Uso

Requisitos previos

  • Node.js 20.0.0 o superior
  • Clave de API de Google AI Studio

Usando npx (Recomendado)

GEMINI_API_KEY=your_api_key npx -y aistudio-mcp-server

Instalación local

npm install -g aistudio-mcp-server
GEMINI_API_KEY=your_api_key aistudio-mcp-server

Configuración

Establece tu clave de API de Google AI Studio como una variable de entorno:

export GEMINI_API_KEY=your_api_key_here

Configuración opcional

  • GEMINI_MODEL: Modelo de Gemini a utilizar (predeterminado: gemini-2.5-flash)
  • GEMINI_TIMEOUT: Tiempo de espera de solicitud en milisegundos (predeterminado: 300000 = 5 minutos)
  • GEMINI_MAX_OUTPUT_TOKENS: Máximo de tokens de salida (predeterminado: 8192)
  • GEMINI_MAX_FILES: Número máximo de archivos por solicitud (predeterminado: 10)
  • GEMINI_MAX_TOTAL_FILE_SIZE: Tamaño máximo total de archivos en MB (predeterminado: 50)
  • GEMINI_TEMPERATURE: Temperatura para la generación (0-2, predeterminado: 0.2)

Ejemplo:

export GEMINI_API_KEY=your_api_key_here
export GEMINI_MODEL=gemini-2.5-flash
export GEMINI_TIMEOUT=600000  # 10 minutes
export GEMINI_MAX_OUTPUT_TOKENS=16384  # More output tokens
export GEMINI_MAX_FILES=5  # Limit to 5 files per request
export GEMINI_MAX_TOTAL_FILE_SIZE=100  # 100MB limit
export GEMINI_TEMPERATURE=0.7  # More creative responses

Herramientas disponibles

generate_content

Genera contenido usando Gemini con soporte integral para archivos, historial de conversaciones y prompts de sistema. Admite varios tipos de archivos, incluyendo imágenes, PDFs, documentos de Office y archivos de texto.

Parámetros:

  • user_prompt (cadena, obligatorio): Prompt del usuario para la generación
  • system_prompt (cadena, opcional): Prompt del sistema para guiar el comportamiento de la IA
  • files (matriz, opcional): Matriz de archivos a incluir en la generación
    • Cada objeto de archivo debe tener path o content
    • path (cadena): Ruta al archivo
    • content (cadena): Contenido del archivo codificado en Base64
    • type (cadena, opcional): Tipo MIME (detectado automáticamente desde la extensión del archivo)
  • model (cadena, opcional): Modelo de Gemini a utilizar (predeterminado: gemini-2.5-flash)
  • temperature (número, opcional): Temperatura para la generación (0-2, predeterminado: 0.2). Valores más bajos producen respuestas más enfocadas, valores más altos producen respuestas más creativas

Tipos de archivo admitidos (modelos Gemini 2.5):

  • Imágenes: JPG, JPEG, PNG, GIF, WebP, SVG, BMP, TIFF
  • Video: MP4, AVI, MOV, WEBM, FLV, MPG, WMV (hasta 10 archivos por solicitud)
  • Audio: MP3, WAV, AIFF, AAC, OGG, FLAC (hasta 15MB por archivo)
  • Documentos: PDF (tratados como imágenes, una página = una imagen)
  • Texto: TXT, MD, JSON, XML, CSV, HTML

Limitaciones de archivos:

  • Tamaño máximo de archivo: 15MB por archivo de audio/video/documento
  • Tamaño máximo total de solicitud: 20MB (2GB al usar Cloud Storage)
  • Archivos de video: Hasta 10 por solicitud
  • Los archivos PDF siguen el precio de imágenes (una página = una imagen)

Ejemplo básico:

{
  "user_prompt": "Analyze this image and describe what you see",
  "files": [
    {
      "path": "/path/to/image.jpg"
    }
  ]
}

Conversión de PDF a Markdown:

{
  "user_prompt": "Convert this PDF to well-formatted Markdown, preserving structure and formatting. Return only the Markdown content.",
  "files": [
    {
      "path": "/path/to/document.pdf"
    }
  ]
}

Con prompt de sistema:

{
  "system_prompt": "You are a helpful document analyst specialized in technical documentation",
  "user_prompt": "Please provide a detailed explanation of the authentication methods shown in this document",
  "files": [
    {"path": "/api-docs.pdf"}
  ]
}

Ejemplo con múltiples archivos:

{
  "user_prompt": "Compare these documents and images",
  "files": [
    {"path": "/document.pdf"},
    {"path": "/chart.png"},
    {"content": "base64encodedcontent", "type": "image/jpeg"}
  ]
}

Casos de uso comunes

Conversión de PDF a Markdown

Para convertir archivos PDF al formato Markdown, usa la herramienta generate_content con un prompt apropiado:

{
  "user_prompt": "Convert this PDF to well-formatted Markdown, preserving structure, headings, lists, and formatting. Include table of contents if the document has sections.",
  "files": [
    {
      "path": "/path/to/document.pdf"
    }
  ]
}

Análisis de imágenes

Analiza imágenes, gráficos, diagramas o fotos con descripciones detalladas:

{
  "system_prompt": "You are an expert image analyst. Provide detailed, accurate descriptions of visual content.",
  "user_prompt": "Analyze this image and describe what you see. Include details about objects, people, text, colors, and composition.",
  "files": [
    {
      "path": "/path/to/image.jpg"
    }
  ]
}

Para capturas de pantalla o diagramas técnicos:

{
  "user_prompt": "Describe this system architecture diagram. Explain the components and their relationships.",
  "files": [
    {
      "path": "/architecture-diagram.png"
    }
  ]
}

Transcripción de audio

Genera transcripciones a partir de archivos de audio:

{
  "system_prompt": "You are a professional transcription service. Provide accurate, well-formatted transcripts.",
  "user_prompt": "Please transcribe this audio file. Include speaker identification if multiple speakers are present, and format it with proper punctuation and paragraphs.",
  "files": [
    {
      "path": "/meeting-recording.mp3"
    }
  ]
}

Para transcripciones de entrevistas o reuniones:

{
  "user_prompt": "Transcribe this interview and provide a summary of key points discussed.",
  "files": [
    {
      "path": "/interview.wav"
    }
  ]
}

Configuración del cliente MCP

Agrega este servidor a la configuración de tu cliente MCP:

{
  "mcpServers": {
    "aistudio": {
      "command": "npx",
      "args": ["-y", "aistudio-mcp-server"],
      "env": {
        "GEMINI_API_KEY": "your_api_key_here",
        "GEMINI_MODEL": "gemini-2.5-flash",
        "GEMINI_TIMEOUT": "600000",
        "GEMINI_MAX_OUTPUT_TOKENS": "16384",
        "GEMINI_MAX_FILES": "10",
        "GEMINI_MAX_TOTAL_FILE_SIZE": "50",
        "GEMINI_TEMPERATURE": "0.2"
      }
    }
  }
}

Desarrollo

Configuración

Asegúrate de tener Node.js 20.0.0 o superior instalado.

npm install
npm run build

Ejecución local

GEMINI_API_KEY=your_api_key npm run dev

Licencia

MIT