Provider-agnostic email MCP server for AI assistants
Project description
inbox-mcp
Provider-agnostic email MCP server for AI assistants. Connect any IMAP mailbox to Claude Desktop, Cursor, VS Code, or any MCP-compatible client.
Features
- 8 email tools: get_summary, list_messages, read_message, search, list_folders, mark_read, move_message, create_folder
- Provider auto-detection: Automatically configures Gmail, Outlook, GMX from your email address
- Any IMAP server: Works with any standard IMAP provider out of the box
- Read-only mode: Optional safety mode that disables all write operations
- Security-first: No delete operations exposed. Ever.
Quick Start
pip install inbox-mcp
Configuration
Set two environment variables:
export INBOX_MCP_EMAIL="you@gmail.com"
export INBOX_MCP_PASSWORD="your-app-password"
All Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
INBOX_MCP_EMAIL |
Yes | — | Your email address |
INBOX_MCP_PASSWORD |
Yes | — | Password or app password |
INBOX_MCP_HOST |
No | Auto-detected | IMAP server hostname |
INBOX_MCP_PORT |
No | 993 | IMAP port |
INBOX_MCP_PROVIDER |
No | Auto-detected | Force provider: gmail, outlook, gmx, generic |
INBOX_MCP_READ_ONLY |
No | false | Set to true to disable write operations |
Provider Auto-Detection
| Email Domain | Provider | IMAP Host |
|---|---|---|
| gmail.com, googlemail.com | gmail | imap.gmail.com |
| outlook.com, hotmail.com, live.com | outlook | outlook.office365.com |
| gmx.net, gmx.at, gmx.de, gmx.ch, gmx.com | gmx | imap.gmx.net |
| anything else | generic | imap.{domain} |
Gmail Setup
Gmail requires an App Password:
- Enable 2-Step Verification on your Google account
- Go to App Passwords
- Generate a password for "Mail"
- Use that as
INBOX_MCP_PASSWORD
Client Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"inbox": {
"command": "inbox-mcp",
"env": {
"INBOX_MCP_EMAIL": "you@gmail.com",
"INBOX_MCP_PASSWORD": "your-app-password"
}
}
}
}
Claude Code
claude mcp add -e INBOX_MCP_EMAIL=you@gmail.com -e INBOX_MCP_PASSWORD=your-app-password inbox inbox-mcp
Cursor / VS Code
Add to .cursor/mcp.json or .vscode/mcp.json:
{
"mcpServers": {
"inbox": {
"command": "inbox-mcp",
"env": {
"INBOX_MCP_EMAIL": "you@gmail.com",
"INBOX_MCP_PASSWORD": "your-app-password"
}
}
}
}
Running Directly
# As entry point
inbox-mcp
# As module
python -m inbox_mcp
Tools
| Tool | Description | Write? |
|---|---|---|
get_summary |
Inbox stats: total, unread, last 7 days | No |
list_messages |
List messages with filters (all, unread, today, week) | No |
read_message |
Full message body by sequence number | No |
search |
Search by subject or sender | No |
list_folders |
List all IMAP folders/labels | No |
mark_read |
Set messages as read | Yes |
move_message |
Move messages between folders | Yes |
create_folder |
Create a new IMAP folder | Yes |
Write tools are disabled when INBOX_MCP_READ_ONLY=true.
Multiple Accounts
Run multiple instances with different names:
{
"mcpServers": {
"work-email": {
"command": "inbox-mcp",
"env": {
"INBOX_MCP_EMAIL": "you@company.com",
"INBOX_MCP_PASSWORD": "work-password",
"INBOX_MCP_HOST": "mail.company.com"
}
},
"personal-email": {
"command": "inbox-mcp",
"env": {
"INBOX_MCP_EMAIL": "you@gmail.com",
"INBOX_MCP_PASSWORD": "gmail-app-password"
}
}
}
}
License
Dual-licensed:
- AGPL-3.0 — free for open-source use (see LICENSE)
- Commercial — for proprietary use (see LICENSE-COMMERCIAL)
If your project is open-source, you can use inbox-mcp under AGPL-3.0 at no cost. For proprietary/closed-source use, contact hello@breact.com for a commercial license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file inbox_mcp-1.0.0.tar.gz.
File metadata
- Download URL: inbox_mcp-1.0.0.tar.gz
- Upload date:
- Size: 25.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
789d72e6e9eccf794e82afe7c1c31581827f2a377b34e9ef766ebf78ab225356
|
|
| MD5 |
761b6004934b4b1a51bb662644981c91
|
|
| BLAKE2b-256 |
4ec456da3c35a614ba21189263aca37588012a64e31931be33bf826ac21e88c4
|
File details
Details for the file inbox_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: inbox_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 25.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8269bf2eb741b963588574d93ca62e6bd5bfe97a9970f975ade026408302661
|
|
| MD5 |
e3f72985c8ce8794b3038358a11b6b5c
|
|
| BLAKE2b-256 |
efa06cb8ed743bf7053f27cc358f79d7fb77edea140286bbfb67cb257e780707
|