SOTEKProject AssistantPart ofsotekzone.com
How-to

Prerequisite 4 — Email/IMAP MCP (only if you need email)

Only do this if you're actually installing an email-dependent feature

This is conditional, not something everyone needs. Only relevant if you're installing FTR-42 (Email Account Awareness & Signature Management) or another feature in this catalog that assumes a working email connector. If nothing you're installing touches email, skip this section entirely.

The server

nikolausm/imap-mcp-server, published to npm as imap-mcp-server. Run via npx, always-latest — not a manual clone or build, not a pinned version.

Step 1 — Add the server to Claude Desktop's config

Add this under mcpServers in claude_desktop_config.json:

"imap": {
    "command": "npx",
    "args": ["-y", "imap-mcp-server"],
    "env": { "IMAP_MCP_READ_ONLY": "true" }
}

IMAP_MCP_READ_ONLY: "true" is a real code-level restriction — with it set, only read/search/list tools get registered at all; nothing that sends, moves, deletes, or edits accounts is even exposed. Keep it on for initial testing; remove the env block entirely once the behavior is trusted, to get full read/write/send.

Always back up claude_desktop_config.json before editing it, and edit surgically

Read it as JSON, change only this one entry, write it back — never a blind full-file rewrite. This isn't optional caution: real, repeated config damage has come from skipping this discipline.

Same rule as Prerequisite 2's Step 5: if you're not comfortable hand-editing JSON, paste the whole file into a fresh Claude conversation and ask it to add just this one entry without touching or reordering anything else, then copy the result back.

Step 2 — Add email accounts

Run this in a terminal (PowerShell on Windows, any shell on Mac/Linux):

npx -p imap-mcp-server imap-setup

This opens a local browser-based setup wizard (localhost:3000) to enter account details, with provider presets, and a Test & Save step that verifies the IMAP/SMTP connection before saving.

The one thing to always decline in this wizard

It asks "Do you want to setup Claude Desktop integration? (y/N)" — always answer no. That feature does a blind, destructive full-file overwrite of claude_desktop_config.json instead of a merge (confirmed by direct testing, twice), and hardcodes a disposable, non-portable path instead of the npx -y form above.

Everything else in the wizard — View Accounts, Add New Account, Enter Credentials, Test & Save — only writes to a separate, safe file (see Step 3) and carries no risk.

The account name/identity you enter here (not the raw email address) is what gets used to refer to the account going forward.

Step 3 — Where things get stored

Windows-specific: Microsoft Store / MSIX installs of Claude Desktop

If Claude Desktop was installed via the Microsoft Store or an MSIX package (not the direct .exe installer), its real config doesn't live at the textbook %APPDATA%\Claude\ path — it's sandboxed to:

C:\Users\<you>\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json

This is documented, known Windows/MSIX behavior, not unique to this install. Any tool or script that naively writes to the plain %APPDATA%\Claude\ path — including the setup wizard above, if its Desktop-integration step were ever used — will create a stray, disconnected file there instead of touching the real one.

The fix: delete the stray plain-path folder (confirm first it holds nothing needed), then create a filesystem junction so the conventional path transparently is the real one, permanently — junctions are on-disk NTFS metadata, not a running process, so this survives reboots:

Remove-Item "$env:APPDATA\Claude" -Recurse -Force
New-Item -ItemType Junction -Path "$env:APPDATA\Claude" `
  -Target "C:\Users\<you>\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude"

Do this before ever touching the config by hand or by script on an MSIX-installed Desktop.

Step 4 — Verify

Restart Claude Desktop, then confirm with:

Can you list all my email accounts?

This is the same verification test any feature that depends on this connector (including FTR-42) uses to check it's actually working. It should return the account(s) you added in Step 2.

Known tool-surface gaps — carry these into any install

Confirmed missing from this server — not a read-only-mode restriction, genuinely not implemented at all: