Google Workspace MCP Server
Interaja com serviços do Google Workspace como Gmail e Google Calendar.
Documentação
Google Workspace MCP Server
Um servidor Model Context Protocol (MCP) que fornece ferramentas para interagir com as APIs do Gmail e do Google Calendar. Este servidor permite gerenciar seus e-mails e eventos de calendário programaticamente por meio da interface MCP.
Recursos
Ferramentas do Gmail
list_emails: Listar e-mails recentes da sua caixa de entrada com filtragem opcionalsearch_emails: Pesquisa avançada de e-mails com sintaxe de consulta do Gmailsend_email: Enviar novos e-mails com suporte para CC e CCOmodify_email: Modificar rótulos de e-mail (arquivar, excluir, marcar como lido/não lido)
Ferramentas do Calendário
list_events: Listar próximos eventos do calendário com filtro por intervalo de datascreate_event: Criar novos eventos do calendário com participantes- Os eventos abaixo foram removidos deste servidor por medidas de segurança, pois a API do Google Cloud Calendar não possui um escopo que permita a criação, mas impeça a exclusão ou atualizações.
update_event: Atualizar eventos existentes do calendáriodelete_event: Excluir eventos do calendário
Pré-requisitos
- Node.js: Instale o Node.js versão 14 ou superior
- Configuração do Google Cloud Console:
- Acesse o Google Cloud Console
- Crie um novo projeto ou selecione um existente
- Ative a API do Gmail e a API do Google Calendar:
- Vá para "APIs & Services" > "Library"
- Pesquise e ative a "Gmail API"
- Pesquise e ative a "Google Calendar API"
- Configure as credenciais OAuth 2.0:
- Vá para "APIs & Services" > "Credentials"
- Clique em "Create Credentials" > "OAuth client ID"
- Escolha "Web application"
- Defina "Authorized redirect URIs" para incluir:
http://localhost:4100/code - Anote o Client ID e o Client Secret
Instruções de Configuração
Instalação via Smithery
Para instalar o Google Workspace Server - No Calendar Deletion for Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @erickva/google-workspace-mcp-server-no-calendar-deletetion --client claude
Instalação Manual
-
Clone e Instale:
git clone https://github.com/epaproditus/google-workspace-mcp-server.git cd google-workspace-mcp-server npm install -
Crie as Credenciais OAuth: Crie um arquivo
credentials.jsonno diretório raiz:{ "web": { "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "redirect_uris": ["http://localhost:4100/code"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token" } } -
Obtenha o Refresh Token:
node get-refresh-token.jsIsso irá:
- Abrir seu navegador para autenticação OAuth do Google
- Solicitar as seguintes permissões:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/gmail.send
- Salvar as credenciais em
token.json - Exibir o refresh token no console
-
Configure as Configurações do MCP: Adicione a configuração do servidor ao seu arquivo de configurações do MCP:
- Para a extensão Claude do VSCode:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Para o aplicativo de desktop Claude:
~/Library/Application Support/Claude/claude_desktop_config.json
Adicione isso ao objeto
mcpServers:{ "mcpServers": { "google-workspace": { "command": "node", "args": ["/path/to/google-workspace-server/build/index.js"], "env": { "GOOGLE_CLIENT_ID": "your_client_id", "GOOGLE_CLIENT_SECRET": "your_client_secret", "GOOGLE_REFRESH_TOKEN": "your_refresh_token" } } } } - Para a extensão Claude do VSCode:
-
Compile e Execute:
npm run build
Exemplos de Uso
Operações do Gmail
-
Listar E-mails Recentes:
{ "maxResults": 5, "query": "is:unread" } -
Pesquisar E-mails:
{ "query": "from:example@gmail.com has:attachment", "maxResults": 10 } -
Enviar E-mail:
{ "to": "recipient@example.com", "subject": "Hello", "body": "Message content", "cc": "cc@example.com", "bcc": "bcc@example.com" } -
Modificar E-mail:
{ "id": "message_id", "addLabels": ["UNREAD"], "removeLabels": ["INBOX"] }
Operações do Calendário
-
Listar Eventos:
{ "maxResults": 10, "timeMin": "2024-01-01T00:00:00Z", "timeMax": "2024-12-31T23:59:59Z" } -
Criar Evento:
{ "summary": "Team Meeting", "location": "Conference Room", "description": "Weekly sync-up", "start": "2024-01-24T10:00:00Z", "end": "2024-01-24T11:00:00Z", "attendees": ["colleague@example.com"] }
3. Atualizar Evento:
{
"eventId": "event_id",
"summary": "Updated Meeting Title",
"location": "Virtual",
"start": "2024-01-24T11:00:00Z",
"end": "2024-01-24T12:00:00Z"
}
4. Excluir Evento:
{
"eventId": "event_id"
}
Solução de Problemas
-
Problemas de Autenticação:
- Garanta que todos os escopos OAuth necessários sejam concedidos
- Verifique se o client ID e o secret estão corretos
- Verifique se o refresh token é válido
-
Erros de API:
- Verifique o Google Cloud Console para cotas e limites da API
- Garanta que as APIs estejam ativadas para o seu projeto
- Verifique se os parâmetros da solicitação correspondem ao formato exigido
Licença
Este projeto é licenciado sob a Licença MIT.