Servidor MCP de Google Workspace
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para interactuar con las API de Gmail y Calendario. Este servidor permite gestionar los correos electrónicos y eventos del calendario mediante programación a través de la interfaz MCP.
Características
Herramientas de Gmail
list_emails: enumera los correos electrónicos recientes de tu bandeja de entrada con filtrado opcionalsearch_emails: Búsqueda avanzada de correo electrónico con sintaxis de consulta de Gmailsend_email: Envía nuevos correos electrónicos con soporte para CC y CCOmodify_email: Modificar las etiquetas de correo electrónico (archivar, papelera, marcar como leído/no leído)
Herramientas de calendario
list_events: enumera los próximos eventos del calendario con filtrado de rango de fechascreate_event: Crea nuevos eventos de calendario con asistentesupdate_event: Actualizar los eventos del calendario existentesdelete_event: Eliminar eventos del calendario
Related MCP server: Gmail MCP Server
Prerrequisitos
Node.js : Instale Node.js versión 14 o superior
Configuración de la consola de Google Cloud :
Crea un nuevo proyecto o selecciona uno existente
Habilitar la API de Gmail y la API de Google Calendar:
Vaya a "API y servicios" > "Biblioteca".
Busque y habilite "API de Gmail"
Busque y habilite "API de Google Calendar"
Configurar las credenciales de OAuth 2.0:
Vaya a "API y servicios" > "Credenciales".
Haga clic en "Crear credenciales" > "ID de cliente OAuth".
Seleccione "Aplicación web"
Establezca "URI de redireccionamiento autorizado" para incluir:
http://localhost:4100/codeAnote el ID del cliente y el secreto del cliente
Instrucciones de configuración
Instalación mediante herrería
Para instalar gsuite-mcp para Claude Desktop automáticamente a través de Smithery :
Instalación manual
Clonar e instalar :
git clone https://github.com/epaproditus/google-workspace-mcp-server.git cd google-workspace-mcp-server npm installCrear credenciales de OAuth : cree un archivo
credentials.jsonen el directorio raíz:{ "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" } }Obtener token de actualización :
node get-refresh-token.jsEsto hará lo siguiente:
Abra su navegador para la autenticación de Google OAuth
Solicitar los siguientes permisos:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/gmail.send
Guarde las credenciales en
token.jsonMostrar el token de actualización en la consola
Configurar los ajustes de MCP : agregue la configuración del servidor a su archivo de configuración de MCP:
Para la extensión Claude de VSCode:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonPara la aplicación de escritorio de Claude:
~/Library/Application Support/Claude/claude_desktop_config.json
Agregue esto al 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" } } } }Construir y ejecutar :
npm run build
Ejemplos de uso
Operaciones de Gmail
Lista de correos electrónicos recientes :
{ "maxResults": 5, "query": "is:unread" }Buscar correos electrónicos :
{ "query": "from:example@gmail.com has:attachment", "maxResults": 10 }Enviar correo electrónico :
{ "to": "recipient@example.com", "subject": "Hello", "body": "Message content", "cc": "cc@example.com", "bcc": "bcc@example.com" }Modificar correo electrónico :
{ "id": "message_id", "addLabels": ["UNREAD"], "removeLabels": ["INBOX"] }
Operaciones del calendario
Lista de eventos :
{ "maxResults": 10, "timeMin": "2024-01-01T00:00:00Z", "timeMax": "2024-12-31T23:59:59Z" }Crear 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"] }Evento de actualización :
{ "eventId": "event_id", "summary": "Updated Meeting Title", "location": "Virtual", "start": "2024-01-24T11:00:00Z", "end": "2024-01-24T12:00:00Z" }Eliminar evento :
{ "eventId": "event_id" }
Solución de problemas
Problemas de autenticación :
Asegúrese de que se concedan todos los ámbitos OAuth necesarios
Verifique que el ID del cliente y el secreto sean correctos
Comprobar si el token de actualización es válido
Errores de API :
Consulta Google Cloud Console para conocer las cuotas y los límites de la API
Asegúrese de que las API estén habilitadas para su proyecto
Verificar que los parámetros de la solicitud coincidan con el formato requerido
Licencia
Este proyecto está licenciado bajo la licencia MIT.