MewCP Google Drive MCP

Servidor MCP do Google Drive hospedado, sem estado e multilocatário que permite que assistentes de IA acessem, organizem, pesquisem e gerenciem arquivos através do Google Drive.

Documentação

Envie, pesquise e gerencie arquivos do Google Drive — diretamente dos seus fluxos de trabalho de IA.

Um servidor Model Context Protocol (MCP) que expõe a API do Google Drive para listar, pesquisar, enviar, baixar, compartilhar e organizar arquivos e pastas.

Visão Geral

O Google Drive MCP Server fornece acesso programático completo ao Google Drive por meio de uma interface stateless e multi-tenant:

  • Liste, pesquise, envie e baixe arquivos usando a sintaxe de consulta nativa do Drive
  • Crie e organize pastas, gerencie permissões e compartilhamento de arquivos
  • Leia o conteúdo de arquivos de texto diretamente, sem baixar para o disco

Perfeito para:

  • Automatizar o gerenciamento de arquivos e fluxos de trabalho de documentos a partir de agentes de IA
  • Criar assistentes que possam ler, organizar e compartilhar arquivos do Drive
  • Integrar ações do Google Drive em pipelines baseados em LLM

Ferramentas

list_files — Lista arquivos no Google Drive

Lista arquivos no Google Drive com filtragem opcional por pasta pai, nome ou tipo.

Entradas:

- `folder_id` (string, optional) — Parent folder ID to filter results by
- `query` (string, optional) — Additional Drive query fragment e.g. `name contains 'report'`
- `page_size` (integer, optional) — Maximum number of results to return, capped at 1000. Default: `10`

Saída:

{
  "count": 3,
  "files": [
    {
      "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
      "name": "report.pdf",
      "mimeType": "application/pdf",
      "size": "204800",
      "createdTime": "2024-01-15T10:00:00.000Z",
      "modifiedTime": "2024-03-20T14:30:00.000Z",
      "webViewLink": "https://drive.google.com/file/d/..."
    }
  ]
}
get_file_metadata — Obtém metadados de um arquivo específico por ID

Retorna o objeto de metadados completo de um único arquivo ou pasta.

Entradas:

- `file_id` (string, required) — Google Drive file ID

Saída:

{
  "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
  "name": "report.pdf",
  "mimeType": "application/pdf",
  "size": "204800",
  "createdTime": "2024-01-15T10:00:00.000Z",
  "modifiedTime": "2024-03-20T14:30:00.000Z",
  "owners": [{ "displayName": "John Doe", "emailAddress": "john@example.com" }],
  "webViewLink": "https://drive.google.com/file/d/..."
}
download_file — Baixa um arquivo do Google Drive para o disco local

Baixa um arquivo do Drive e o grava em um caminho local especificado.

Entradas:

- `file_id` (string, required) — Google Drive file ID
- `destination_path` (string, required) — Local filesystem path to save the file to

Saída:

{
  "message": "File downloaded successfully to: /path/to/file.pdf"
}
upload_file — Envia um arquivo para o Google Drive

Envia um arquivo local para o Google Drive com nome de destino, pasta e tipo MIME opcionais.

Entradas:

- `file_path` (string, required) — Local filesystem path of the file to upload
- `name` (string, optional) — Destination filename in Drive. Defaults to the local filename
- `folder_id` (string, optional) — Parent folder ID in Drive to upload into
- `mime_type` (string, optional) — MIME type of the file e.g. `text/plain`, `application/pdf`

Saída:

{
  "message": "File uploaded successfully",
  "file": {
    "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
    "name": "report.pdf",
    "webViewLink": "https://drive.google.com/file/d/..."
  }
}
create_folder — Cria uma nova pasta no Google Drive

Cria uma nova pasta, opcionalmente aninhada dentro de uma pasta pai.

Entradas:

- `name` (string, required) — Folder name
- `parent_folder_id` (string, optional) — Parent folder ID to create the folder inside

Saída:

{
  "message": "Folder created successfully",
  "folder": {
    "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
    "name": "Projects",
    "webViewLink": "https://drive.google.com/drive/folders/..."
  }
}
delete_file — Exclui um arquivo ou pasta do Google Drive

Exclui permanentemente um arquivo ou pasta. Esta ação não pode ser desfeita.

Entradas:

- `file_id` (string, required) — Google Drive file or folder ID to delete

Saída:

{
  "message": "File/folder with ID 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs deleted successfully"
}
search_files — Pesquisa arquivos no Google Drive usando consultas avançadas

Pesquisa no Drive usando a linguagem completa de expressões de consulta do Drive e retorna os metadados dos arquivos correspondentes.

Entradas:

- `query` (string, required) — Drive query expression e.g. `name contains 'report'`, `mimeType='application/pdf'`
- `page_size` (integer, optional) — Maximum number of results to return, capped at 1000. Default: `10`

Saída:

{
  "count": 2,
  "files": [
    {
      "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
      "name": "Q1 Report.pdf",
      "mimeType": "application/pdf",
      "webViewLink": "https://drive.google.com/file/d/..."
    }
  ]
}
share_file — Compartilha um arquivo com um usuário ou o torna publicamente acessível

Concede uma permissão em um arquivo, seja para um usuário específico ou para qualquer pessoa com o link.

Entradas:

- `file_id` (string, required) — Google Drive file ID
- `email` (string, optional) — Recipient email address when sharing with a specific user
- `role` (string, optional) — Permission role. Values: `reader`, `commenter`, `writer`. Default: `reader`
- `share_type` (string, optional) — Permission type. Values: `user`, `group`, `domain`, `anyone`. Defaults to `user` if email is provided, otherwise `anyone`

Saída:

{
  "message": "File shared successfully",
  "permission_id": "anyoneWithLink",
  "webViewLink": "https://drive.google.com/file/d/.../view",
  "webContentLink": "https://drive.google.com/uc?id=..."
}
get_file_content — Obtém o conteúdo de um arquivo de texto do Google Drive

Lê e retorna o conteúdo de texto decodificado de um arquivo diretamente, sem salvá-lo no disco.

Entradas:

- `file_id` (string, required) — Google Drive file ID

Saída:

"The full decoded text content of the file as a string."

Referência de Parâmetros da API

Parâmetros Comuns
  • file_id — Identificador exclusivo de arquivo ou pasta do Google Drive. Obtenha em list_files, search_files ou em qualquer resposta de arquivo.
  • folder_id — ID de uma pasta do Drive. Use list_files ou search_files com mimeType='application/vnd.google-apps.folder' para encontrar IDs de pastas.
  • page_size — Limita o número de itens retornados. Sempre limitado a 1000.
Formatos de Recursos

Sintaxe de Consulta do Drive (parâmetro query):

name contains 'report'                          — Files with "report" in name
name = 'budget.xlsx'                            — Exact filename match
mimeType = 'application/pdf'                    — Files of a specific MIME type
mimeType = 'application/vnd.google-apps.folder' — Folders only
'folder_id' in parents                          — Files inside a specific folder
modifiedTime > '2024-01-01T00:00:00'            — Files modified after a date
fullText contains 'quarterly'                   — Files containing text (Docs/Sheets only)

Funções de Permissão:

reader     — View only
commenter  — View and comment
writer     — View, comment, and edit

Solução de Problemas

Cabeçalhos Ausentes ou Inválidos
  • Causa: Chave de API não fornecida nos cabeçalhos da solicitação ou formato incorreto
  • Solução:
    1. Verifique se os cabeçalhos Authorization: Bearer YOUR_API_KEY e X-Mewcp-Credential-Id: CREDENTIAL-ID estão presentes
    2. Verifique se a chave de API está ativa na sua conta MewCP
Créditos Insuficientes
  • Causa: As chamadas de API excederam seus limites de solicitação
  • Solução:
    1. Verifique o uso de créditos no seu painel do Curious Layer
    2. Faça upgrade para um plano pago ou adicione créditos para limites maiores
    3. Entre em contato com o suporte para ajustes de créditos
Credencial Não Conectada
  • Causa: Nenhuma credencial do Google Drive vinculada à sua conta
  • Solução:
    1. Vá para Credenciais no seu painel do MewCP
    2. Conecte sua conta do Google via OAuth
    3. Repita a solicitação com o cabeçalho X-Mewcp-Credential-Id correto
Payload de Solicitação Malformado
  • Causa: O payload JSON é inválido ou está faltando campos obrigatórios
  • Solução:
    1. Valide a sintaxe JSON antes de enviar
    2. Garanta que todos os parâmetros obrigatórios da ferramenta estejam incluídos
    3. Verifique se os tipos de parâmetros correspondem aos valores esperados
Servidor Não Encontrado
  • Causa: Nome incorreto do servidor no endpoint da API
  • Solução:
    1. Verifique o formato do endpoint: {server-name}/mcp/{tool-name}
    2. Use o nome correto do servidor da documentação
    3. Verifique os servidores disponíveis na sua conta do Curious Layer
Erro da API do Google Drive
  • Causa: A API upstream do Google Drive retornou um erro
  • Solução:
    1. Verifique o status do serviço do Google em Página de Status do Google Workspace
    2. Verifique se sua credencial tem as permissões necessárias do Drive
    3. Revise a mensagem de erro para obter detalhes específicos

Recursos