Outlook Mailbox Tidier MCP
A community-built MCP server that allows agents to tidy large Outlook or Hotmail mailboxes via the Microsoft Graph API. It supports bulk moves, folder-tree restructuring, and inbox rule management. Crucially, it is designed with safety in mind: it lacks send capabilities (writing drafts instead) and prevents permanent deletion by moving items to Deleted Items. It includes features like dry-run previews for bulk operations and a global write kill-switch.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Move entire folder subtrees with a single API call
- Read, create, and delete server-side inbox rules
- Bulk move messages by search with dry-run preview
- Mark messages as read in bulk operations
Source and maintenance
- Last repository push
- Latest release
- v0.2.7
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/ma2no4413/outlook-mcp:0.2.7
{
"transport": "stdio",
"identifier": "ghcr.io/ma2no4413/outlook-mcp:0.2.7",
"registryType": "oci",
"environmentVariables": [
{
"name": "OUTLOOK_CLIENT_ID",
"isRequired": true,
"description": "Application (client) ID from the Azure app registration. See docs/AZURE.en.md for how to obtain one."
},
{
"name": "OUTLOOK_TOKEN_CACHE",
"description": "Path to the token cache file. In Docker, point this at a mounted volume so the sign-in survives restarts. The file is the key to the mailbox; never bake it into an image."
},
{
"name": "OUTLOOK_TENANT",
"description": "common for personal and work/school accounts, consumers for personal Microsoft accounts only. Defaults to common."
},
{
"name": "OUTLOOK_READONLY",
"description": "Set to true to disable every write tool at once, leaving only search and read."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · repository · passed · metadata changed · updated
- · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"outlook-mailbox-tidier-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID=<YOUR_OUTLOOK_CLIENT_ID>",
"-e",
"OUTLOOK_TOKEN_CACHE=<YOUR_OUTLOOK_TOKEN_CACHE>",
"-e",
"OUTLOOK_TENANT=<YOUR_OUTLOOK_TENANT>",
"-e",
"OUTLOOK_READONLY=<YOUR_OUTLOOK_READONLY>",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<YOUR_OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<YOUR_OUTLOOK_TOKEN_CACHE>",
"OUTLOOK_TENANT": "<YOUR_OUTLOOK_TENANT>",
"OUTLOOK_READONLY": "<YOUR_OUTLOOK_READONLY>"
}
}
}
}Cline
{
"mcpServers": {
"outlook-mailbox-tidier-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID=<YOUR_OUTLOOK_CLIENT_ID>",
"-e",
"OUTLOOK_TOKEN_CACHE=<YOUR_OUTLOOK_TOKEN_CACHE>",
"-e",
"OUTLOOK_TENANT=<YOUR_OUTLOOK_TENANT>",
"-e",
"OUTLOOK_READONLY=<YOUR_OUTLOOK_READONLY>",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<YOUR_OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<YOUR_OUTLOOK_TOKEN_CACHE>",
"OUTLOOK_TENANT": "<YOUR_OUTLOOK_TENANT>",
"OUTLOOK_READONLY": "<YOUR_OUTLOOK_READONLY>"
}
}
}
}VS Code
{
"servers": {
"outlook-mailbox-tidier-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID=<YOUR_OUTLOOK_CLIENT_ID>",
"-e",
"OUTLOOK_TOKEN_CACHE=<YOUR_OUTLOOK_TOKEN_CACHE>",
"-e",
"OUTLOOK_TENANT=<YOUR_OUTLOOK_TENANT>",
"-e",
"OUTLOOK_READONLY=<YOUR_OUTLOOK_READONLY>",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<YOUR_OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<YOUR_OUTLOOK_TOKEN_CACHE>",
"OUTLOOK_TENANT": "<YOUR_OUTLOOK_TENANT>",
"OUTLOOK_READONLY": "<YOUR_OUTLOOK_READONLY>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"outlook-mailbox-tidier-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID=<YOUR_OUTLOOK_CLIENT_ID>",
"-e",
"OUTLOOK_TOKEN_CACHE=<YOUR_OUTLOOK_TOKEN_CACHE>",
"-e",
"OUTLOOK_TENANT=<YOUR_OUTLOOK_TENANT>",
"-e",
"OUTLOOK_READONLY=<YOUR_OUTLOOK_READONLY>",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<YOUR_OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<YOUR_OUTLOOK_TOKEN_CACHE>",
"OUTLOOK_TENANT": "<YOUR_OUTLOOK_TENANT>",
"OUTLOOK_READONLY": "<YOUR_OUTLOOK_READONLY>"
}
}
}
}Let your agent find its tools
Find servers like Outlook Mailbox Tidier MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.