Graph Mail MCP
Graph Mail MCP
Un servidor local Model Context Protocol de stdio para el correo de Microsoft 365. Proporciona flujos controlados de búsqueda, lectura, hilos, adjuntos y borradores de Outlook/Exchange Online a través de Microsoft Graph.
Nunca envía, elimina, mueve, copia, archiva ni marca mensajes como leídos. No se exponen URL sin procesar de Graph, OData sin procesar ni solicitudes Graph sin restricciones.
Requisitos
Windows con Microsoft Edge
Node.js 22+
Una cuenta de Microsoft 365 de trabajo o centro educativo con Exchange Online
Permiso delegado
Mail.ReadWrite
Las cuentas personales de Microsoft están deshabilitadas por defecto. Los buzones compartidos requieren además delegación de Exchange y Mail.ReadWrite.Shared.
Instalación
git clone https://github.com/hanhandly/graph-mail-mcp.git
Set-Location graph-mail-mcp
npm ci
npm run build
Copy-Item config.example.json config.local.jsonGit ignora config.local.json. Revísalo antes de la autenticación, especialmente tenant, allowedMailboxScopes y la configuración de buzones compartidos.
Autenticación
node dist\cli.js -c config.local.json doctor
node dist\cli.js -c config.local.json auth login --account-hint user@contoso.com
node dist\cli.js -c config.local.json auth statusEl inicio de sesión abre un perfil aislado de Microsoft Edge y usa Graph Explorer para la autenticación delegada. Playwright hace clic en Iniciar sesión, selecciona la cuenta sugerida y comprueba si el permiso de correo requerido ya está consentido. Si lo está, la autenticación continúa automáticamente; de lo contrario, la CLI indica al usuario qué permiso debe concederse. Playwright nunca hace clic en Consentir. El MFA y la confirmación de consentimiento siguen bajo control del usuario. auth status devuelve solo metadatos y nunca muestra el token.
Configurar un cliente MCP
Usa rutas absolutas en la configuración MCP del cliente:
{
"mcpServers": {
"graph-mail": {
"command": "node",
"args": [
"C:\\Tools\\graph-mail-mcp\\dist\\cli.js",
"-c",
"C:\\Tools\\graph-mail-mcp\\config.local.json",
"serve"
],
"cwd": "C:\\Tools\\graph-mail-mcp"
}
}
}Algunos clientes usan una clave externa distinta, pero los valores de command, args y cwd son los mismos. Mantén -c <config-path> antes de serve. El servidor usa stdio y no abre un puerto de red.
Reinicia el cliente MCP y luego llama a:
mail_auth_statusmail_list_foldersmail_search_messages
Herramientas
Área | Herramientas |
Autenticación y carpetas |
|
Búsqueda y lectura |
|
Adjuntos |
|
Borradores gestionados |
|
Las actualizaciones de borradores se limitan a los borradores creados y registrados por este MCP. No hay herramienta de envío.
Seguridad
El transporte de Graph usa un firewall de políticas de denegación por defecto y un compilador de solicitudes tipadas. Los tokens se almacenan fuera del repositorio y están protegidos con DPAPI de Windows por defecto. Los registros y las respuestas de las herramientas no deben exponer tokens de acceso, cookies ni encabezados de autorización.
Graph Explorer puede devolver permisos previamente consentidos a su aplicación compartida. El servidor rechaza Mail.Send y restringe las solicitudes en tiempo de ejecución, pero las implementaciones que requieran un token de privilegios mínimos estrictos deben usar un registro de aplicación dedicado o un proveedor de autenticación restringido.
Consulta Seguridad, Referencia de herramientas, Ejemplo de configuración y Arquitectura.# Graph Mail MCP
Un servidor local Model Context Protocol de stdio para el correo de Microsoft 365. Proporciona flujos de trabajo controlados de búsqueda, lectura, hilos, adjuntos y borradores de Outlook/Exchange Online a través de Microsoft Graph.
Nunca envía, elimina, mueve, copia, archiva ni marca mensajes como leídos. No se exponen URL sin procesar de Graph, OData sin procesar ni solicitudes Graph sin restricciones.
Requisitos
Windows con Microsoft Edge
Node.js 22+
Una cuenta de Microsoft 365 de trabajo o centro educativo con Exchange Online
Permiso delegado
Mail.ReadWrite
Las cuentas personales de Microsoft están deshabilitadas por defecto. Los buzones compartidos requieren además delegación de Exchange y Mail.ReadWrite.Shared.
Instalación
git clone https://github.com/hanhandly/graph-mail-mcp.git
Set-Location graph-mail-mcp
npm ci
npm run build
Copy-Item config.example.json config.local.jsonGit ignora config.local.json. Revísalo antes de la autenticación, especialmente tenant, allowedMailboxScopes y la configuración de buzones compartidos.
Autenticación
node dist\cli.js -c config.local.json doctor
node dist\cli.js -c config.local.json auth login --account-hint user@contoso.com
node dist\cli.js -c config.local.json auth statusEl inicio de sesión abre un perfil aislado de Microsoft Edge y usa Graph Explorer para la autenticación delegada. Playwright hace clic en Iniciar sesión, selecciona la cuenta sugerida y comprueba si el permiso de correo requerido ya está consentido. Si lo está, la autenticación continúa automáticamente; de lo contrario, el CLI indica al usuario qué permiso debe concederse. Playwright nunca hace clic en Consentir. El MFA y la confirmación de consentimiento siguen bajo control del usuario. auth status devuelve solo metadatos y nunca muestra el token.
Configurar un cliente MCP
Usa rutas absolutas en la configuración de MCP del cliente:
{
"mcpServers": {
"graph-mail": {
"command": "node",
"args": [
"C:\\Tools\\graph-mail-mcp\\dist\\cli.js",
"-c",
"C:\\Tools\\graph-mail-mcp\\config.local.json",
"serve"
],
"cwd": "C:\\Tools\\graph-mail-mcp"
}
}
}Algunos clientes usan una clave externa distinta, pero los valores de command, args y cwd son los mismos. Mantén -c <config-path> antes de serve. El servidor usa stdio y no abre un puerto de red.
Reinicia el cliente de MCP y luego llama a:
mail_auth_statusmail_list_foldersmail_search_messages
Herramientas
Área | Herramientas |
Autenticación y carpetas |
|
Búsqueda y lectura |
|
Adjuntos |
|
Borradores gestionados |
|
Las actualizaciones de borradores se limitan a los borradores creados y registrados por este MCP. No hay herramienta de envío.
Seguridad
El transporte de Graph usa un firewall de política de denegación por defecto y un compilador de solicitudes tipadas. Los tokens se almacenan fuera del repositorio y están protegidos con DPAPI de Windows por defecto. Los registros y las respuestas de las herramientas no deben exponer tokens de acceso, cookies ni encabezados de autorización.
Graph Explorer puede devolver permisos previamente consentidos a su aplicación compartida. El servidor rechaza Mail.Send y restringe las solicitudes en tiempo de ejecución, pero las implementaciones que requieran un token de privilegios mínimos estrictos deben usar un registro de aplicación dedicado o un proveedor de autenticación restringido.
Consulta Seguridad, Referencia de herramientas, Ejemplo de configuración y Arquitectura.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Manage Gmail messages, threads, labels, drafts, and settings from your workflows. Send and organiz…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hanhandly/graph-mail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server