Skip to main content
Glama
SuperAngryMonkey

iris

iris

Почтовый сервер Microsoft 365 для ИИ-агентов, которые не могут отправлять электронную почту.

Не «не будут». Не могут. iris запрашивает делегированную область Graph Mail.ReadWrite и никогда — Mail.Send. Токен доступа, которым он владеет, не имеет возможности передавать сообщения, поэтому ни промпт, ни джейлбрейк, ни ошибка в этом коде не могут заставить его отправить сообщение. Он сохраняет черновики в папку в вашем почтовом ящике. Вы открываете Outlook и нажимаете «Отправить».

В этом весь замысел. Всё остальное — детали.


Почему такая форма

Обычное опасение при предоставлении агенту доступа к вашему почтовому ящику — что он отправит что-то, чего вы не санкционировали: не тому адресату, с неверным тоном или потому что кто-то уговорил его это сделать. Обычный ответ — запрос подтверждения, который является защитным барьером: код, который спрашивает разрешение, а код можно обойти.

iris вместо этого устраняет саму возможность. Microsoft Graph отклонит попытку отправки, выполненную с этим токеном, потому что экран согласия, который вы одобрили, никогда не включал это разрешение. Граница безопасности принадлежит Microsoft, а не этой программе, и она сохраняется, даже если эта программа ошибается.

Компромисс реален: человек участвует в каждом сообщении по построению. Если вам нужна автономная отправка, iris — не тот инструмент.

Related MCP server: mcp-outlook-mail

Установка

uvx iris-mcp        # run without installing
pip install iris-mcp

Python 3.10+.

Настройка

Вы должны зарегистрировать собственное приложение Entra. Нет общей регистрации приложения и нет размещённого сервиса — iris общается напрямую с вашего компьютера в ваш тенант. Это осознанно: общее приложение означало бы доверие чужому client ID с доступом к вашей почте.

  1. Центр администрирования Entra → Регистрация приложенийНовая регистрация. Однотенантный вариант подходит. URI перенаправления не нужен.

  2. Аутентификация → Настройки → включите Разрешить публичные потоки клиента. Вход по коду устройства требует этого. Никакой секрет клиента нигде не используется.

  3. Разрешения API → Microsoft Graph → Делегированные → добавьте Mail.ReadWrite. Больше ничего не добавляйте. Не добавляйте Mail.Send — если он присутствует, гарантия выше недействительна.

  4. Скопируйте Application (client) ID и Directory (tenant) ID. Ни один из них не является секретом.

Затем добавьте iris в ваш MCP-клиент:

{
  "mcpServers": {
    "iris": {
      "command": "uvx",
      "args": ["iris-mcp"],
      "env": {
        "IRIS_CLIENT_ID": "<application client id>",
        "IRIS_TENANT_ID": "<directory tenant id>"
      }
    }
  }
}

Войдите один раз: вызовите iris_login, откройте URL, введите код, затем вызовите iris_login_finish. Кэш токенов записывается рядом с сервером, режим 600.

Инструменты

Инструмент

Что делает

iris_login

Начинает вход по коду устройства, возвращает URL и код

iris_login_finish

Завершает вход; безопасно вызывать повторно, пока вы вводите код

iris_auth_status

Кто авторизован, какие области и доступен ли Graph

iris_create_draft

Создаёт черновик (to/cc/bcc, тема, тело или HTML, необязательный reply-to)

iris_list_drafts

Список того, что ожидает в папке черновиков

iris_update_draft

Изменяет черновик на месте

iris_delete_draft

Удаляет черновик; требует confirm=true

Куда попадают черновики

В выделенную папку верхнего уровня, AI Drafts по умолчанию (IRIS_DRAFT_FOLDER). Она создаётся при первом использовании. Установите переменную в пустую строку, чтобы использовать обычную папку «Черновики».

Это настоящие черновики, и Outlook отправляет их обычным образом — но потому, что они находятся в собственной папке, они не отображаются в представлении «Черновики». В этом смысл: почта, написанная агентом, лежит где-то, куда вам нужно зайти и посмотреть, а не смешана с вашими собственными незавершёнными сообщениями.

Один нюанс, о котором стоит знать: createReply в Graph всегда сначала помещает ответ в «Черновики», поэтому iris перемещает его после, а перемещение присваивает новый идентификатор сообщения.

Другие элементы управления

  • Список разрешённых получателейrecipients.allow, по одному адресу или домену в строке. Отсутствует или пуст — значит, все получатели разрешены. Укажите IRIS_ALLOWLIST в другом месте, если предпочитаете.

  • Аварийный выключатель — создайте файл DISABLED рядом с сервером или установите IRIS_DISABLED=1, и каждый инструмент откажется работать.

  • Журнал аудита — каждый вызов добавляется в audit.log (IRIS_AUDIT_LOG).

Ограничения

Нет вложений. Нет общих или делегированных почтовых ящиков — только /me. Нет вложенности папок через parentFolderId. Вход — делегированный код устройства как публичный клиент, поэтому радиус поражения — ровно один почтовый ящик: ваш.

Безопасность

Гарантия отсутствия отправки, как проверить её самостоятельно и — что не менее важно — к чему iris может получить доступ с Mail.ReadWrite: см. SECURITY.md.

Лицензия

MIT — см. LICENSE.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with Microsoft 365 Outlook Mail, allowing email operations via natural language.
    10
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to manage Microsoft Outlook emails through the Microsoft Graph API, supporting operations like listing, reading, sending, and moving emails.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to read and manage Microsoft 365/Outlook email and calendar, with destructive actions (send email, create event) requiring human approval.
    8
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/SuperAngryMonkey/iris'

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