AI Studio MCP Server

Integra-se com Google AI Studio/Gemini API para conversão de PDF para Markdown e geração de conteúdo.

Documentação

AI Studio MCP Server

Um servidor Model Context Protocol (MCP) que se integra ao Google AI Studio / Gemini API, fornecendo capacidades de geração de conteúdo com suporte para arquivos, histórico de conversas e prompts de sistema.

Instalação e Uso

Pré-requisitos

  • Node.js 20.0.0 ou superior
  • Chave de API do Google AI Studio

Usando npx (Recomendado)

GEMINI_API_KEY=your_api_key npx -y aistudio-mcp-server

Instalação Local

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

Configuração

Defina sua chave de API do Google AI Studio como uma variável de ambiente:

export GEMINI_API_KEY=your_api_key_here

Configuração Opcional

  • GEMINI_MODEL: Modelo Gemini a ser usado (padrão: gemini-2.5-flash)
  • GEMINI_TIMEOUT: Tempo limite de solicitação em milissegundos (padrão: 300000 = 5 minutos)
  • GEMINI_MAX_OUTPUT_TOKENS: Máximo de tokens de saída (padrão: 8192)
  • GEMINI_MAX_FILES: Número máximo de arquivos por solicitação (padrão: 10)
  • GEMINI_MAX_TOTAL_FILE_SIZE: Tamanho máximo total de arquivos em MB (padrão: 50)
  • GEMINI_TEMPERATURE: Temperatura para geração (0-2, padrão: 0.2)

Exemplo:

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

Ferramentas Disponíveis

generate_content

Gera conteúdo usando Gemini com suporte abrangente para arquivos, histórico de conversas e prompts de sistema. Suporta vários tipos de arquivo, incluindo imagens, PDFs, documentos do Office e arquivos de texto.

Parâmetros:

  • user_prompt (string, obrigatório): Prompt do usuário para geração
  • system_prompt (string, opcional): Prompt de sistema para orientar o comportamento da IA
  • files (array, opcional): Matriz de arquivos a serem incluídos na geração
    • Cada objeto de arquivo deve ter path ou content
    • path (string): Caminho para o arquivo
    • content (string): Conteúdo do arquivo codificado em Base64
    • type (string, opcional): Tipo MIME (detectado automaticamente pela extensão do arquivo)
  • model (string, opcional): Modelo Gemini a ser usado (padrão: gemini-2.5-flash)
  • temperature (número, opcional): Temperatura para geração (0-2, padrão: 0.2). Valores mais baixos produzem respostas mais focadas, valores mais altos produzem respostas mais criativas

Tipos de arquivo suportados (modelos Gemini 2.5):

  • Imagens: JPG, JPEG, PNG, GIF, WebP, SVG, BMP, TIFF
  • Vídeo: MP4, AVI, MOV, WEBM, FLV, MPG, WMV (até 10 arquivos por solicitação)
  • Áudio: MP3, WAV, AIFF, AAC, OGG, FLAC (até 15MB por arquivo)
  • Documentos: PDF (tratados como imagens, uma página = uma imagem)
  • Texto: TXT, MD, JSON, XML, CSV, HTML

Limitações de arquivo:

  • Tamanho máximo de arquivo: 15MB por arquivo de áudio/vídeo/documento
  • Tamanho máximo total da solicitação: 20MB (2GB ao usar Cloud Storage)
  • Arquivos de vídeo: Até 10 por solicitação
  • Arquivos PDF seguem o preço de imagens (uma página = uma imagem)

Exemplo básico:

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

Conversão de PDF para 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"
    }
  ]
}

Com 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"}
  ]
}

Exemplo com múltiplos arquivos:

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

Casos de Uso Comuns

Conversão de PDF para Markdown

Para converter arquivos PDF para o formato Markdown, use a ferramenta generate_content com um prompt apropriado:

{
  "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álise de Imagens

Analise imagens, gráficos, diagramas ou fotos com descrições detalhadas:

{
  "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 tela ou diagramas técnicos:

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

Transcrição de Áudio

Gere transcrições a partir de arquivos de áudio:

{
  "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 transcrições de entrevistas ou reuniões:

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

Configuração do Cliente MCP

Adicione este servidor à configuração do seu 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"
      }
    }
  }
}

Desenvolvimento

Configuração

Certifique-se de ter o Node.js 20.0.0 ou superior instalado.

npm install
npm run build

Executando localmente

GEMINI_API_KEY=your_api_key npm run dev

Licença

MIT