io.github.SuperAngryMonkey/iris
Microsoft 365 mail MCP: reads mail, drafts into Outlook; sending is opt-in (IRIS_ENABLE_SEND).
The current version, v0.3.0, was published to the official MCP registry on 2026-09-25. It is distributed as iris-mcp on PyPI, filed under Email by this index, and declares 6 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using io.github.SuperAngryMonkey/iris in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.
mcpindex.integrity.descriptionpassINFOevidence“No hidden instructions”via static_description
- - Semantic screen only - the deterministic conformance probe has not run on this server
- - Confidence is reported but not yet calibrated (v1)
- - Screen reads the tool description, not the live behavior
- - advisory
- - registry description only no input schema
- - screen model 8b
- - Still current: the description we screened is unchanged, re-checked against the registry
Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.
Own this server? Test a description on the public screen → It is a separate check from the verdict above, so the two can differ.
That verdict was true at screening time (snapshot 2026-10-20).
Contracts can change after screening, with no version bump. The gate pins io.github.SuperAngryMonkey/iris’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
People vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.
[Independent trust record for io.github.SuperAngryMonkey/iris](https://mcpindex.ai/server/io-github-superangrymonkey-iris) - screening verdict, registry provenance, and contract drift monitoring.<a href="https://mcpindex.ai/server/io-github-superangrymonkey-iris">Independent trust record for io.github.SuperAngryMonkey/iris</a> - screening verdict, registry provenance, and contract drift monitoring.A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.
[](https://mcpindex.ai/server/io-github-superangrymonkey-iris)<a href="https://mcpindex.ai/server/io-github-superangrymonkey-iris"><img src="https://mcpindex.ai/api/v1/badge/io-github-superangrymonkey-iris" alt="mcpindex verdict" height="20" /></a>IRIS_CLIENT_IDApplication (client) ID of YOUR OWN Entra app registration. There is no shared app; you register one.
IRIS_TENANT_IDDirectory (tenant) ID. Defaults to 'organizations'.
IRIS_DRAFT_FOLDERMail folder drafts are written to, created on first use. Defaults to 'AI Drafts'. Empty string uses Drafts.
IRIS_ALLOWLISTPath to a recipient allowlist file. If absent or empty, all recipients are permitted.
IRIS_DISABLE_READSet to '1' to unregister the read tools (list/search/get messages and threads) for a drafts-only surface.
IRIS_ENABLE_SENDSet 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.
Search and enrich B2B companies and people: verified work emails, US phone numbers, job postings.
Find prospects, research them, and run email and LinkedIn outreach in your Oneprofile workspace.
Production IMAP & SMTP for Claude: multi-account email search, triage, send, and spam checks.