Google Drive MCP Server

Integra-se ao Google Drive, permitindo que modelos de IA pesquisem, listem e leiam arquivos.

Documentação

Servidor MCP do Google Drive

Um poderoso servidor Model Context Protocol (MCP) que fornece integração perfeita com o Google Drive, permitindo que modelos de IA pesquisem, listem e leiam arquivos do Google Drive.

🚀 Recursos

Ferramentas

1. gdrive_search

Pesquise arquivos no seu Google Drive com poderosos recursos de pesquisa em texto completo.

  • Entrada:
    {
      "query": "string (your search query)"
    }
    
  • Saída: Lista de arquivos com:
    • Nome do arquivo
    • Tipo MIME
    • ID do arquivo
    • Última hora de modificação
    • Tamanho do arquivo

2. gdrive_read_file

Leia o conteúdo dos arquivos diretamente usando um ID de arquivo do Google Drive.

  • Entrada:
    {
      "file_id": "string (Google Drive file ID)"
    }
    
  • Saída: Conteúdo do arquivo com conversão de formato apropriada

Tratamento Automático de Formatos de Arquivo

O servidor lida inteligentemente com diferentes tipos de arquivos do Google Workspace:

  • 📝 Google Docs → Markdown
  • 📊 Google Sheets → CSV
  • 📊 Google Apresentações → Texto simples
  • 🎨 Google Drawings → PNG
  • 📄 Arquivos de texto/JSON → Texto UTF-8
  • 📦 Outros arquivos → Codificado em Base64

🛠️ Primeiros Passos

Pré-requisitos

  • Node.js (v16 ou superior)
  • npm ou yarn
  • Um projeto no Google Cloud
  • Uma conta do Google Workspace ou conta pessoal do Google

Configuração Detalhada do Google Cloud

  1. Crie um projeto no Google Cloud

    • Visite o Console do Google Cloud
    • Clique em "Novo Projeto"
    • Digite um nome para o projeto (ex.: "MCP GDrive Server")
    • Clique em "Criar"
    • Aguarde o projeto ser criado e selecione-o
  2. Ative a API do Google Drive

    • Vá para a Biblioteca de APIs
    • Pesquise por "Google Drive API"
    • Clique em "Google Drive API"
    • Clique em "Ativar"
    • Aguarde a API ser ativada
  3. Configure a Tela de Consentimento OAuth

    • Navegue até Tela de consentimento OAuth
    • Selecione o Tipo de Usuário:
      • "Interno" se você estiver usando o Google Workspace
      • "Externo" para contas pessoais do Google
    • Clique em "Criar"
    • Preencha os campos obrigatórios:
      • Nome do aplicativo: "MCP GDrive Server"
      • E-mail de suporte ao usuário: seu e-mail
      • E-mail de contato do desenvolvedor: seu e-mail
    • Clique em "Salvar e Continuar"
    • Na página "Escopos":
      • Clique em "Adicionar ou Remover Escopos"
      • Adicione https://www.googleapis.com/auth/drive.readonly
      • Clique em "Atualizar"
    • Clique em "Salvar e Continuar"
    • Revise o resumo e clique em "Voltar ao Painel"
  4. Crie o ID do Cliente OAuth

    • Vá para Credenciais
    • Clique em "Criar Credenciais" no topo
    • Selecione "ID do cliente OAuth"
    • Escolha o tipo de aplicativo: "Aplicativo de desktop"
    • Nome: "MCP GDrive Server Desktop Client"
    • Clique em "Criar"
    • No pop-up:
      • Clique em "Baixar JSON"
      • Salve o arquivo
      • Clique em "OK"
  5. Configure as Credenciais no Projeto

    # Create credentials directory
    mkdir credentials
    
    # Move and rename the downloaded JSON file
    mv path/to/downloaded/client_secret_*.json credentials/gcp-oauth.keys.json
    

Instalação

# Clone the repository
git clone https://github.com/felores/gdrive-mcp-server.git
cd gdrive-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Autenticação

  1. Crie um diretório de credenciais e coloque suas chaves OAuth:

    mkdir credentials
    # Move your downloaded OAuth JSON file to the credentials directory as gcp-oauth.keys.json
    
  2. Execute o comando de autenticação:

    node dist/index.js auth
    
  3. Complete o fluxo OAuth no seu navegador

  4. As credenciais serão salvas em credentials/.gdrive-server-credentials.json

🔧 Uso

Como Ferramenta de Linha de Comando

# Start the server
node dist/index.js

Integração com Aplicativo de Desktop

Adicione esta configuração às configurações do servidor do seu aplicativo:

{
  "mcpServers": {
    "gdrive": {
      "command": "node",
      "args": ["path/to/gdrive-mcp-server/dist/index.js"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/gcp-oauth.keys.json",
        "MCP_GDRIVE_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/.gdrive-server-credentials.json"
      }
    }
  }
}

Substitua path/to/gdrive-mcp-server pelo caminho real do seu diretório de instalação.

Exemplo de Uso

  1. Pesquisar arquivos:

    // Search for documents containing "quarterly report"
    const result = await gdrive_search({ query: "quarterly report" });
    
  2. Ler conteúdo de arquivos:

    // Read a specific file using its ID
    const contents = await gdrive_read_file({ file_id: "your-file-id" });
    

🔒 Segurança

  • Todas as credenciais sensíveis são armazenadas no diretório credentials
  • Credenciais e tokens OAuth são excluídos do controle de versão
  • Acesso somente leitura ao Google Drive
  • Fluxo de autenticação OAuth 2.0 seguro

🤝 Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

📝 Licença

Este servidor MCP é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.

🔍 Solução de Problemas

Se você encontrar problemas:

  1. Verifique a configuração do seu projeto no Google Cloud
  2. Certifique-se de que todos os escopos OAuth necessários estejam ativados
  3. Verifique se as credenciais estão devidamente colocadas no diretório credentials
  4. Verifique as permissões de arquivo e direitos de acesso no Google Drive

📚 Recursos Adicionais