MCP server for tidying a large Outlook / Hotmail mailbox via Microsoft Graph. Bulk moves, folder-tree surgery, inbox rules — no send tool, no permanent delete.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add outlook-mailbox-tidier --env OUTLOOK_CLIENT_ID='<OUTLOOK_CLIENT_ID>' --env OUTLOOK_TOKEN_CACHE='<OUTLOOK_TOKEN_CACHE>' -- docker run -i --rm -e OUTLOOK_CLIENT_ID -e OUTLOOK_TOKEN_CACHE ghcr.io/ma2no4413/outlook-mcp:0.2.7~/.codex/config.toml
[mcp_servers.outlook-mailbox-tidier]
command = "docker"
args = ["run", "-i", "--rm", "-e", "OUTLOOK_CLIENT_ID", "-e", "OUTLOOK_TOKEN_CACHE", "ghcr.io/ma2no4413/outlook-mcp:0.2.7"]
env = { OUTLOOK_CLIENT_ID = "<OUTLOOK_CLIENT_ID>", OUTLOOK_TOKEN_CACHE = "<OUTLOOK_TOKEN_CACHE>" }
# codex mcp add outlook-mailbox-tidier --env OUTLOOK_CLIENT_ID='<OUTLOOK_CLIENT_ID>' --env OUTLOOK_TOKEN_CACHE='<OUTLOOK_TOKEN_CACHE>' -- docker run -i --rm -e OUTLOOK_CLIENT_ID -e OUTLOOK_TOKEN_CACHE ghcr.io/ma2no4413/outlook-mcp:0.2.7~/.cursor/mcp.json
{
"mcpServers": {
"outlook-mailbox-tidier": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID",
"-e",
"OUTLOOK_TOKEN_CACHE",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<OUTLOOK_TOKEN_CACHE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"outlook-mailbox-tidier": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID",
"-e",
"OUTLOOK_TOKEN_CACHE",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<OUTLOOK_TOKEN_CACHE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"outlook-mailbox-tidier": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID",
"-e",
"OUTLOOK_TOKEN_CACHE",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<OUTLOOK_TOKEN_CACHE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"outlook-mailbox-tidier": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID",
"-e",
"OUTLOOK_TOKEN_CACHE",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<OUTLOOK_TOKEN_CACHE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"outlook-mailbox-tidier": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OUTLOOK_CLIENT_ID",
"-e",
"OUTLOOK_TOKEN_CACHE",
"ghcr.io/ma2no4413/outlook-mcp:0.2.7"
],
"env": {
"OUTLOOK_CLIENT_ID": "<OUTLOOK_CLIENT_ID>",
"OUTLOOK_TOKEN_CACHE": "<OUTLOOK_TOKEN_CACHE>"
}
}
}
}Environment variables
OUTLOOK_CLIENT_IDOUTLOOK_TOKEN_CACHE
Replace the placeholders with your own credentials and keep them out of version control.