Microsoft 365 mail MCP: reads mail, drafts into Outlook; sending is opt-in (IRIS_ENABLE_SEND).
Connect Runs on your machine
claude mcp add iris -e IRIS_CLIENT_ID=<IRIS_CLIENT_ID> -e IRIS_TENANT_ID=<IRIS_TENANT_ID> -e IRIS_DRAFT_FOLDER=<IRIS_DRAFT_FOLDER> -e IRIS_ALLOWLIST=<IRIS_ALLOWLIST> -e IRIS_DISABLE_READ=<IRIS_DISABLE_READ> -e IRIS_ENABLE_SEND=<IRIS_ENABLE_SEND> -- uvx iris-mcp==0.3.0
{
"mcpServers": {
"iris": {
"command": "uvx",
"args": [
"iris-mcp==0.3.0"
],
"env": {
"IRIS_CLIENT_ID": "<IRIS_CLIENT_ID>",
"IRIS_TENANT_ID": "<IRIS_TENANT_ID>",
"IRIS_DRAFT_FOLDER": "<IRIS_DRAFT_FOLDER>",
"IRIS_ALLOWLIST": "<IRIS_ALLOWLIST>",
"IRIS_DISABLE_READ": "<IRIS_DISABLE_READ>",
"IRIS_ENABLE_SEND": "<IRIS_ENABLE_SEND>"
}
}
}
}
{
"mcpServers": {
"iris": {
"command": "uvx",
"args": [
"iris-mcp==0.3.0"
],
"env": {
"IRIS_CLIENT_ID": "<IRIS_CLIENT_ID>",
"IRIS_TENANT_ID": "<IRIS_TENANT_ID>",
"IRIS_DRAFT_FOLDER": "<IRIS_DRAFT_FOLDER>",
"IRIS_ALLOWLIST": "<IRIS_ALLOWLIST>",
"IRIS_DISABLE_READ": "<IRIS_DISABLE_READ>",
"IRIS_ENABLE_SEND": "<IRIS_ENABLE_SEND>"
}
}
}
}
{
"servers": {
"iris": {
"type": "stdio",
"command": "uvx",
"args": [
"iris-mcp==0.3.0"
],
"env": {
"IRIS_CLIENT_ID": "<IRIS_CLIENT_ID>",
"IRIS_TENANT_ID": "<IRIS_TENANT_ID>",
"IRIS_DRAFT_FOLDER": "<IRIS_DRAFT_FOLDER>",
"IRIS_ALLOWLIST": "<IRIS_ALLOWLIST>",
"IRIS_DISABLE_READ": "<IRIS_DISABLE_READ>",
"IRIS_ENABLE_SEND": "<IRIS_ENABLE_SEND>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
IRIS_CLIENT_IDRequired | Application (client) ID of YOUR OWN Entra app registration. There is no shared app; you register one. |
IRIS_TENANT_IDOptional | Directory (tenant) ID. Defaults to 'organizations'. |
IRIS_DRAFT_FOLDEROptional | Mail folder drafts are written to, created on first use. Defaults to 'AI Drafts'. Empty string uses Drafts. |
IRIS_ALLOWLISTOptional | Path to a recipient allowlist file. If absent or empty, all recipients are permitted. |
IRIS_DISABLE_READOptional | Set to '1' to unregister the read tools (list/search/get messages and threads) for a drafts-only surface. |
IRIS_ENABLE_SENDOptional | Set to '1' to enable sending. ALSO requires Mail.Send granted on the Entra app and a fresh sign-in. Off by default; when unset, iris cannot send and the send tool is not registered. |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 25 Sep 2026 |
| Last updated | 25 Sep 2026 |
| Registry name | io.github.SuperAngryMonkey/iris |
More communication servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
