biguxuzz/outlook-mcp-server
If you are the rightful owner of outlook-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Outlook MCP Server is a Model Context Protocol server that integrates with Microsoft Outlook to provide email management capabilities through a standardized interface.
Outlook MCP Server
A Model Context Protocol (MCP) server that provides access to Microsoft Outlook email functionality, allowing LLMs and other MCP clients to read, search, and manage emails through a standardized interface.
Features
- Folder Management: List available mail folders in your Outlook client
- Email Listing: Retrieve emails from specified time periods or date ranges
- Date Range Filtering: Filter emails by specific date ranges (supports YYYY-MM and YYYY-MM-DD formats)
- Email Search: Search emails by contact name, keywords, or phrases with OR operators
- Email Details: View complete email content, including attachments
- Email Composition: Create and send new emails
- Email Replies: Reply to existing emails
Prerequisites
- Windows operating system
- Python 3.10 or later
- Microsoft Outlook installed and configured with an active account
- Claude Desktop or another MCP-compatible client
Installation
- Clone or download this repository
- Install required dependencies:
pip install mcp>=1.2.0 pywin32>=305
- Configure Claude Desktop (or your preferred MCP client) to use this server
Configuration
Claude Desktop Configuration
Add the following to your MCP_client_config.json file:
{
"mcpServers": {
"outlook": {
"command": "python",
"args": ["Your path\\outlook_mcp_server_v2.py"],
"env": {}
}
}
}
Cursor Configuration
For Cursor IDE, add the following to your mcp.json file (usually located at ~/.cursor/mcp.json):
Important: First, start the server manually or use a process manager:
python outlook_mcp_server_v2.py
Then add this configuration to your mcp.json:
{
"mcpServers": {
"outlook_mcp_server": {
"url": "http://127.0.0.1:8050/mcp",
"connection_id": "outlook_mcp_server"
}
}
}
Note: Make sure the server is running before Cursor tries to connect. The server must be started with HTTP transport enabled (default).
Usage
Starting the Server
You can start the server directly:
python outlook_mcp_server_v2.py
Or allow an MCP client like Claude Desktop to start it via the configuration.
Environment Variables (Optional)
The server supports the following environment variables for HTTP transport configuration:
MCP_TRANSPORT: Transport type (default: "streamablehttp")MCP_HTTP_HOST: HTTP host (default: "127.0.0.1")MCP_HTTP_PORT: HTTP port (default: 8050)MCP_HTTP_PATH: HTTP path (default: "/mcp")
Available Tools
The server provides the following tools:
list_folders: Lists all available mail folders in Outlooklist_recent_emails: Lists email titles from the specified number of days or date range- Supports date filtering with
start_dateandend_dateparameters - Date formats:
YYYY-MM(entire month) orYYYY-MM-DD(specific day)
- Supports date filtering with
search_emails: Searches emails by contact name or keyword within a time period or date range- Supports date filtering with
start_dateandend_dateparameters - Date formats:
YYYY-MM(entire month) orYYYY-MM-DD(specific day)
- Supports date filtering with
get_email_by_number: Retrieves detailed content of a specific emailreply_to_email_by_number: Replies to a specific emailcompose_email: Creates and sends a new email
Example Workflow
- Use
list_foldersto see all available mail folders - Use
list_recent_emailsto view recent emails (e.g., from last 7 days, or from a specific date range) - Use
search_emailsto find specific emails by keywords within a date range - Use
get_email_by_numberto view a complete email - Use
reply_to_email_by_numberto respond to an email
Examples
Listing Recent Emails
Could you show me my unread emails from the last 3 days?
Listing Emails by Date Range
Show me all emails from January 2024 (2024-01)
List emails from 2024-01-15 to 2024-02-20
Show me emails since 2024-03-01
Searching for Emails
Search for emails about "project update OR meeting notes" in the last week
Searching Emails by Date Range
Search for emails containing "budget" from 2024-01 to 2024-02
Find emails about "meeting" from 2024-01-15 to 2024-01-31
Reading Email Details
Show me the details of email #2 from the list
Replying to an Email
Reply to email #3 with: "Thanks for the information. I'll review this and get back to you tomorrow."
Composing a New Email
Send an email to john.doe@example.com with subject "Meeting Agenda" and body "Here's the agenda for our upcoming meeting..."
Troubleshooting
- Connection Issues: Ensure Outlook is running and properly configured
- Permission Errors: Make sure the script has permission to access Outlook
- Search Problems: For complex searches, try using OR operators between terms
- Email Access Errors: Check if the email ID is valid and accessible
- Server Crashes: Check Outlook's connection and stability
Security Considerations
This server has access to your Outlook email account and can read, send, and manage emails. Use it only with trusted MCP clients and in secure environments.
Limitations
- Currently supports text emails only (not HTML)
- Maximum email history is limited to 365 days when using
daysparameter - Date range filtering supports formats:
YYYY-MM(entire month) andYYYY-MM-DD(specific day) - Search capabilities depend on Outlook's built-in search functionality
- Only supports basic email functions (no calendar, contacts, etc.)
Outlook MCP Server (Русский язык)
Сервер Model Context Protocol (MCP), предоставляющий доступ к функциональности электронной почты Microsoft Outlook, позволяющий LLM и другим MCP-клиентам читать, искать и управлять письмами через стандартизированный интерфейс.
Возможности
- Управление папками: Просмотр всех доступных почтовых папок в Outlook
- Список писем: Получение писем за указанный период времени или диапазон дат
- Фильтрация по диапазону дат: Фильтрация писем по конкретным диапазонам дат (поддерживаются форматы YYYY-MM и YYYY-MM-DD)
- Поиск писем: Поиск писем по имени контакта, ключевым словам или фразам с операторами OR
- Детали письма: Просмотр полного содержимого письма, включая вложения
- Создание писем: Создание и отправка новых писем
- Ответы на письма: Ответ на существующие письма
Требования
- Операционная система Windows
- Python 3.10 или новее
- Установленный и настроенный Microsoft Outlook с активной учетной записью
- Claude Desktop или другой MCP-совместимый клиент
Установка
- Клонируйте или скачайте этот репозиторий
- Установите необходимые зависимости:
pip install mcp>=1.2.0 pywin32>=305
- Настройте Claude Desktop (или ваш предпочитаемый MCP-клиент) для использования этого сервера
Конфигурация
Конфигурация Claude Desktop
Добавьте следующее в ваш файл MCP_client_config.json:
{
"mcpServers": {
"outlook": {
"command": "python",
"args": ["Ваш путь\\outlook_mcp_server_v2.py"],
"env": {}
}
}
}
Конфигурация Cursor
Для Cursor IDE добавьте следующее в ваш файл mcp.json (обычно находится в ~/.cursor/mcp.json):
Важно: Сначала запустите сервер вручную или используйте менеджер процессов:
python outlook_mcp_server_v2.py
Затем добавьте эту конфигурацию в ваш mcp.json:
{
"mcpServers": {
"outlook_mcp_server": {
"url": "http://127.0.0.1:8050/mcp",
"connection_id": "outlook_mcp_server"
}
}
}
Примечание: Убедитесь, что сервер запущен перед тем, как Cursor попытается подключиться. Сервер должен быть запущен с включенным HTTP транспортом (по умолчанию).
Использование
Запуск сервера
Вы можете запустить сервер напрямую:
python outlook_mcp_server_v2.py
Или позволить MCP-клиенту, такому как Claude Desktop, запустить его через конфигурацию.
Переменные окружения (опционально)
Сервер поддерживает следующие переменные окружения для настройки HTTP транспорта:
MCP_TRANSPORT: Тип транспорта (по умолчанию: "streamablehttp")MCP_HTTP_HOST: HTTP хост (по умолчанию: "127.0.0.1")MCP_HTTP_PORT: HTTP порт (по умолчанию: 8050)MCP_HTTP_PATH: HTTP путь (по умолчанию: "/mcp")
Доступные инструменты
Сервер предоставляет следующие инструменты:
list_folders: Список всех доступных почтовых папок в Outlooklist_recent_emails: Список заголовков писем за указанное количество дней или диапазон дат- Поддерживает фильтрацию по датам с параметрами
start_dateиend_date - Форматы дат:
YYYY-MM(весь месяц) илиYYYY-MM-DD(конкретный день)
- Поддерживает фильтрацию по датам с параметрами
search_emails: Поиск писем по имени контакта или ключевому слову в пределах периода времени или диапазона дат- Поддерживает фильтрацию по датам с параметрами
start_dateиend_date - Форматы дат:
YYYY-MM(весь месяц) илиYYYY-MM-DD(конкретный день)
- Поддерживает фильтрацию по датам с параметрами
get_email_by_number: Получение подробного содержимого конкретного письмаreply_to_email_by_number: Ответ на конкретное письмоcompose_email: Создание и отправка нового письма
Примерный рабочий процесс
- Используйте
list_foldersдля просмотра всех доступных почтовых папок - Используйте
list_recent_emailsдля просмотра недавних писем (например, за последние 7 дней или за конкретный диапазон дат) - Используйте
search_emailsдля поиска конкретных писем по ключевым словам в пределах диапазона дат - Используйте
get_email_by_numberдля просмотра полного письма - Используйте
reply_to_email_by_numberдля ответа на письмо
Примеры
Просмотр недавних писем
Покажи мне непрочитанные письма за последние 3 дня
Просмотр писем по диапазону дат
Покажи мне все письма за январь 2024 года (2024-01)
Покажи письма с 2024-01-15 по 2024-02-20
Покажи письма с 2024-03-01
Поиск писем
Найди письма о "обновление проекта OR заметки встречи" за последнюю неделю
Поиск писем по диапазону дат
Найди письма содержащие "бюджет" с 2024-01 по 2024-02
Найди письма о "встрече" с 2024-01-15 по 2024-01-31
Просмотр деталей письма
Покажи мне детали письма №2 из списка
Ответ на письмо
Ответь на письмо №3: "Спасибо за информацию. Я изучу это и отвечу завтра."
Создание нового письма
Отправь письмо на john.doe@example.com с темой "Повестка встречи" и текстом "Вот повестка дня для нашей предстоящей встречи..."
Решение проблем
- Проблемы с подключением: Убедитесь, что Outlook запущен и правильно настроен
- Ошибки прав доступа: Убедитесь, что скрипт имеет разрешение на доступ к Outlook
- Проблемы с поиском: Для сложных запросов попробуйте использовать операторы OR между терминами
- Ошибки доступа к письмам: Проверьте, что ID письма действителен и доступен
- Сбои сервера: Проверьте подключение и стабильность Outlook
Вопросы безопасности
Этот сервер имеет доступ к вашей учетной записи Outlook и может читать, отправлять и управлять письмами. Используйте его только с доверенными MCP-клиентами и в безопасных средах.
Ограничения
- В настоящее время поддерживаются только текстовые письма (не HTML)
- Максимальная история писем ограничена 365 днями при использовании параметра
days - Фильтрация по диапазону дат поддерживает форматы:
YYYY-MM(весь месяц) иYYYY-MM-DD(конкретный день) - Возможности поиска зависят от встроенной функциональности поиска Outlook
- Поддерживаются только базовые функции электронной почты (без календаря, контактов и т.д.)