Google Drive MCP Server (Python + SQLite)
Servidor MCP (Model Context Protocol) em Python para integração com o Google Drive API. Possui persistência local de credenciais OAuth 2.0 em banco SQLite e renovação automática de tokens.
Propósito e Isenção de Responsabilidade (Disclaimer)
- Propósito: Este projeto foi desenvolvido exclusivamente para fins educacionais, de pesquisa, prototipagem e auxílio a Desenvolvedores de Software, Engenheiros de Software e Engenheiros de IA na criação de PoCs (Prova de Conceito) e integrações locais com agentes de IA.
- Isenção de Responsabilidade: O autor não se responsabiliza pelo mau uso, vazamento de credenciais feito por terceiros, perda de dados ou utilização indevida das APIs. Cada desenvolvedor é inteiramente responsável por suas próprias credenciais OAuth e pelo cumprimento dos Termos de Serviço da Google API.
- Vínculo: Este projeto é um utilitário open-source independente e não possui qualquer vínculo, afiliação ou endosso oficial por parte do Google LLC ou da Anthropic.
Arquitetura
- Engine: FastMCP (
mcp.server.fastmcp) - API Target: Google Drive API (
googleapiclient) - Storage: SQLite (
auth.db) para credenciais OAuth (access token, refresh token, expiry) - Transport: Standard IO (stdio)
Requisitos
- Python 3.10+
- Credencial de aplicativo no Google Cloud Console (OAuth 2.0 Client ID do tipo Desktop App)
Instalação
python -m venv venv
# Windows:
.\venv\Scripts\Activate.ps1
# Linux/macOS:
source venv/bin/activate
pip install -r requirements.txt
Autenticação
Execute o fluxo de autenticação via CLI:
python auth_flow.py
O script solicita o Client ID e Client Secret, abre o servidor local na porta 8080 para o consentimento OAuth no navegador e persiste as credenciais no arquivo auth.db.
Configuração do Cliente MCP
Adicione o servidor no arquivo de configuração do seu cliente (ex: claude_desktop_config.json):
{
"mcpServers": {
"gdrive": {
"command": "C:/caminho/para/seu/projeto/venv/Scripts/python.exe",
"args": [
"C:/caminho/para/seu/projeto/server.py"
]
}
}
}
Nota: Substitua
C:/caminho/para/seu/projeto/pelo caminho absoluto da pasta do projeto em seu sistema.
Tools Disponíveis
check_auth_status: Retorna o status da autenticação e informações da conta conectada.list_files(folder_id="root", page_size=20, query=""): Lista arquivos e subpastas.search_files(query_string="", page_size=20): Executa busca por nome de arquivo.get_file_metadata(file_id): Retorna metadados detalhados de um arquivo em formato JSON.read_text_file(file_id): Obtém o conteúdo de texto de um arquivo ou exporta Google Docs para texto plano.create_file(name, content, folder_id="root", mime_type="text/plain"): Cria um novo arquivo no Drive.logout(): Remove as credenciais salvas no banco SQLite.
Testes
Para validar a execução de todas as ferramentas localmente:
python test_tools.py