Skip to main content
Glama

Servidor MCP de Outlook

Este proyecto es un servidor MCP que le brinda a Claude Desktop acceso a su correo, calendario y (próximamente) archivos de Microsoft 365 mediante la API de Microsoft Graph.


✨ Características

  • Acceso al correo : redacte, responda, ordene, busque, filtre y analice su bandeja de entrada desde Claude o cualquier agente compatible con MCP

  • 🔜 Soporte de calendario : Listar por fecha, Redactar, Eliminar correos (próximamente: UpdateMail, Buscar)

  • Compatibilidad con OneDrive : posible dirección futura después de que el correo y el calendario sean robustos


Related MCP server: Mailmodo

🧱 Pila tecnológica

  • msgraph (SDK de Microsoft Graph moderno)

  • azure.identity con DeviceCodeCredential y TokenCachePersistenceOptions

  • FastMCP : interfaz de servidor sencilla y compatible con MCP

  • uv — gestión rápida de dependencias y entornos de Python


⚙️ Requisitos

Actualmente está diseñado para:

  • Ejecutar localmente en macOS

  • Se puede utilizar con Claude Desktop

  • Autenticarse mediante una aplicación registrada en Azure

⚠️ Debe tener acceso de administrador a un inquilino de Azure para configurar esto: el registro de la aplicación requiere el consentimiento para los ámbitos de Microsoft Graph (por ejemplo, Mail.Read , Calendars.Read ), que no requieren el consentimiento del usuario de manera predeterminada en la mayoría de las organizaciones.


🚀 Primeros pasos

# Set up the environment
uv venv
uv pip install -r uv.lock

# Run locally using MCP Inspector
mcp dev main.py (expect errors)

Es mucho más fácil hacer que las cosas funcionen en el Inspector antes de intentar depurar en Claude.


🔐 Configuración de autenticación

Antes de ejecutar la aplicación, debe configurar lo siguiente:

  1. Cree una carpeta auth_cache en la raíz del proyecto (ver nota):

mkdir -p auth_cache
  1. Crea un archivo .env en la raíz del proyecto

touch .env
  1. Agregue lo siguiente al .env:

echo "AZURE_CLIENT_ID=<your-id-from-Azure-portal-here>" > .env
echo "AZURE_TENANT_ID=<your-id-from-Azure-portal-here>" >> .env
echo "AZURE_GRAPH_SCOPES=User.Read Mail.Read Mail.Send Mail.ReadWrite" >> .env

NOTA: En la primera ejecución, la aplicación se autenticará utilizando el flujo DeviceCodeCredential y creará auth_record.json en la carpeta auth_cache automáticamente si tiene éxito.

Debe tener acceso de administrador a un inquilino de Azure para registrar una aplicación con estos permisos.


Claude para integración de escritorio

Para integrar con Claude Desktop, agregue esto a su claude_desktop_config.json:

{
  "mcpServers": {
    "outlook": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "azure-identity,mcp[cli],msgraph-core,msgraph-sdk",
        "mcp",
        "run",
        "/absolute/path/to/OutlookMCPServer"
      ]
    }
  }
}

En Claude Desktop, puedes encontrar el archivo json buscando en Configuración/Desarrollador/Editar configuración.

NOTA: Es posible que tengas que reemplazar "uv" con una referencia absoluta en "comando"

Reinicie Claude Desktop cada vez que realice un cambio en la configuración o en el código del servidor.


📦 Estructura de carpetas

.
├── README.md
├── main.py
├── settings.py
├── auth_cache/
│   └── auth_record.json
├── mcpserver/
│   └── graph/
│       ├── __init__.py
│       ├── calendar_service.py
│       ├── controller.py
│       ├── mail_service.py
│   ├── __init__.py
│   ├── auth_wrapper.py
│   ├── context_manager.py
│   ├── mail_query.py
│   ├── message_info.py
│   └── server.py
├── tests/
├── .env
├── __init__.py
├── main.py

📌 Hoja de ruta

  • Integración de correo (HECHO)

  • Autenticación en Claude Desktop (HECHO)

  • Integración de calendario (CORE DONE)

  • Integración opcional con OneDrive

  • Compatibilidad con Windows


📄 Licencia

Instituto Tecnológico de Massachusetts (MIT)

Copyright (c) 2024 Enthoosa AI

Por la presente se concede permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricción, incluyendo, sin limitación, los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones:

El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SURJA DE, SE DERIVE DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS RELACIONES CON EL MISMO.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

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/Norcim133/OutlookMCPServer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server